+
    i/                        ^ RI HtHtHtHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHtHt ^ RIHtHtHt ^ RIHtHt ^ RIHtHtHtHt ^ RIHt ^ RIH t H!t! ^ RI"H#t# ^ R	I$H%t%H&t&H't'H(t(H)t)H*t* ^ R
I+H,t, ^ RI-H.t. ^ RI/H0t0H1t1H2t2 ^ RI3H4t4 ^ RI5H6t6H7t7H8t8H9t9 ^ RI:H;t;H<t< ^ RI=H>t> ^ RI?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtG ^ RIHHItIHJtJHKtKHLtLHMtM ^ RINHOtOHPtP ^ RIQHRtRHStSHTtTHUtUHVtV ^ RIWtWR tXR tYR tZR t[R t\R t]R t^R t_R t`R taR  tbR! tcR" tdR# teR$ tfR% tgR& thR' tiR( tjR) tkR* tl]RR+ 4       tm]RR, 4       tnR- to]VR. 4       tpR/ tq]RR0 4       trR1 tsR2 tt]VR3 4       tuR4 tv]VR5 4       twR6 txR7 tyR8 tzR9 t{R: t|]RR; 4       t}R< t~R= t]VR> 4       tR? tR@ tRA tRB t]VRC 4       tRD t]VRE 4       tRF tRG tRH tRI tRJ tRK tRL tRM tRN tRO tRP t]SRQ 4       tRR tRS tRT tRU tRV tRW tRX t]RRY 4       tRZ tR[ tR\ tR] tR^ tR_ tR` tRa tRb tR# )c    )
twxyznkmpi)askAssumptionsContextQregister_handlerremove_handler)assumingglobal_assumptions	Predicate)CNFLiteral)single_fact_lookupget_known_factsgenerate_known_facts_dictget_known_facts_keys)
AskHandler)get_all_known_factsget_known_facts_dict)Add)IIntegerRationaloozoopi)S)Pow)StrsymbolsSymbol)	factorial)Absimresign)explog)sqrt)acosacotasinatancoscotsintan)
EquivalentImpliesXorAndto_cnf)MatrixSparseMatrix)XFAILslowraiseswarns_deprecated_sympy_both_exp_powNc                     ^p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q hR# )   TFNr   r   commutativeintegerrationalrealcomplex
irrational	imaginarypositivenegativeevenoddfiniteprime	composite	hermitianantihermitianr   s    `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/assumptions/tests/test_query.py
test_int_1r[      s   	Aq}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q||A5(((q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=D   qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++    c                     ^p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q hR# )   TFNrH   rY   s    rZ   test_int_11r_   1   s   
Aq}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q||A5(((q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=D   qxx{t###qwwqz?d"""q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     ^p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q hR# )   TFNrH   rY   s    rZ   test_int_12rb   E   s   
Aq}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q||A5(((q{{1~%'''qzz!}%%%qzz!}&&&qvvay>T!!!quuQx=E!!!qxx{t###qwwqz?e###q{{1~$&&&q{{1~$&&&qq!"e+++r\   c                  	   R p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q hRp \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P                  ! \$        P&                  4      4      e   Q hR# )      ?TNFga+e@)r   r   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   mathr$   rY   s    rZ   test_float_1rf   Y   sv   Aq}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q||A'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>!!!quuQx=   qxx{t###qwwqz?"""q{{1~&&&q{{1~$&&&qq!"e+++Aq}}Q D(((qyy|%%%qzz!}%%%qvvay>T!!!qyy|$$$q||A'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++ qzz$''"#+++r\   c                     \        ^ 4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      RJ g   Q hR# )r   FTN)r    r   r   nonzerozerorI   rJ   rK   rL   rM   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_zero_0rj      s   
Aqyy|%%%qvvay>T!!!q}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q{{1~%'''qzz!}&&&qzz!}&&&qvvay>T!!!quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"d***r\   c                  P   \        R4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      RJ g   Q h\        \        P(                  ! V 4      4      RJ g   Q hR# )rG   TFN)r    r   r   rh   ri   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_negativeonerm      s   Aqyy|$$$qvvay>U"""q}}Q D(((qyy|$$$qzz!}%%%qvvay>T!!!qyy|$$$q||A5(((q{{1~%'''qzz!}&&&qzz!}%%%qvvay>U"""quuQx=D   qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     \        \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                   ! \        4      4      RJ g   Q h\        \        P"                  ! \        4      4      RJ g   Q h\        \        P$                  ! \        4      4      R J g   Q h\        \        P&                  ! \        4      4      RJ g   Q h\        \        P(                  ! \        4      4      RJ g   Q h\        \        P*                  ! \        4      4      RJ g   Q h\        \        P,                  ! \        4      4      RJ g   Q h\        \        P.                  ! \        4      4      R J g   Q h\        \        P0                  ! \        4      4      RJ g   Q hR# TFN)r   r   rI   r"   rJ   rK   	algebraicrL   extended_realrM   rN   rO   rP   extended_positiverQ   rR   rS   rT   infiniterU   rV   rW   rX   positive_infinitenegative_infinite r\   rZ   test_infinityrw      s^   q}}R !T)))qyy}&&&qzz"~%'''q{{25(((qvvbz?e###qr"#t+++qyy}&&&q||B E)))q{{25(((qzz"~%'''q""2&'4///qzz"~%'''qvvbz?e###quuRy>U"""qxx|%%%qzz"~$&&&qwwr{u$$$q{{25(((q{{25(((qr"#u,,,q""2&'4///q""2&'5000r\   c                     \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! \(        4      4      R J g   Q h\        \        P*                  ! V 4      4      RJ g   Q h\        \        P,                  ! V 4      4      RJ g   Q h\        \        P.                  ! V 4      4      RJ g   Q h\        \        P0                  ! V 4      4      RJ g   Q h\        \        P2                  ! \(        ) 4      4      RJ g   Q h\        \        P4                  ! \(        ) 4      4      R J g   Q hR# ro   )r%   NegativeInfinityr   r   rI   rJ   rK   rp   rL   rq   rM   rN   rO   rP   rQ   extended_negativerR   rS   rT   rs   r"   rU   rV   rW   rX   rt   ru   )mms    rZ   test_neg_infinityr|      sm   	
		Bq}}R !T)))qyy}&&&qzz"~%'''q{{25(((qvvbz?e###qr"#t+++qyy}&&&q||B E)))q{{25(((qzz"~%'''qzz"~%'''q""2&'4///qvvbz?e###quuRy>U"""qxx|%%%qzz"~$&&&qwwr{u$$$q{{25(((q{{25(((qr"#u,,,q""B3'(E111q""B3'(D000r\   c                  d   \        \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                   ! \        4      4      RJ g   Q h\        \        P"                  ! \        4      4      RJ g   Q h\        \        P$                  ! \        4      4      RJ g   Q h\        \        P&                  ! \        4      4      R J g   Q h\        \        P(                  ! \        4      4      RJ g   Q h\        \        P*                  ! \        4      4      RJ g   Q h\        \        P,                  ! \        4      4      RJ g   Q h\        \        P.                  ! \        4      4      RJ g   Q h\        \        P0                  ! \        4      4      RJ g   Q h\        \        P2                  ! \        4      4      RJ g   Q hR# ro   )r   r   rI   r#   rJ   rK   rp   rL   rq   rM   rN   rO   rP   rQ   ri   rh   rR   rS   rT   rs   rU   rV   rW   rX   rt   ru   rv   r\   rZ   test_complex_infinityr~      s|   q}}S!"d***qyy~%'''qzz#5(((q{{3 E)))qvvc{u$$$qs#$---qyy~%'''q||C !U***q{{3 E)))qzz#5(((qzz#5(((qvvc{u$$$qyy~%'''qvvc{u$$$quuSz?e###qxx}&&&qzz#4'''qwws|%%%q{{3 E)))q{{3 E)))qs#$---q""3'(E111q""3'(E111r\   c                     \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                   ! V 4      4      e   Q h\        \        P"                  ! V 4      4      e   Q h\        \        P$                  ! V 4      4      e   Q h\        \        P&                  ! V 4      4      e   Q h\        \        P(                  ! V 4      4      e   Q h\        \        P*                  ! V 4      4      e   Q h\        \        P,                  ! V 4      4      e   Q h\        \        P.                  ! V 4      4      e   Q hR# TN)r%   NaNr   r   rI   rJ   rK   rp   rL   rq   rM   rN   rO   rP   rh   ri   rR   rS   rT   rs   rU   rV   rW   rX   nans    rZ   test_nanr      s   
%%Cq}}S!"d***qyy~&&&qzz#'''q{{3 (((qvvc{###qs#$,,,qyy~&&&q||C !)))q{{3 (((qzz#'''qyy~&&&qvvc{###qvvc{###quuSz?"""qxx}%%%qzz#'''qwws|$$$q{{3 (((q{{3 (((qs#$,,,r\   c                  r	   \        ^^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        ^^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        ^^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        ^^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q hR# )   TFNrl   )r!   r   r   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   )rs    rZ   test_Rational_numberr     s   AAq}}Q D(((qyy|%%%qzz!}%%%qvvay>T!!!qyy|$$$q||A5(((q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++AAqzz!}%%%qzz!}&&&AAqzz!}&&&qzz!}%%%AAqzz!}%%%qzz!}&&&QAqzz!}&&&qzz!}%%%QAqzz!}&&&qzz!}%%%QAqzz!}%%%qzz!}&&&QAqzz!}&&&qzz!}%%%r\   c                     \        ^4      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q hR#    TFN)r1   r   r   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_sqrt_2r   B  s   QAq}}Q D(((qyy|%%%qzz!}&&&qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                  z   \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q h\         P                  ^,           p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q h^\         P                  ,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q h\         P                  ^,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q h^\         P                  ,           ^,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q hR# ro   )r%   Pir   r   rI   rJ   rK   rp   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_pir   V  s.	   	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~%'''qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++	qAq}}Q D(((qyy|%%%qzz!}&&&q{{1~%'''qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++	!$$Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~%'''qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++		Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~%'''qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++	
QTTaAq}}Q D(((qyy|%%%qzz!}&&&q{{1~&&&qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q hR# ro   )r%   Exp1r   r   rI   rJ   rK   rp   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_Er     s   	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~%'''qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q hR# ro   )r%   GoldenRatior   r   rI   rJ   rK   rp   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_GoldenRatior     s   	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~$&&&qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     \         P                  p \        \        P                  ! V 4      4      R J g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                   ! V 4      4      R J g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h\        \        P(                  ! V 4      4      RJ g   Q hR# ro   )r%   TribonacciConstantr   r   rI   rJ   rK   rp   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_TribonacciConstantr     s   	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~$&&&qvvay>T!!!qyy|$$$q||A4'''q{{1~%'''qzz!}%%%qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~$&&&qq!"e+++r\   c                     \         p \        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      R J g   Q h^\         ,           p \        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      RJ g   Q h\         ^\         ,           ,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\        \        P                   ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        \        P&                  ! V 4      4      RJ g   Q h\         \         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\         ) \         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h^\         ,          \         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h^\         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q hR\         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h^\         ,           \         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\         \         ^,           ,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h\         \         ^,           ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\         ^,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q h\         ^,          p \        \        P                  ! V 4      4      R J g   Q h\        \        P                  ! V 4      4      RJ g   Q h^\         ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\         ^ ,          p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      R J g   Q hR# )TFNrl   )r   r   r   rI   rJ   rK   rp   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s    rZ   test_Ir     sr   	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~$&&&qvvay>U"""qyy|$$$q||A5(((q{{1~$&&&qzz!}&&&qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~%'''qq!"d***	AAq}}Q D(((qyy|%%%qzz!}&&&q{{1~$&&&qvvay>U"""qyy|$$$q||A5(((q{{1~%'''qzz!}&&&qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~%'''qq!"e+++	1q5	Aq}}Q D(((qyy|%%%qzz!}&&&q{{1~$&&&qvvay>U"""qyy|$$$q||A5(((q{{1~%'''qzz!}&&&qzz!}&&&qvvay>U"""quuQx=E!!!qxx{t###qwwqz?e###q{{1~%'''q{{1~%'''qq!"e+++	AAq{{1~%'''qvvay>T!!!
q	Aq{{1~%'''qvvay>T!!!	
1
Aq{{1~%'''qvvay>U"""	
aAq{{1~%'''qvvay>T!!!	q	Aq{{1~%'''qvvay>T!!!	
1
Aq{{1~%'''qvvay>U"""	
ac
Aq{{1~$&&&qvvay>U"""	
ac
Aq{{1~%'''qvvay>T!!!	
aAq{{1~%'''qvvay>T!!!	
aAq{{1~$&&&qvvay>U"""	
aAq{{1~%'''qvvay>U"""	
aAq{{1~%'''qvvay>T!!!r\   c                     \        R 4      w  rpW,           pVP                  w  r\        \        P                  ! V4      \        P
                  ! V4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      \        P                  ! V4      4      e   Q h\        \        P                  ! V 4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V ^,           4      4      e   Q h\        \        P                  ! V ^,           4      \        P                  ! V 4      4      RJ g   Q hW,           pVP                  w  r\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V 4      ( ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4       e   Q h\        R 4      w  rpW,           V,           pVP                  w  rp\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P
                  ! V4      ,          \        P
                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P
                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P
                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P
                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! ^V ,          4      4      e   Q h\        \        P                  ! ^V ,          4      \        P                  ! V 4      4      RJ g   Q h\        R 4      w  rpW,          pVP                  w  r\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( 4      e   Q h\        \        P                  ! V4      4      e   Q hW,          V,          pVP                  w  rp\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V 4      ( ,          \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V 4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4      RJ g   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( \        P                  ! V4      ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V4      4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( 4      e   Q h\        \        P                  ! V4      \        P                  ! V4      ( \        P                  ! V 4      ,          \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          \        P                  ! V4      ( ,          \        P                  ! V4      ,          4      RJ g   Q h\        R 4      w  rp\        \        P                  ! V ^,          4      4      e   Q h\        \        P                  ! ^V ,          4      4      e   Q h\        \        P                  ! ^V ,          4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! W ,          4      4      e   Q h\        \        P                  ! \        P                   V ,          4      4      e   Q h\        \        P                  ! \        P                   V ,          4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! \        P                   V ,          4      \        P                  ! V 4      4      e   Q h\        \        P                  ! ^V ,          4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! \#        V 4      4      4      e   Q h\        \        P                  ! ^V ,          4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! V ^,          4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! W,          4      \        P$                  ! V 4      \        P$                  ! V4      ,          4      e   Q h\        \        P                  ! W,          4      \        P$                  ! V 4      \        P                  ! V4      ,          4      e   Q h\        \        P                  ! W,          4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! W,          4      \        P$                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! W,          4      \        P&                  ! V 4      \        P$                  ! V4      ,          4      RJ g   Q h\        \        P                  ! W,          4      \        P&                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! W,          4      \        P                  ! V 4      \        P                  ! V4      ,          4      RJ g   Q h\        \        P                  ! \)        V 4      4      4      RJ g   Q h\        \        P                  ! \)        V 4      4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! \+        V 4      4      4      e   Q h\        \        P                  ! \+        V 4      4      \        P                  ! V 4      4      e   Q h\        \        P                  ! \+        V 4      4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! \+        V 4      4      \        P,                  ! V 4      4      RJ g   Q h\        \        P                  ! \+        V 4      4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! \/        V 4      4      4      e   Q h\        \        P                  ! \/        V 4      4      \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! \/        ^4      4      4      RJ g   Q h\        \        P                  ! \1        V 4      4      4      RJ g   Q h\        \        P                  ! \1        V 4      4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! \3        V 4      4      4      RJ g   Q h\        \        P                  ! \3        V 4      4      \        P                  ! V 4      ( 4      RJ g   Q h\        \        P                  ! ^\1        V 4      ,          4      4      RJ g   Q h\        \        P                  ! \1        V 4      ^,          4      4      RJ g   Q h\        \        P                  ! \3        V 4      ^,          4      4      RJ g   Q h\        \        P                  ! \3        V 4      \1        V 4      ,           4      4      RJ g   Q hR# )zx,y,zNTF)r(   argsr   r   rT   rt   rM   rq   rP   rr   rQ   ru   rz   ri   extended_nonzeror%   Halfr1   rL   rh   r.   r0   rs   r/   r8   r6   r   r   r   as       rZ   test_boundedr   `  sMK   gGA!	A66DAqxx{A//23;;;qxx{###qxx{AHHQK(D000qxx{AHHQK(000qxx{AIIaL)T111qxx{AOOA./777qxxA'''qxxA,444	A66DAqxx{AHHQK!((1+56$>>>qxx{AJJqMAHHQK78D@@@qxx{AHHQK!**Q-78D@@@qxx{AJJqMAJJqM9:dBBBqxx{AJJqMAHHQK7::a=. !" " "qxx{AHHQK1::a=.8
**Q-  ! ! !qxx{AHHQK!((1+5AF::a=. !" " " qxx{AHHQK188A;,675@@@qxx{AJJqMQXXa[L89UBBBqxx{AHHQK


a
 ! "%*+ + +qxx{AJJqM


a
 ! "%*+ + +qxx{AJJqMQXXa[L8::a=. "# # #qxx{AHHQK1::a=.8


a
 ! "%*+ + +qxx{AHHQK1::a=.8AHHQK<G::a=. "# # # qxx{AHHQK(000qxx{AJJqM*222qxx{AHHQK


a
 ! "%)* * *qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMQZZ]N:;CCCqxx{AHHQK1::a=.8


a
 ! "%)* * *qxx{AHHQK1::a=.8::a=. !" " " qxx{QXXa[LAHHQK<78@@@qxx{A//288A;,      qxx{QXXa[L


a
 ! "%)* * *qxx{A//2


a
 ! "%*+ + +qxx{A//2ahhqk\Aq!
!" #&*+ + +qxx{QXXa[LA,?,?,B+BB


a
 ! "%)* * *qxx{QXXa[LAHHQK<7q!
!"%&%8%8%;$;< =@EF F F qxx{QXXa[L)111qxx{A//288A;,      qxx{A//23;;;qxx{A//2


a
 ! "%*+ + +qxx{A//288A;,--a001 259: : :qxx{Q0033


a
 ! "%)* * *qxx{Q0033qxx{lBq!
!" #&+, , , qxx{###qxx{A//23;;;qxx{A//23;;;qxx{A//2


a
 ! "%)* * *qxx{A//2q!
!" #&*+ + +qxx{Q0033


a
 ! "%)* * *qxx{Q0033q!
!" #&*+ + + gGA!		AffGA!qxx{AJJqMAJJqM9
**Q-  ! ! !qxx{AJJqMAJJqM9
((1+   qxx{AJJqMAJJqM9
**Q-  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM988A;,  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMAJJqM9:BBBqxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMAHHQK7
((1+   qxx{AJJqMAHHQK7
**Q-  ! ! !qxx{AJJqMAHHQK7


a
 ! "%*+ + +qxx{AJJqMAHHQK788A;,  ! ! !qxx{AJJqMAHHQK7


a
 ! "%*+ + +qxx{AJJqMAHHQK7


a
 ! "%)* * *qxx{AJJqMAHHQK78@@@qxx{AJJqMAHHQK7


a
 ! "%)* * *qxx{AJJqMAJJqM9
**Q-  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM988A;,  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMA,?,?,BB
((1+   qxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB88A;,      qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqMQXXa[L888A;,      qxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMQXXa[L89AAAqxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM	
		Q	  !$() ) )qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM*222qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AHHQK!((1+5
((1+   qxx{AHHQK!((1+5
**Q-  ! ! !qxx{AHHQK!((1+5


a
 ! "%*+ + +qxx{AHHQK!((1+588A;,  ! ! !qxx{AHHQK!((1+5


a
 ! "%*+ + +qxx{AHHQK!((1+5


a
 ! "%)* * *qxx{AHHQK!((1+56>>>qxx{AHHQK!((1+5


a
 ! "%)* * *qxx{AHHQK!**Q-7
**Q-  ! ! !qxx{AHHQK!**Q-7


a
 ! "%*+ + +qxx{AHHQK!**Q-788A;,  ! ! !qxx{AHHQK!**Q-7


a
 ! "%*+ + +qxx{AHHQK!**Q-7


a
 ! "%)* * *qxx{AHHQK!**Q-78@@@qxx{AHHQK!**Q-7


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%*+ + +qxx{AHHQK!*=*=a*@@88A;,      qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%*+ + +qxx{AHHQK


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AHHQK188A;,688A;,      qxx{AHHQK188A;,6


a
 ! "%)* * *qxx{AHHQK188A;,6


a
 ! "%)* * *qxx{AHHQK188A;,67???qxx{AHHQK188A;,6


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%*+ + +qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AHHQK


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%*+ + +qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AHHQK


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AHHQK(000qxx{AHHQK


a
 ! "%)* * *qxx{AHHQK!*=*=a*@@


a
 ! "%)* * *qxx{AJJqMAJJqM9
**Q-  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM988A;,  ! ! !qxx{AJJqMAJJqM9


a
 ! "%*+ + +qxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMAJJqM9:BBBqxx{AJJqMAJJqM9


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB88A;,      qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqMQXXa[L888A;,      qxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMQXXa[L89AAAqxx{AJJqMQXXa[L8


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%*+ + +qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{AJJqM*222qxx{AJJqM


a
 ! "%)* * *qxx{AJJqMA,?,?,BB


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 !$%HHQK<0 1489 9 9qxx{A//2


a
 !"#"5"5a"89 :=AB B Bqxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//288A;,((1+& '*./ / /qxx{A//288A;,,,Q/0 1489 9 9qxx{A//288A;,,,Q/0 1489 9 9qxx{A//288A;,      qxx{A//288A;,,,Q/0 1489 9 9qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//23;;;qxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{QXXa[LAHHQK<788A;,      qxx{QXXa[L1+>+>q+AA88A;,      qxx{QXXa[LAHHQK<7


a
 ! "%)* * *qxx{QXXa[LAHHQK<78@@@qxx{QXXa[LAHHQK<7


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{QXXa[L


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{QXXa[L


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{QXXa[L)111qxx{QXXa[L


a
 ! "%)* * *qxx{QXXa[L1+>+>q+AA


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//23;;;qxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>CD D Dqxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{A//23;;;qxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C Cqxx{###qxx{A//23;;;qxx{A//2


a
 ! "%)* * *qxx{A//2


a
 !#$#6#6q#9: ;>BC C C qxx!}%%%qxx!}ahhqk*d222gGA!	A66DAqxx{AHHQK!((1+56$>>>qxx{AHHQK166!9*4|CDMMMqxx{AHHQK(000qxx{QXXa[L188A;6
BCuLLLqxx{QXXa[LAHHQK<78EAAAqxx{QXXa[L)111qxx{AHHQK(000qxx{QXXa[L)111qxx{###	AAffGA!qxx{AHHQK!((1+5
((1+   qxx{AHHQK166!9*4qxx{B66!9*|$ %(-. . .qxx{AHHQK!((1+56>>>qxx{AHHQK166!9*4|C
((1+
# $',- - -qxx{AHHQK166!9*4|C88A;,  ! ! !qxx{AHHQK188A;,67???qxx{AHHQK!((1+56>>>qxx{AHHQK188A;,67???qxx{AHHQK(000qxx{QXXa[L188A;6!&&)C
((1+
# $',- - -qxx{QXXa[LAFF1I:5C66!9*|$ %(-. . .qxx{QXXa[L188A;67???qxx{QXXa[LAHHQK<7
((1+
# $',- - -qxx{QXXa[LAHHQK<788A;,  ! ! !qxx{QXXa[LAHHQK<78@@@qxx{QXXa[L188A;67???qxx{QXXa[LAHHQK<78@@@qxx{QXXa[L)111qxx{AHHQK!((1+56>>>qxx{AHHQK188A;,67???qxx{AHHQK(000qxx{QXXa[L188A;67???qxx{QXXa[LAHHQK<78@@@qxx{QXXa[L)111qxx{AHHQK(000qxx{QXXa[L)111qxx{QXXa[L1+=+=a+@@


Q
 "#"4"4Q"78 9<@A A Aqxx{A..q1QXXa[L@


Q
 #$88A;,/


Q
  !$)* * * gGA!qxx1~&&&qxx1~&&&qxx1~qxx{+t333qxx~&&&qxx!$%---qxx!$a&9&9!&<=EEEqxx!$a&9&9!&<=EEEqxx1~q22156$>>>qxxQ !)))qxx1~|,555qxx1~|,555 qxx~qvvay166!945===qxx~qvvay1::a=89AAAqxx~qvvay1::a=89UBBBqxx~qvvay1::a=89TAAAqxx~qyy|affQi78D@@@qxx~qyy|ajjm;<DDDqxx~qvvay1::a=89TAAA qxxQ !T)))qxxQ 188A;,/4777 qxxA (((qxxA!-555qxxA!&&),444qxxAA/5888qxxA+u444qxxA (((qxxA!-555qxxA D((( qxxA D(((qxxA!((1+.$666qxxA D(((qxxA!((1+.$666qxx#a&!"d***qxxA	"#t+++qxxA	"#t+++qxxAQ()T111r\   c                     \        \        P                  ! \        \        ,          4      4      R J g   Q h\        \        P                  ! ^\        \        ,          ,           4      4      R J g   Q h\        \        P                  ! ^\        \        ,          ,          4      4      R J g   Q h\        \        P                  ! \        ) \        ,          4      4      R J g   Q h\        \        P                  ! ^\
        ,           4      4      R J g   Q h\        \        P                  ! \        \
        ,          4      4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ( ,          4      R J g   Q h\        \        P                  ! \        \        ,          \        \        ,          ,
          4      4      e   Q h\        \        P                  ! \        \        ,          \        ,          4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ( ,          4      RJ g   Q h\        \        P                  ! ^\        \        ,          ,          4      4      RJ g   Q hR# )TNF)
r   r   rs   r   r"   r#   r   r   rT   ri   rv   r\   rZ   test_unboundedr   _  s   qzz!b&!"d***qzz!ad(#$,,,qzz!q2v,'(D000qzz1"r'"#t+++qzz!c'"#t+++qzz!c'"#t+++qzz!a% !**Q-!((1+"=
"JKtSSSqzz!b&1r6/*+333qzz!a%"*%&...qzz!a% !((1+
":;uDDDqzz!q2v,'(E111r\   c                     \        \        P                  ! \        4      \        P                  ! \        4      \        P
                  ! \        4      ,          \        P                  ! \        4      ( ,          4      e   Q hR # N)r   r   rV   r   rJ   rP   rU   rv   r\   rZ   test_issue_27441r   m  sA    q{{1~qyy|ajjm;qwwqzkIJRRRr\   c                     \        R 4      w  rpW,          p\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          4      e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          4      e   Q hW,          V,          p\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      \        P                  ! V4      ( ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ,          \        P                  ! V4      ( ,          4       e   Q h\        \        P                  ! V4      \        P                  ! V 4      ( \        P                  ! V4      ( ,          \        P                  ! V4      ,          4       e   Q hR# )zx y zN)r(   r   r   rT   r   s       rZ   test_issue_27447r   r  sZ   GEA	Aqxx{AHHQKAHHQK<78@@@qxx{QXXa[LAHHQK78@@@	AAqxx{AHHQK!((1+588A;,      qxx{AHHQK188A;,6
((1+      qxx{AHHQK188A;,688A;,      qxx{QXXa[L188A;6
((1+   qxx{QXXa[L188A;688A;,      qxx{QXXa[LAHHQK<7
((1+   r\   c                      \        \        P                  ! \        \        ,          4      \        P                  ! \        4      ( \        P
                  ! \        4      ,          4       e   Q hR # r   )r   r   rT   r   r   ri   rv   r\   rZ   test_issue_27662_xfailr     sF    qxx!}qxx{l
&&)   r\   c                     \        \        P                  ! \        \        4      \        ,          4      4      RJ g   Q h\        \        P                  ! \        \        4      \        ,          4      4      RJ g   Q hR# )z4We need to support relations in ask for this to workTN)r   r   rT   r8   r   r6   rv   r\   rZ   test_bounded_xfailr     sL     qxxA	"#t+++qxxA	"#t+++r\   c                    \        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        ^,           4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        ^,          4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q hR# )z`By default objects are Q.commutative that is why it returns True
for both key=True and key=FalseTFN)
r   r   rI   r   rM   rO   rL   rP   r   r0   rv   r\   rZ   test_commutativer     s    q}}Q D(((q}}Q!--"2!23u<<<q}}Q1.$666q}}QQ0D888q}}Q+t333q}}QA/4777q}}Q!--"2!23t;;;q}}QqS!"d***q}}QqS!AMM!$4#45>>>q}}QU#$,,,q}}QU#ammA&6%675@@@q}}QT"#t+++q}}QT"Q]]1%5$56%???q}}SV$%---r\   c                  0    \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      ( 4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q h\        \        P                  ! \        ^\        ,          ^,           4      4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q h\        \        P                  ! \        ^\        ,          ^,           4      4      4      RJ g   Q h\        \        P                  ! \!        \        4      4      4      RJ g   Q h\        \        P                  ! \!        \        4      4      4      RJ g   Q h\        \        P                  ! \#        \        4      4      4      RJ g   Q h\        \        P                  ! \%        \        4      4      4      RJ g   Q h\        \        P                  ! \'        \        4      4      4      RJ g   Q hR # NTF)r   r   rM   r   r   rL   rK   rN   rP   rO   rp   rJ   rR   rS   r8   r6   r/   r+   r-   r,   rv   r\   rZ   test_complexr     s?	   qyy|$$$qyy|QYYq\*d222qyy|QYYq\*222qyy|aiil]+u444qyy|QVVAY'4///qyy|affQiZ(000qyy|QZZ]+t333qyy|Q\\!_-555qyy|QZZ]+t333qyy|Q[[^,444qyy|Q[[^,444 qyyQ1.$666qyyQ+t333qyyQA/4777qyyQa1T999qyyQQ0D888qyyQ1.$666qyyQ+t333qyyQq*d222qyyQ1		!!<=EEEqyyQQ[[^!;<DDD qyy1q!199Q<0D888qyy1q!166!9-555qyy1q!1::a=1T999qyy1q!1::a=1T999qyy1q!1<<?3t;;;qyy1q!1;;q>2d:::qyy1q!199Q<0D888qyy1q!166!9-555qyy1q!1558,444 qyyA		!-555qyyAq	*d222qyyA

1.$666qyyA

1.$666qyyAQ0D888qyyAA/4777qyyA		!-555qyyAq	*d222qyyAa)T111 qyyA		!-555qyyAq	*d222qyyA

1.$666qyyA

1.$666qyyAQ0D888qyyAA/4777qyyA		!-555qyyAq	*d222qyyAa)T111qyyA		!qyy| ;<DDD qyyQ !T)))qyyQqS1W&'4///qyyQ !T)))qyyQqS1W&'4/// qyyQ !T)))qyyQ !T))) qyyQ !T)))qyyA D(((qyyA D(((r\   c                  t%   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! ^\        ,          4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,
          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,          4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! ^\        ,          \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! R\         ,          4      \        P                  ! \         4      4      RJ g   Q h\        \        P                  ! \"        ^,          4      \        P                  ! \"        4      4      RJ g   Q h\        \        P                  ! \         ^,          4      \        P                  ! \         4      4      RJ g   Q h\        \        P                  ! ^\"        ,          4      \        P                  ! \"        4      4      e   Q h\        \        P                  ! \        ^,          4      4      e   Q h\        \        P                  ! \"        \$        ,          4      \        P                  ! \"        4      \        P                  ! \$        4      ,          \        P&                  ! \$        4      ( ,          4      e   Q h\        \        P                  ! \         \$        ,          4      \        P                  ! \         4      \        P                  ! \$        4      ,          \        P&                  ! \$        4      ( ,          4      RJ g   Q h\        \        P                  ! \"        \(        ,          4      \        P                  ! \"        4      \        P                  ! \(        4      ,          \        P                  ! \(        4      ,          4      RJ g   Q h\        \        P                  ! \         \(        ,          4      \        P                  ! \         4      \        P                  ! \(        4      ,          \        P                  ! \(        4      ,          4      RJ g   Q h\        \        P                  ! \$        \"        ,          4      \        P                  ! \"        4      \        P                  ! \$        4      ,          \        P&                  ! \$        4      ( ,          4      e   Q h\        \        P                  ! \(        \"        ,          4      \        P                  ! \"        4      \        P                  ! \(        4      ,          \        P                  ! \(        4      ,          4      e   Q h\        \        P                  ! \$        \         ,          4      \        P                  ! \         4      \        P                  ! \$        4      ,          \        P&                  ! \$        4      ( ,          4      e   Q h\        \        P                  ! \(        \         ,          4      \        P                  ! \         4      \        P                  ! \(        4      ,          \        P                  ! \(        4      ,          4      e   Q h\        \        P                  ! \"        \        ,          4      \        P                  ! \"        4      4      e   Q h\        \        P                  ! \         \        ,          4      \        P                  ! \         4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        \        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        \        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q hR # )NFTrl   )r   r   rR   r   rJ   rK   rP   rN   rS   r   r   r   r+   r-   r,   rL   r   r	   r
   rQ   r   rv   r\   rZ   test_even_queryr     s	   qvvay>!!!qvvay!))A,'///qvvay199Q<-(E111qvvay!**Q-(000qvvay!**Q-(000qvvac{###qvvac{AIIaL)T111qvvac{AFF1I&$...qvvac{ALLO,555qvvac{AEE!H%---qvvac{QYYq\M*222qvvac{AIIaL)111qvvac{AFF1I&$...qvvac{AEE!H%...qvva!e}aeeAh'4///qvva!e}affQi(E111qvva!e}aeeAh'5000qvva!e}affQi(D000qvva!e}aeeAh'4///qvva!e}aeeAh'4///qvva!e}aeeAhq12d:::qvva!e}aeeAh23u<<<qvva!e}affQi!&&)34<<<qvvacAg		!-666qvvac!e}ajjmajjm;<DDDqvvac!e}all1oQ?@HHHqvva!eai !%%(QUU1X"5q	"ABdJJJqvva!eai!m$	a1558affQi'!))A,68;?@ @ @ qvvc!f~qvvay)T111qvvc!f~q	z*222qvvbe}affQi(D000qvvbe}qvvayj)111qvvbe}affQi(D000qvvbe}affQi(D000qvvrAg		!-666qvvad|QVVAY'4///qvvad|QUU1X&%///qvvad|QVVAY'///qvvad|$$$qvvad|QVVAY15AFGOOOqvvad|QUU1X		!4

1~EF%OOOqvvad|QVVAY15

1EF$NNNqvvad|QUU1X		!4qzz!}DENNNqvvad|QVVAY15AFGOOOqvvad|QVVAY15

1EFNNNqvvad|QUU1X		!4

1~EFNNNqvvad|QUU1X		!4qzz!}DEMMMqvvad|QVVAY'///qvvad|QUU1X&...qvvac{AIIaL199Q<78@@@qvvac{AIIaL)111qvvaQi !))A,q"9:dBBBqvvaQi !))A,":;CCCr\   c                     \        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      R J g   Q hR# r   )r   r   rR   r   r   r   rJ   rS   rv   r\   rZ   1test_evenness_in_ternary_integer_product_with_oddr   =  s    
 qvvac1q5k"AIIaL199Q<$?!%%($JKtSSSqvvac1q5k"AIIaL199Q<$?!%%($JKtSSSr\   c                  D   \        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      e   Q hR # r   )r   r   rR   r   r   r   rJ   rv   r\   rZ   2test_evenness_in_ternary_integer_product_with_evenr   F  sL    qvvac1q5k"AIIaL199Q<$?!&&)$KLTTTr\   c                     \        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ) 4      \        P
                  ! \        4      4      R J g   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        \        P                  ,           4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q hR# r   )r   r   rq   r   rt   rP   ri   rQ   ru   r%   InfinityrL   rs   rv   r\   rZ   test_extended_realr   J  sh   qq!1#6#6q#9:dBBBqq!1::a=1T999qq!166!9-555qq!1::a=1T999qq!1#6#6q#9:dBBBqr"AJJqM2d:::qr"AJJqM2d:::qq1::~.q	:dBBBqq!1::a=1999r\   c            
      )   \        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ^,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P
                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        \         \"        \$        \&        3 EF6  p \        \        P                  ! V ! ^4      4      4      RJ g   Q h\        \        P                  ! V ! ^RR7      4      4      RJ g   Q h\        \        P                  ! V ! ^ RR7      4      4      R J g   Q h\        \        P                  ! V ! \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! V ! \        4      4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ d   EK7  Q h	  \(        \*        3 EF=  p\        \        P                  ! V! ^4      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      R J g   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      \        P                  ! \        ^,
          4      ,          4      RJ d   EK>  Q h	  \,        \.        3 F  p\        \        P                  ! V! ^4      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      RJ g   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      4      RJ d   K  Q h	  \        \        P                  ! \        \        ,          4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P0                  ! \        4      ,          \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P2                  ! \        ^ 4      ,          \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P2                  ! \        ^4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P2                  ! \        R4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P0                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      ( \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \5        R\        RR7      \        P                  ! \        4      4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ( ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ( ,          \        P6                  ! \        4      ( ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ( ,          \        P8                  ! \        4      ,          \        P                  ! \        4      ( ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ( ,          \        P8                  ! \        4      ,          4      e   Q hR# )TFNevaluaterl   )r   r   rK   r   rJ   rN   rL   rP   rQ   rh   rp   rR   rS   r   r/   r8   r9   r4   r5   r6   r0   r2   r7   r3   rU   eqr&   ri   rM   fghs      rZ   test_rationalr   Y  sk   qzz!}aiil+t333qzz!}all1o.%777qzz!}affQi(000qzz!}ajjm,444qzz!}ajjm,444qzz!}aiil+333qzz!}q{{1~o.%777qzz!A#

1.$666qzz!A#		!-555qzz!A#q	*d222qzz!A#a)T111qzz!A#Q0E999qzz!A#

1.$666qzz!A#		!-555qzz!A#q	*d222qzz!A#a)T111qzz!A#Q0E999qzz!A#

1		! <=EEEqzz!A#		!qyy| ;<DDDqzz!A#q	AIIaL 89TAAAqzz!A#a)T111qzz!A#Q0E999qzz!A#

1		! <=EEEqzz!A#		!qyy| ;<DDDqzz!A#q	AIIaL 89TAAAqzz!A#a)T111qzz!A#Q0E999qzz!}q{{1~o.%777 qzz!A#Q!,,q/ ABJJJqzz!A#

1

1 =		! LMQUUUUqzz!A#		!qzz!} <qyy| KLPTTTTqzz!A#q	AJJqM 9AIIaL HITQQQqzz!A#a1::a= 89TAAAqzz!A#Q!**Q- ?!))A, NOSXXXX3T4-1::ad#$---1::aE234===1::aE234<<<1::ad#QZZ]3;;;1::ad#QZZ]QYYq\%ABeKKK . 4[1::ad#$---1::aE234===1::aE234<<<1::ad#QZZ]3;;;1::ad#QZZ]QYYq1u5E%EF%OOO  4[1::ad#$---1::aE234===1::ad#QZZ]3u<<<  qzz!Q$Q!**Q- ?@HHHqzz!Q$		!qwwqz 9AJJqM IJRRRqzz!Q$		!qyy| ;<DDDqzz!Q$		!qttAay 8199Q< GHPPPqzz!Q$Qq	AJJqM 9:BBBqzz!Q$Qr
QZZ] :;CCCqzz!Q$ajjm!;<DDDqzz!Q$!**Q-!))A,!>@HHHqzz#b!e4ajjmDEMMMqzz!Q$1a0@!@AIIIqzz!Q$1a0@!@AFF1I:!MNVVVqzz!Q$1Q!?!))A,!NRSRXRXYZR[Q[![\dddqzz!Q$1Q!?!))A,!NOWWWr\   c                  7   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          \        P
                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          \        P
                  ! \        4      ,          4       e   Q h\        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,           4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P
                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q hR # NFT)r   r   rW   r   rX   rO   rU   rL   ri   rM   r   r   r   rv   r\   rZ   test_hermitianr     sZ   q{{1~&&&q{{1~qq12:::q{{1~q{{1~.%777q{{1~qwwqz*d222q{{1~qvvay)T111q{{1~qvvay)T111q{{1q5!1??1#56>>>q{{1q5!199Q<0888q{{1q5!1;;q>2d:::q{{1q5!1;;q>2e;;;q{{1q5!166!9-555q{{1q5!1??1#56>>>q{{1q5!199Q<0888q{{1q5!1;;q>2e;;;q{{1q5!1;;q>2:::q{{1q5!166!9-666	AEAOOA.1CCEHLM M Mq{{1q5!1??1#5		!#DEMMM	AEAOOA.Q?ADHI I Iq{{1q5!1??1#5A#FGOOOq{{1q5!1??1#5q	#ABJJJq{{1q5!1;;q>AIIaL#@AIIIq{{1q5!1;;q>AKKN#BCtKKKq{{1q5!1;;q>AKKN#BCuLLLq{{1q5!1;;q>AFF1I#=>$FFFq{{1q5!1;;q>AIIaL#@AIIIq{{1q5!1;;q>AKKN#BCKKKq{{1q5!1;;q>AFF1I#=>%GGGq{{1q5!166!9qyy|#;<DDDq{{1q5!166!9qvvay#89TAAAq{{1Q3!34<<<q{{1Q31.666q{{1Q3Q0E999q{{1Q3Q0D888q{{1Q3+u444q{{1Q3Q!&&)!;<DDD	AEAIq	AFF1I 5q	 ACFJK K Kq{{1q519%	q	AFF1IA.0389 9 9q{{1q519%	q	AKKN"Q[[^358<= = =q{{1q519%	AQ'!++a.8:=AB B B qq!"***qq!166!9-666qq!1771:.%777qq1u%qq'9:eCCCqq1u%qyy|4<<<qq1u%q{{1~6>>>qq1u%q{{1~6%???qq1u%qvvay1999qq1u%qq'9:dBBBqq1u%qyy|4<<<qq1u%q{{1~6>>>qq1u%q{{1~6$>>>qq1u%qvvay1U:::qq!166!9-555	A 2Q__Q5G G	   	A 2QYYq\ ACFJK K K	A 2Q[[^ CEHLM M M	A 2Q[[^ CEHLM M Mqq1u%qq'9AFF1I'E 
  qq1u%q{{1~		!'DEMMMqq1u%q{{1~A'F 
  	AAQ ?ADHI I Iqq1u%q{{1~q	'ABJJJqq1u%q{{1~		!'DEMMMqq1u%q{{1~A'FG4OOOqq1u%q{{1~q	'ABeKKKqq1u%qvvay199Q<'?@HHHqq1u%qvvay166!9'<=EEEqqs#QVVAY/4777qqs#Q__Q%78EAAAqqs#QYYq\2:::qqs#Q__Q%7!&&)%CDLLLqq1uqy)	q	AFF1Iq	)+.23 3 3qq1uqy)	q	AFF1IA.0378 8 8qq1uqy)	q	AKKN"Q[[^358=> > >qq1uqy)	AQ'!++a.8:=AB B Br\   c                  -   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^ ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ( ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! ^\        ,          4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! ^\        ,          4      ( ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! ^\        ,          4      ( ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! ^\        ,          4      ,          4      e   Q h\        \        P                  ! \!        \        4      4      4      RJ g   Q h\        \        P                  ! \!        ^\        ,          4      4      4      RJ g   Q h\        \        P                  ! \!        \        ^,           4      4      4      RJ g   Q h\        \        P                  ! \!        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \!        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \!        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \!        \#        \        4      4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \!        \#        \        4      4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \!        \#        \        4      4      4      4      RJ g   Q h\        \        P                  ! \#        \        4      \        ,          4      \        P                  ! \        4      4      RJ g   Q h\%        \#        \&        \        ,          \        ,          RR7      \        RR7      p \        \        P                  ! V 4      \        P                  ! \        4      4      RJ g   Q h\%        \#        \&        \        ,          \        ,          ^,          RR7      \        RR7      p \        \        P                  ! V 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \#        ^\        ,          \&        ,          \        ,          4      \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \#        ^\&        ,          \        ,          RR7      4      4      RJ g   Q h\        \        P                  ! \#        \&        \        ,          ^,          RR7      4      4      RJ g   Q h\        \        P                  ! \%        \        \)        ^^4      4      4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q hR # )NFTr   )r   r   rO   r   rL   rU   r   r   rM   r   rQ   rP   rR   rS   rJ   rK   r0   r/   r&   r$   r!   r   s    rZ   test_imaginaryr     s9   q{{1~&&&q{{1~qvvay)U222q{{1~qwwqz*e333q{{1q5!166!9-666q{{1q5!1;;q>2e;;;q{{1q5!166!9-666q{{1q5!1;;q>2d:::q{{1q5!1;;q>AKKN#BCtKKKq{{1q5!166!9qvvay#89UBBBq{{1q5!1;;q>AFF1I#=>%GGGq{{1q5!199Q<!&&)#;<DDD	AEAIq	AFF1I 5q	 ACFKL L Lq{{1q519%	q	AFF1IA.0378 8 8q{{1q519%	q	AKKN"Q[[^358=> > > q{{1Q3+t333q{{1Q3Q0E999q{{1Q31.666q{{1Q3Q!&&)!;<DDDq{{1Q3QVVAY!675@@@q{{1a4 !**Q-0888q{{1a4 !**Q-0888q{{1a4 !&&),555q{{1a4 !%%(+t333q{{1a4 !++a.1U:::q{{AaC!8$akk!n5>>>q{{1a4 !++a.1U:::q{{1a4 !++a.1;;q>"ABJJJq{{1a4 !++a.166!9"<=EEEq{{1a4 !&&)akk!n"<=EEEq{{1a4 !&&)affQi"78@@@q{{1a4 !++a.199Q<"?@HHHq{{1a4 !++a.199Q<"?@HHHq{{1a4 !++a.1558";<DDDq{{1a4 !++a.1::a="@AIIIq{{1a4 !++a.166!9"<=FFFq{{1a4 !&&)aiil":;uDDDq{{1a4 !**Q-!&&)";<EEEq{{1a4 !**Q-!&&)";<DDDq{{1a4 !**Q-!&&)";qzz!}n"LMQVVVVq{{1a4 !))A,Q"?@HHHq{{1a4 !**Q-!**Q-"?!))AaC."PQUYYYYq{{1a4 !**Q-!**Q-"?199QqS>/"QRV[[[[q{{1a4 !**Q-!**Q-"?@HHHq{{1a4 !&&)ajjm";qyy1~o"MNRWWWWq{{1a4 !&&)ajjm";aii!n"LMUUU q{{3q6"#t+++q{{3qs8$%...q{{3q1u:&'5000q{{3q6"AIIaL1999q{{3q6"AKKN3;;;q{{3q6"AJJqM2e;;;q{{3s1v;'16>>>q{{3s1v;'Q8@@@q{{3s1v;'(D000 q{{3q619%q{{1~6%???	SAa%(!e	<Bq{{2q	*e333	SAaE*A	>Bq{{2a)T111q{{3qs2vax=!+,aiil;uDDDq{{3qtAv678EAAAq{{3r!tAv678D@@@ q{{3q(1a.12AFF1I

14MNRWWWWr\   c            	         \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      ( 4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^4      \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^4      \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ) 4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        \        \        ,          ,           4      4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        ^4      4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                   ! \        4      \        P"                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          ) 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P"                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \$        \        ,          4      \        P"                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P&                  ! \        4      \        P"                  ! \        4      ,          4      RJ g   Q hR # r   )r   r   rJ   r   rL   rP   rR   rS   rU   rK   r1   rN   r+   rM   r   r   rh   ri   r$   rO   rv   r\   rZ   test_integerr   a  s   qyy|$$$qyy|QYYq\*d222qyy|aiil]+u444qyy|affQiZ(E111qyy|ajjm^,444qyy|QVVAYq12d:::qyy1~qyy|,444qyy1~qvvay)T111qyy1~qwwqz*d222qyy1~qzz!}-555qyy1~qvvay)111qyya#QYYq\2e;;;qyya#Q\\!_5===qyy1~quuQx(E111qyy1~qvvay)T111qyy1~quuQx(000qyy1~qvvay)111 qyyQ 1.$666qyyaR!!))A,/4777qyyQ 199Q<-0888qyyQ 1.666qyyQqsU$QVVAY%:;CCC qyy1~qyy|aiil:;CCCqyy1~qyy|,444qyyA		!qyy| ;<DDDqyya!"e+++qyyA		!qvvay 89TAAAqyyA		!qyy| ;ajjm KLPTTTTqyy!Q$1.$666qyyA		!qyy| ;ajjm KLPTTTTqyyAq	AIIaL 81::a= HITQQQqyyQ+t333qyyAA :;tCCCr\   c            
      
   \        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        ^,
          4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        \        ,           4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! ^\        ,           4      4      RJ g   Q h\        \        P                  ! \        \        4      ^,          \        \        4      ^,          ,           ^,
          4      4      e   Q h\        \        P                  ! \        ) \        \        ^4      ^,          \        ^4      ^,          ,           ,          ,           4      4      e   Q h\        \        P                  ! \        ^,          4      4      e   Q h\        \        P                  ! \        ^,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        R,          4      \        P
                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \!        \        4      4      4      RJ g   Q hR# )TFNgffffff?)r   r   rQ   r   rP   rL   rU   r   nonpositiver   r6   r8   rM   rR   rS   rJ   r+   rv   r\   rZ   test_negativer     s   qzz!}ajjm,444qzz!}ajjm,555qzz!}qvvayj)U222qzz!}aggaj)U222qzz!}qwwqzk*222qzz1"~qzz!}-555qzz1"~

1~.666qzz1"~qzz!}-666qzz1"~qzz!}-555qzz!a% !**Q-0D888qzz!a% !)))qzz!a% !**Q-0888qzz!a% !**Q-!**Q-"?@DHHHqzz!a% !**Q-!--2B"BCtKKKqzz!a% !U*** qzz#a&!)c!fai/!345===qzz1"q#a&!)c!fai"7889:BBBqzz!Q$ (((qzz!Q$+u444qzz!S&!166!9-555qzz!Q$A/777qzz!A#'''qzz!A#

1

1 =>%GGGqzz!A#

1

1 =>$FFFqzz!A#		!qyy| ;<DDDqzz!Q$ (((qzz!Q$A!:;uDDDqzz!Q$Aq!9:dBBBqzz!Q$A1!=>%GGGqzz#a&!"e+++r\   c            
      *   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ^\        ,          4      4      4      4      RJ g   Q h\        \        P                  ! \        ^4      ^,          \        ^4      ^,          ,           ^,
          4      4      e   Q hR # r   )r   r   rh   r   rL   rP   rQ   r   r+   r0   r/   r   r6   r8   rv   r\   rZ   test_nonzeror     s   qyy|$$$qyy|QVVAY'///qyy|QZZ]+t333qyy|QZZ]+t333qyy|QZZ]QZZ]:;tCCCqyyQ (((qyyQAA!>?4GGGqyyQAA!>?GGGqyyQAA!>?4GGGqyy1~&&&qyy1~qzz!}-555qyy1~qzz!}-555qyy1~qyy|,444qyy1~qyy|aiil:;tCCCqyyA		!-555qyyQ !)))qyyQ !))A,/4777qyyS1X'(E111 qyyQSVQY.234<<<r\   c                     \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      4      e   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        \        ,          4      4      RJ g   Q hR # r   )r   r   ri   r   rL   rP   rQ   nonnegativer   r   rh   r+   rJ   rR   rS   rv   r\   rZ   	test_zeror     ss   qvvay>!!!qvvay!&&)$,,,qvvay!**Q-(E111qvvay!**Q-(E111qvvay!**Q-!**Q-78EAAAqvvay!--*Q]]1-==>$FFFqvva!e}%%%qvva!e}ajjmajjm;<EEEqvva!e}ajjmajjm;<DDDqvva!e}ajjmajjm;<EEEqvvac{###qvvac{AJJqM*e333qvvac{AJJqM*e333qvvac{AIIaL)111qvvc!f~&&&qvvc!f~qvvay)T111qyy|QVVAY'4///qvvay!&&)$,,,quuQx#u,,,qvvay!&&)$,,,qvvay!%%(#u,,,qvvay166!9$affQqSk2d:::r\   c                  f(   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      ( 4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,
          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,
          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,
          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,
          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           \        ,           \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          \        P                  ! \        4      ,          4       e   Q h\        \        P                  ! ^\        ,          ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          \        ,          4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! ^\        ,          \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! R\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                   ! \        4      ( ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                   ! \        4      ( ,          4      RJ g   Q h\        \        P                  ! \        \"        ,          4      \        P                  ! \        4      \        P                  ! \"        4      ,          \        P                  ! \"        4      ,          4      RJ g   Q h\        \        P                  ! \        \"        ,          4      \        P                  ! \        4      \        P                  ! \"        4      ,          \        P                  ! \"        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                   ! \        4      ( ,          4      e   Q h\        \        P                  ! \"        \        ,          4      \        P                  ! \        4      \        P                  ! \"        4      ,          \        P                  ! \"        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                   ! \        4      ( ,          4      e   Q h\        \        P                  ! \"        \        ,          4      \        P                  ! \        4      \        P                  ! \"        4      ,          \        P                  ! \"        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        \        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        \        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q hR # )NTFrl   )r   r   rS   r   rJ   rK   rP   rN   rR   r   r   r   r+   r   r	   r
   rQ   r   rv   r\   rZ   test_odd_queryr     s
   quuQx=   quuQxq"d***quuQx1&...quuQx!))A,'5000quuQxA'///quuQxA'///quuaRy!%%(#t+++quuQqSz?"""quuQqSz199Q<(E111quuQqSz1558$---quuQqSz1<<?+u444quuQqSzAIIaL=)111quuQqSz199Q<(000quuQqSz1558$,,,quuQqSz166!9%---quuQU|QVVAY'4///quuQU|QVVAY'5000quuQU|QUU1X&$...quuQU|QUU1X&%///quuQU|QVVAY'4///quuQU|QUU1X&%///quuQU|QVVAY'4///quuQU|QUU1Xa01U:::quuQU|QUU1Xq	12d:::quuQU|QVVAYq12d:::quuQU|QUU1Xa01U:::quuQUQYqAEE!H!4qvvay!@AUJJJquuQUQY]#	a1558affQi'!))A,68;?@ @ @ quuQqS1W~qyy|,444quuQqS1W~qyy|aeeAh674???quuQqS1W~qyy|affQi78EAAAquuQqS1W~qyy|aiil:;CCCquuQqSz1558affQi/0E999quuQqSz1558aeeAh./4777quuQqSU|QZZ]QZZ]:;CCCquuQqSU|Q\\!_q||A>?GGGquuSV}aeeAh'4///quub1W~qyy|,444quuQT{AFF1I&%///quuQT{AEE!H%---quuQT{AFF1I&...quuQT{AFF1I		!4

1~EFNNNquuQT{AEE!Hqyy|3qzz!}nDEMMMquuQT{AFF1I		!4qzz!}DENNNquuQT{AEE!Hqyy|3ajjmCDLLLquuQT{AFF1I		!4

1~EFNNNquuQT{AFF1I		!4qzz!}DEMMMquuQT{AEE!Hqyy|3qzz!}nDEMMMquuQT{AEE!Hqyy|3ajjmCDLLLquuQT{AFF1I&...quuQT{AEE!H%---quuQqSz199Q<!))A,67???quuQqSz199Q<(000quuQAY1a!89UBBBquuQAY1q	!9:BBBr\   c                     \        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      R J g   Q h\        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      R J g   Q hR# FN)r   r   rS   r   r   r   rJ   rv   r\   rZ   0test_oddness_in_ternary_integer_product_with_oddr   :  s    
 quuQqS!a%[!199Q<!))A,#>q#IJeSSSquuQqS!a%[!199Q<!))A,#>q#IJeSSSr\   c                  D   \        \        P                  ! \        \        ,          \        \
        ,           ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \
        4      ,          4      e   Q hR # r   )r   r   rS   r   r   r   rJ   rR   rv   r\   rZ   1test_oddness_in_ternary_integer_product_with_evenr   C  sL    quuQqS!a%[!199Q<!))A,#>#JKSSSr\   c            
         \        \        P                  ! \        4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( 4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \
        ,          4      4      e   Q h\        \        P                  ! \        \
        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \
        ,          4      \        P                  ! \        4      \        P                  ! \
        4      ,          4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        ^4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \
        ,          4      \        P                  ! \        4      \        P                  ! \
        4      ,          4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \
        ,          4      \        P                  ! \        4      \        P                  ! \
        ^4      ,          4      e   Q h\        \        P                  ! \        \
        ,          4      \        P                  ! \        4      \        P                  ! \
        4      ,          \        P                  ! \
        ^ 4      ,          \        P                  ! \
        ^4      ,          4      e   Q h\        \        P                  ! \        \        ^RR7      4      \        P                  ! \        4      4      R J g   Q hR# TFNr   )r   r   rU   r   rJ   r   r   ner   rV   r   gtltr&   rv   r\   rZ   
test_primer   G  s   qwwqz1771:&$...qwwqzAGGAJ;'5000qwwqz199Q<(000qwwqzAIIaL=)U222qwwqs|QYYq\*222qwwqs|$$$qwwqs|QWWQZ(000qwwqs|QYYq\AIIaL89AAAqwwqs|QYYq\*e333qwwqs|$$$qwwq!t}aiil+u444qwwq!t}aggaj)U222 qwwq!t}aiil+u444qwwq!t}aggaj199Q<7!$$q!*DENNNqwwq!t}aiilQ[[^;<EEEqwwq!t}aiilQYYq\9:BBBqwwq!t}aiil+333qwwq!t}aggaj199Q<78@@@ qwwq!t}aggaj144!945===qwwq!t}aggaj199Q<7!$$q)Cadd1QiOPXXXqwws1Q/0!''!*=EEEr\   c            
         \        \        P                  ! \        \        4      ^,          \        \        4      ^,          ,           ^,
          4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ) 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      ,          \        P                  ! \        4      ,          p \        \        P                  ! \        \        ,          \        ,          4      4      e   Q h\        \        P                  ! \        \        ,          \        ,          4      V 4      RJ g   Q h\        \        P                  ! \        ) \        ,          \        ,          4      V 4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^^\        ^,          ,           ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      RJ g   Q h\        \        P                  ! ^\        ,           4      4      RJ g   Q h\        \        P                  ! \        \        4      ^,          \        \        4      ^,          ,           ^,
          4      4      e   Q h\        \        P                  ! \        ) \        \        ^4      ^,          \        ^4      ^,          ,           ,          ,           4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      ( \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \        4      ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        ^\         ,          \        ,          RR7      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \         \        ,          RR7      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \         ,          \        ,          4      4      \        P"                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \         ,          \        ,          4      4      \        P$                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \         ,          \        ,          4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \'        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \'        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \'        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \'        \        ^,           4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \)        \        4      4      \        P*                  ! \        4      \        P                  ! \        4      ,          4      '       g   Q h\        \        P                  ! \)        \        4      4      \        P*                  ! \        4      4      e   Q h\        \        P                  ! \-        \        4      4      4      e   Q h\        \        P                  ! \-        \        4      4      \        P                  ! \        4      4      RJ g   Q hR# )r   NTFr   )r   r   rP   r6   r   r8   r   rQ   rh   r   r   rO   r   r   rL   r/   r$   rR   rS   r0   r*   rJ   r+   assumptionss    rZ   test_positiver   g  s   qzz#a&A+A!3a789AAAqzz!}ajjm,444qzz!}ajjm,555qzz!}aiil+333qzz1"~qzz!}-666qzz1"~qzz!}-555qzz!a% !**Q-!**Q-"?@DHHHqzz!a% !**Q-!--2B"BCtKKKqzz!a% !**Q-!**Q-"?@HHHqzz!a% !**Q-!++a."@AUJJJqzz!A#

1.$666**Q-!**Q-/!**Q-?!**Q-OKqzz!A#a% !)))qzz!A#a% +.$666qzz1"Q$q&!;/5888qzz!Q$A/777qzz!Q$A/4777qzz!Q$A/4777qzz!Q$A/5888qzz!QAX,'3t;;;qzz!Q$ E)))qzz!a% !U*** qzz#a&!)c!fai/!345===qzz1"q#a&!)c!fai"7889:BBB qzz#a&!166!9-555

3q6""AFF1I.$666qzz!c!f*%qvvay1999qzz#a&!1;;q>2:::qzz#ad1fu56AG4OOOqzz#bdU34akk!nEMMMqzz#ad1f+&q	2d:::qzz#ad1f+&a1U:::qzz#ad1f+&q	2::: qzz#a&!1;;q>2e;;;qzz#a&!1::a=1U:::qzz#a&!1::a=1999qzz#a!e*%qzz!}5=== qzz)A,'1

1)EFFFFqzz)A,'16>>> qzz#a&!"***qzz#a&!1::a=1T999r\   c                     \        \        P                  ! R4      4      '       g   Q h\        \        P                  ! ^ 4      4      '       g   Q h\        \        P                  ! ^4      4      RJ g   Q h\        \        P                  ! \        4      ( \        P                  ! \        4      4      '       g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        R4      4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q hR# rG   FNrl   )r   r   r   rP   r   r1   rO   rv   r\   rZ   test_nonpositiver     s    q}}R !!!!q}}Q    q}}Q E)))

1~q}}Q/0000q}}QA/5888q}}T"X&'5000q}}QQ0E999r\   c                     \        \        P                  ! R4      4      RJ g   Q h\        \        P                  ! ^ 4      4      '       g   Q h\        \        P                  ! ^4      4      '       g   Q h\        \        P                  ! \        4      ( \        P                  ! \        4      4      '       g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        R4      4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q hR# r   )r   r   r   rQ   r   r1   rO   rv   r\   rZ   test_nonnegativer     s    q}}R !U***q}}Q    q}}Q    

1~q}}Q/0000q}}QA/5888q}}T"X&'5000q}}QQ0E999r\   c                  V	   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ^4      ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        R4      ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,           4      \        P                  ! \        4      4      e   Q h\        \        P                  ! ^\        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q hR # )NTF)r   r   rL   r   rh   rP   rQ   rJ   rR   rU   r1   r   rM   rO   rv   r\   rZ   test_real_basicr     s   qvvay>!!!qvvay!&&)$,,,qvvay!))A,'4///qvvay!**Q-(D000qvvay!**Q-(D000qvvay!))A,'4///qvvay!&&)$,,,qvvay!''!*%---qvvaQi !&&),444qvvaRj!166!9-666qvva!e}affQi(D000qvva!e}affQi(E111qvva!e}aiil+333qvvac{AFF1I&$...qvvac{AFF1I&%///qvvac{AKKN+t333qvvac{AIIaL)111r\   c            	         \        \        P                  ! \        ^,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \	        \        4      4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        ^ ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        \        ,          ,          4      \        P                  ! \        4      \        P                  ! \        \        ,          4      ,          \        P                  ! \        \        ,          4      ,          \        P                  ! \        4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        \        ,          ,          4      \        P                  ! \        4      \        P                  ! \        \        ,          4      ,          \        P                  ! \        4      ,          \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        \        ,          ,          4      \        P                  ! \        4      \        P                  ! \        \        ,          4      ,          4      e   Q h\        \        P                  ! \        \        \        ,          ,          4      \        P                  ! \        4      \        P                  ! \        \        ,          4      ,          \        P                  ! \        4      ,          4      RJ g   Q h\        \        P                  ! \        \        \        ,          ,          4      \        P                  ! \        4      \        P                  ! \        \        ,          4      ,          \        P
                  ! \        4      ,          4      e   Q h\        \        P                  ! \        ) \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        \         ,          \#        \        4      ,          ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \$        \&        ,          4      \        P
                  ! \$        4      \        P                  ! \&        4      ,          4      e   Q h\        \        P                  ! ^\)        \        4      ,          4      4      e   Q h\        \        P                  ! \        \        ,          4      \        P*                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P                  ! \        \        ,          4      \        P*                  ! \        4      \        P                  ! \        4      ,          4      RJ g   Q hR# r   )r   r   rL   r   r1   rQ   r   rJ   rP   rO   rK   rS   rR   r   r   r   r$   r0   r   r   r+   ri   rv   r\   rZ   test_real_powr     s   qvvad|QVVAY'4///qvvd1g

1.%777qvvad|QVVAY156>>>qvvad|QVVAY23;;;qvvad|QZZ]QVVAY674???qvvad|Q[[^akk!n<=EEEqvvad|Q[[^affQi78@@@qvvad|QVVAYQ78@@@qvvad|Q[[^,444qvvad|QZZ]QVVAY674???qvvad|QVVAYA67???qvvad|Q[[^aiil:;CCCqvvad|Q[[^aeeAh675@@@qvvad|Q[[^affQi78D@@@qvva!A#hQVVAaC[!81::ac?!JQVVTUY!VYZYcYcdeYf!fgkooooqvva!A#hQZZ!_!<qvvay!H1::VW=!XYaaaqvva!A#hQYYqs^!;<DDDqvva!A#hQVVAaC[!81::a=!HITQQQqvva!A#hQVVAaC[!81::a=!HIQQQqvvrAgA/4777qvvad|Q[[^,444qvvad|Q[[^,444qvvad|Q[[^,444qvva!B$s1v+&'3t;;; qvvad|QZZ]QZZ]:;CCC qvvaAh (((qvvad|QVVAY23;;;qvvad|QVVAYA674???r\   c            	         \        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \        4      ,           4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^\        ,          \        ,          RR7      4      4      RJ g   Q h\        \        P                  ! \        \        \        ,          RR7      4      4      RJ g   Q h\        \        P                  ! \        \        \        ,          ^,          RR7      4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q h\        \        P                  ! \        ^\        ,          4      4      4      RJ g   Q h\        \        P                  ! \        \        ^,           4      4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        \        4      4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        \        4      4      4      \        P                  ! \        4      4      e   Q h\        \        ^\        ,          \        ,          \        ,          RR7      \        RR7      p \        \        P                  ! V 4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      \        ,          4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      \        ,          4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      RJ g   Q hR # )NTFr   )r   r   rL   r8   r   r6   r/   r$   r   r0   rM   rO   r&   rJ   r-   r,   r   s    rZ   test_real_functionsr     st    qvvc!f~&&&qvvc!f~&&&qvvc!f~qvvay)T111qvvc!f~qvvay)T111 qvvc!f~&&&qvvc!f~qvvay)T111qvva#a&j!166!9-555qvvc!B$q&5123t;;;qvvc"Q$/01T999qvvc"Q$q&5123u<<< qvvc!f~%'''qvvc!A#h E)))qvvc!a%j!"e+++qvvc!f~qyy|,444qvvc!f~q{{1~.%777qvvc#a&k"AKKN3;;;qvvc#a&k"AIIaL1999	S2aE*A	>Bqvvbz199Q<(D000qvvc!fai !++a.1T999qvvc!fai !))A,/777 qvvbe}%%%qvvbe}%%%r\   c                     \        \        P                  ! \        ^^\        ,           ^.^\        ,
          ^\        .^\        ) ^..4      4      4      R8X  g   Q h\        \        P                  ! \        ^^\        ,           ^.^\        ,           ^\        .^\        ) ^..4      4      4      R8X  g   Q h\        RRR7      p \        \        P                  ! \        ^^\        ,           V .^\        ,
          ^\        .^\        ) ^..4      4      4      R8X  g   Q h\        \        P                  ! \        R4      4      4      R8X  g   Q h\        \        P                  ! \        R^\        ^ 3R34      4      4      R8X  g   Q h\        \        P                  ! \        R^V ^ 3R34      4      4      R8X  g   Q h\        ^ R	\        ,
          ^ .^\        ,
          ^ \        ) .^ \        ) ^ ..4      p\        \        ) ^\        ,           ^ .R	\        ,           ^ ^\        ,           .^ R	\        ,           \        ) ..4      p\        \        P                  ! V4      4      RJ g   Q h\        \        P                  ! V4      4      RJ g   Q h\        \        P                  ! V^,          4      4      RJ g   Q hV^,          pVP                  4        \        \        P                  ! V4      4      RJ g   Q h\        ^ R	\        ,
          ^ .V ^ \        ) .^ \        ) ^ ..4      p\        \        P                  ! V4      4      e   Q hR# )
r   TFr   rM   N      r   r   r   r^   )r   )r      r   r   r   )	r   r   rW   r?   r   r(   r@   rX   simplify)r   ABC_As        rZ   test_matrixr     s    q{{6Aq1ua=1q5!Q-!aR"LMNOSWWWWq{{6Aq1ua=1q5!Q-!aR"LMNOSXXXXT"Aq{{6Aq1ua=1q5!Q-!aR"LMNOSWWWWq{{<(PQRSW[[[[q{{<Aqz;(OPQRV[[[[q{{<Aqz;(OPQRVZZZZ 	BFAQA2QB
;<A!QUAaAE 2QQODEAqq!"d***qq!"d***qq!t$%...	
AAJJLqq!"d***	!R!VQ!Qa!QZ8	9Bqr"#+++r\   c                  x   \        \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! ^\        ,          4      4      RJ g   Q h\        \        P                  ! \        ^,          4      4      RJ g   Q h\        \        P                  ! \        ^4      4      4      RJ g   Q h\        \        P                  ! ^\        ^4      ,          4      4      RJ g   Q h\        \        P                  ! \        ^4      ^,          4      4      RJ g   Q h\        \        P                  ! \        \        ^4      ,          4      4      RJ g   Q h\        \        P                  ! \        ^\        \        ^4      ,          ,           4      4      4      RJ g   Q h\        \        P                  ! ^\        \        ^4      \        ^^4      ,          ,          ,           4      4      RJ g   Q h\        \        P                  ! ^\        \        ^4      ^\        ,          ,          ,          ,           4      4      e   Q h\        \        \        \        \        \        3 EF6  p \        \        P                  ! V ! ^4      4      4      RJ g   Q h\        \        P                  ! V ! ^RR7      4      4      RJ g   Q h\        \        P                  ! V ! ^ RR7      4      4      RJ g   Q h\        \        P                  ! V ! \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! V ! \        4      4      \        P                  ! \        4      \        P                  ! \        4      ,          4      RJ d   EK7  Q h	  \        \         3 EF=  p\        \        P                  ! V! ^4      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      RJ g   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      \        P                  ! \        ^,
          4      ,          4      RJ d   EK>  Q h	  \"        \$        3 F  p\        \        P                  ! V! ^4      4      4      RJ g   Q h\        \        P                  ! V! ^RR7      4      4      RJ g   Q h\        \        P                  ! V! \        4      4      \        P                  ! \        4      4      RJ d   K  Q h	  \        \        P                  ! \        \        ^4      4      4      4      e   Q h\        \        P                  ! \        \&        \        \        ^4      ,          ,           4      4      4      e   Q h\        \        P                  ! R4      4      RJ g   Q h\        \        P                  ! \        4      \        P(                  ! \        4      4      RJ g   Q h\        \        P(                  ! \        4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \+        ^\        RR7      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \+        \        \&        4      4      4      e   Q h\        \        P                  ! \+        ^\        RR7      4      4      e   Q h\        \        P                  ! \        \        \        ,          ,          4      4      e   Q h\        \        P                  ! \        \,        ,          4      \        P.                  ! \,        4      \        P0                  ! \,        4      ,          4      RJ g   Q h\        \        P                  ! \        \&        ,          4      \        P                  ! \        4      \        P2                  ! \&        4      ,          4      RJ g   Q hR # )NTFr   g(\@)r   r   rp   r   r   r1   r!   r$   r/   r8   r9   r4   r5   r6   rh   r0   r2   r7   r3   r   transcendentalr&   r   rJ   rP   rK   r   s      rZ   test_algebraicr  *  s   q{{1~&&&q{{1~$&&&q{{1Q3 D(((q{{1Q3 D(((q{{47#$,,,q{{1T!W9%&$...q{{4719%&$...q{{1T!W9%&$...q{{4Ad1gI./0D888q{{1qa(2r*:!:::;<DDDq{{1qa2b5!11123;;;3T4-1;;qt$%...1;;qU345>>>1;;qU345===1;;qt$akk!n5===1;;qt$akk!nqyy|&CDMMM . 4[1;;qt$%...1;;qU345>>>1;;qU345===1;;qt$akk!n5===1;;qt$akk!nqyyQ7G&GHEQQQ  4[1;;qt$%...1;;qU345>>>1;;qt$akk!n5>>> 
 q{{4A<()111q{{4Ad1gI./0888q{{4 !T)))q{{1~q//23u<<<q"AKKN3u<<< q{{3q!e45q{{1~FNNNq{{3q!9%&...q{{3q!e456>>>q{{1r!t9%&...q{{2q5!!))A,A">?5HHHq{{1a4 Q!**Q-!?@DHHHr\   c                 z   \        \        P                  ! \        4      4      e   Q h\        P
                  ! \        P                  ! \        4      4       \        \        P                  ! \        4      4      RJ g   Q h\        P                  ! 4        \        \        P                  ! \        4      4      e   Q hR# )z Test ask with global assumptionsNT)r   r   rJ   r   r   addclearrv   r\   rZ   test_globalr  `  sq    qyy|$$$199Q<(qyy|$$$qyy|$$$r\   c                 ^   \        \        P                  ! \        4      4      e   Q h\	        4       p V P                  \        P                  ! \        4      4       \        \        P                  ! \        4      V R7      RJ g   Q h\        \        P                  ! \        4      4      e   Q hR# )z(Test ask with custom assumptions contextN)contextT)r   r   rJ   r   r   r  )local_contexts    rZ   test_custom_contextr
  i  so    qyy|$$$&(Maiil#qyy|]3t;;;qyy|$$$r\   c            	      X   \        \        P                  ! \        4      \        P                  ! \        4      \        P
                  ! \        4      ,	          4      R J g   Q h\        \        P                  ! \        4      \        \        P                  ! \        4      \        P
                  ! \        4      4      4      R J g   Q h\        \        P                  ! \        4      \        \        P                  ! \        4      \        P                  ! \        4      4      4      R J g   Q hR# r   )r   r   rQ   r   rL   rP   r:   r<   rv   r\   rZ   test_functions_in_assumptionsr  r  s    qzz!}affQi1::a=89UBBBqzz!}jAJJqMBCuLLLqzz!}c!&&)QZZ];<EEEr\   c                     \        \        P                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      \        P                  ! \        4      ,	          R 7      RJ g   Q hR# )r   FN)r   r   rQ   r   rJ   rL   rP   rv   r\   rZ   test_composite_askr  x  sK    qzz!}qyy|+FF1IA.0389 9 9r\   c                  0	   \        R 4      R J g   Q h\        R4      RJ g   Q h\        \        P                  ! \        4      ( \        P                  ! \        4      4      R J g   Q h\        \        P
                  ! \        4      ( \        P                  ! \        4      4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P
                  ! \        4      \        P                  ! \        4      ,          \        P                  ! \        4      4      R J g   Q h\        \        P
                  ! \        4      \        P                  ! \        4      ,          4      e   Q h\        \        P
                  ! \        4      \        P                  ! \        4      ,	          \        P                  ! \        4      4      RJ g   Q h\        \        \        P
                  ! \        4      \        P                  ! \        4      RR7      \        P                  ! \        4      4      RJ g   Q h\        \        \        P
                  ! \        4      \        P                  ! \        4      RR7      4      e   Q h\        \        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      4      R J g   Q h\        \        \        P                  ! \        4      \        P                  ! \        4      4      4      e   Q h\        \        \        P                  ! \        4      \        P                  ! \        4      4      \        P                  ! \        4      4      e   Q h\        \        P
                  ! \        4      \        P                  ! \        4      ,          \        P
                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q hR# r   )r   r   rQ   r   rP   rL   rI   rJ   r;   r:   rR   rv   r\   rZ   test_composite_propositionr  }  s   t9u:

1~qzz!}-555q	z1==+,444qzz!}qyy|+QZZ];uDDDqzz!}qyy|+,444qvvay199Q<'A74???qvvay199Q<'(000qvvayAJJqM)1::a=9UBBBw	q	1::a=5234::a=BEJK K Kwqvvay!**Q-%@AIIIz!))A,q	2AFF1I>$FFFz!))A,q	23;;;z!**Q-16		!EMMMqvvay199Q<'QYYq\)ABdJJJr\   c                  *   \        \        P                  ! \        4      \        P                  ! \        4      ( ,          4      R J g   Q h\        \        P                  ! \        4      \        P                  ! \        4      ( ,          4      RJ g   Q hR# ro   )r   r   rL   r   rv   r\   rZ   test_tautologyr    sV    qvvayAFF1I:%&$...qvvayAFF1I:%&%///r\   c                     \        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,          4      R J g   Q h\        \        P
                  ! \        4      \        P
                  ! \        4      \        P
                  ! \        4      ,          4      e   Q h\        \        P
                  ! \        4      \        P                  ! \        4      \        P
                  ! \        4      ,	          4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,	          ( 4      R J g   Q hR# r   )r   r   rL   r   r   rP   rv   r\   rZ   test_composite_assumptionsr    s    qvvay!&&)affQi/0D888qzz!}ajjmajjm;<DDDqzz!}affQi1::a=89AAAqvvayAFF1I234<<<r\   c            	        \        \        R 4        ! R R\        4      p  \        4       ;_uu_ 4        \	        RV 4       RRR4       \        4       ;_uu_ 4        \        \        P                  ! \        4      4      RJ g   Q h RRR4       \        4       ;_uu_ 4        \        \        P                  ! \        ^,           4      4      e   Q h RRR4       \        4       ;_uu_ 4        \        RV 4       RRR4       \        =\        \        R 4        ! R R	\        4      p T! 4       \        n        \        P                  P                  \        4      R
 4       p\        \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        ^,           4      4      e   Q h \        =\        \        R 4       R#   + '       g   i     EL; i  + '       g   i     ELg; i  + '       g   i     EL1; i  + '       g   i     EL; i  \        4       ;_uu_ 4        \        RT 4       RRR4       \        =i   + '       g   i     \        =i ; i; i  \        =i ; i)z7test that you can add keys to the ask system at runtimec                  H    \        \        P                  ! \        4      4      # r   r   r   my_keyr   rv   r\   rZ   <lambda>(test_key_extensibility.<locals>.<lambda>      3qxx{#3r\   c                   0   a  ] tR tRt o ]R 4       tRtV tR# ),test_key_extensibility.<locals>.MyAskHandleri  c                    R # Trv   exprr   s   &&rZ   r)   3test_key_extensibility.<locals>.MyAskHandler.Symbol      r\   rv   N)__name__
__module____qualname____firstlineno__staticmethodr)   __static_attributes____classdictcell__)__classdict__s   @rZ   MyAskHandlerr    s     		 
	r\   r,  r  NTc                  H    \        \        P                  ! \        4      4      # r   r  rv   r\   rZ   r  r    r  r\   c                       ] tR tRtRtR# )+test_key_extensibility.<locals>.MyPredicatei  rv   Nr$  r%  r&  r'  r)  rv   r\   rZ   MyPredicater/        r\   r1  c                     R # r  rv   r   s   &&rZ   _!test_key_extensibility.<locals>._  r#  r\   c                  H    \        \        P                  ! \        4      4      # r   r  rv   r\   rZ   r  r    r  r\   )rC   AttributeErrorr   rD   r   r   r   r  r   r   r   registerr)   )r,  r1  r4  s      rZ   test_key_extensibilityr9    s    >34z #%%X|4 &#%%qxx{#t+++ &#%%qxxA'/// &
 $%%8\2 &H
>34i =	
		6	"	 
#	188A;4'''188AaC=!)))H
>345 &%%%%%%%%
 &%%#%%8\2 &H &%H Hs   H  GH  *G$H   /G8H  *H&BI+ G!		H  $G5	/	H  8H			H  H	 I(3I	 I(I%I(+I3c                     ^ RI Hp   ! R RV 4      p\        P                  P	                  V4      R 4       p\        \        P                  ! V! 4       4      4      RJ g   Q hR# )zBtest that new types can be added to the ask system at runtime
    )Basicc                       ] tR tRtRtR# )'test_type_extensibility.<locals>.MyTypei  rv   Nr0  rv   r\   rZ   MyTyper=    r2  r\   r>  c                     R # r  rv   r   s   &&rZ   r4  "test_type_extensibility.<locals>._  s    r\   TN)
sympy.corer;  r   rU   r8  r   )r;  r>  r4  s      rZ   test_type_extensibilityrB    sV     !  WWf  qwwvx !T)))r\   c                  B   \        \        \        P                  \        P                  4      \        \        P                  \        P
                  4      \        \        P
                  \        P                  4      4      p \        P                  \        P                  \        P
                  \        P                  0p\        V 4      p\        W4      pV\        P                  ,          \        P
                  \        P                  \        P                  08X  g   Q hR # r   )	r=   r;   r   rJ   rK   rL   rM   r>   r   )known_factsknown_facts_keysknown_facts_cnfmappings       rZ   test_single_fact_lookuprH    s    gaii4ajj!&&1affaii02K 		1::qvvqyyA[)O !1CG1::1661::qyy"AAAAr\   c                  h   \        \        \        P                  ! \        4      \        P
                  ! \        4      4      \        \        P
                  ! \        4      \        P                  ! \        4      4      \        \        P                  ! \        4      \        P                  ! \        4      4      4      p \        P                  ! \        4      \        P
                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      0p\        W4      \        P                  \        P                  0\        4       3\        P                  \        P                  \        P                  \        P
                  \        P                  0\        4       3\        P
                  \        P                  \        P
                  \        P                  0\        4       3\        P                  \        P                  \        P                  0\        4       3/8X  g   Q hR # r   )
r=   r;   r   rJ   r   rK   rL   rM   r   set)rD  rE  s     rZ   test_generate_known_facts_dictrK    s&   gaiilAJJqM:ajjmQVVAY7affQi168K 		!ajjmQVVAY		!M$%5C	
aii[#%(	
aiiAJJ?G	
qyy!**aff5su=	
199aff%su-	// / /r\   c                 V   \        R4      p \        V 4      p\        P                  ! V4      p\	        4       pVP                  R VP                   4       4       \        4       V8X  g   Q h\        4        Uu. uF
  qD! V 4      NK  	  pp\        WQ4      p\        4       V8X  g   Q hR# u upi )z)"Test that ask_generated.py is up-to-dater   c           	   3   d   "   T F&  p\        R  \        V\        R7       4       4      x  K(  	  R# 5i)c              3   v   "   T F/  p\        VP                  P                  VP                  4      x  K1  	  R # 5ir   )r   argfunctionis_Not).0lits   & rZ   	<genexpr>8test_known_facts_consistent.<locals>.<genexpr>.<genexpr>  s*     bNasWSWW%5%5szzBBNas   79)keyN)	frozensetsortedstr)rR  cls   & rZ   rT  .test_known_facts_consistent.<locals>.<genexpr>  s*     ymxgi9bfUW]`Nabbbmxs   .0N)r)   r   r   to_CNFrJ  updateclausesr   r   r   r   )r   factcnfr^  predkeysrG  s          rZ   test_known_facts_consistentrc    s     	sA1D
**T
CeGNNympmxmxyy G+++ 4 67 6DG 6D7'3G!W,,, 8s   6B&c            
      >   \        \        P                  ! R \        ^4      ^,          \	        ^4      ^,          ,           ,           4      4      RJ g   Q h\        \        P
                  ! \        \        ^4      \        ^4      RR7      4      4      RJ g   Q h\        \        P                  ! \        \        ^4      \        ^4      RR7      4      4      RJ g   Q h\        \        P                  ! \        \        ^4      \        ^4      RR7      4      4      RJ g   Q hR# )l   
>V3&Z
 TFr   N)	r   r   rU   r6   r8   rR   r   r%   rJ   rv   r\   rZ   test_Add_queriesre    s    qww+s1vqy3q619/DEFG4OOOqvvc!A$!u5674???qwws1Q41678EAAAqyyQqT1Q4%89:dBBBr\   c                      \        \        P                  ! \        ^,           4      4      ;_uu_ 4        \	        \        P                  ! \        4      4      '       d   Q h RRR4       R#   + '       g   i     R# ; i)rG   N)r   r   rP   r   r   rv   r\   rZ   test_positive_assumingrg   	  sE    	!**QU#	$	$qzz!}%%%%% 
%	$	$	$s   ,A**A;	c                  (    \        \        R  4       R# )c                  f    \        \        \        \        4      ,          \        P
                  4      # r   )r   r$   r0   r   r   rL   rv   r\   rZ   r  !test_issue_5421.<locals>.<lambda>	  s    c"SV)QVV4r\   NrC   	TypeErrorrv   r\   rZ   test_issue_5421rm  	  s    
945r\   c                  (    \        \        R  4       R# )c                  4    \        \        P                  4      # r   )r   r   rP   rv   r\   rZ   r  !test_issue_3906.<locals>.<lambda>
	  s    c!**or\   Nrk  rv   r\   rZ   test_issue_3906rq  		  s    
9-.r\   c                  L   \        \        P                  ! \        \        4      ^,          4      \        P                  ! \        4      4      e   Q h\        \        P
                  ! \        \        4      ^,          4      ( \        P                  ! \        4      4      RJ g   Q hR# )r   NT)r   r   rP   r0   r   rQ   rv   r\   rZ   test_issue_5833rs  	  s_    qzz#a&!)$ajjm4<<<

3q619%%qzz!}5===r\   c                  J    \        \        R  4       \        \        R 4       R# )c                      \        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,          4      # r   )r   r   rP   r   rQ   rv   r\   rZ   r  !test_issue_6732.<locals>.<lambda>	  (    s1::a=!**Q-!**Q-2OPr\   c                      \        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! \        4      ,          4      # r   )r   r   rQ   r   rP   rv   r\   rZ   r  rv  	  rw  r\   N)rC   
ValueErrorrv   r\   rZ   test_issue_6732rz  	  s    
:PQ
:PQr\   c            
      4
   \        \        P                  ! \        \        4      4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        \        4      4      \        P
                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ^^4      4      4      4      R J g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      \        P                  ! \        ^,
          4      ,          4      R J g   Q h\        \        P                  ! \        \        4      4      \        P
                  ! \        4      \        P                  ! \        ^,           4      ,          4      RJ g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      e   Q h\        \        P                  ! \        \        ^^4      4      4      4      R J g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        ^,           4      \        P                  ! \        ^,
          4      ,          4      R J g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        ^,
          4      4      e   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      R J g   Q h\        \        P                  ! \        \        4      4      \        P                  ! \        4      4      RJ g   Q h\        \        P                  ! \        \        4      4      4      e   Q hR# ro   )r   r   rP   r5   r   rQ   ri   r   r4   r!   r   r   r2   r3   rL   rO   rv   r\   rZ   test_issue_7246r|  	  s   qzz$q'"AJJqM2d:::qzz$q'"AJJqM2e;;;qzz$q'"AFF1I.%777qzz$q'"#+++qzz$q'"AJJqM2:::qzz$q'"AFF1I.666qzz$x1~./0D888qzz$q'"AJJqMAMM!a%4H$HITQQQqzz$q'"AJJqMAMM!a%4H$HIURRRqzz$q'"AJJqM2:::qzz$x1~./0D888qzz$q'"AMM!a%$81==Q;O$OPTXXXXqzz$q'"AMM!a%$89AAAqzz$q'"AJJqM2d:::qzz$q'"AFF1I.$666qzz$q'"AKKN3u<<<qzz$q'"#+++r\   c                      \        \        P                  ! \        \        4      4      \        P
                  ! \        4      4      R J g   Q hR# r   )r   r   rP   r2   r   ri   rv   r\   rZ   test_issue_7246_failingr~  .	  s.     qzz$q'"AFF1I.$666r\   c                     \        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      e   Q h\        \        P
                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        R RR	7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR
7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      e   Q h\        \        P                  ! V 4      4      e   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P                   ! V 4      4      RJ g   Q h\        R RR7      p \        \        P"                  ! V 4      4      RJ g   Q h\        \        P$                  ! V 4      4      RJ g   Q h\        R RR7      p \        \        P$                  ! V 4      4      RJ g   Q h\        \        P"                  ! V 4      4      RJ g   Q hR# )r   T)rL   F)rO   r   N)rP   )rI   )rQ   )r   )rT   )rU   )rV   )rR   )rS   )rh   )ri   rJ   )rK   )rN   )r(   r   r   rL   rO   rM   rP   rQ   rI   ri   rT   rU   rV   rR   rS   rh   rJ   rK   rN   )r   s    rZ   test_check_old_assumptionr  5	  sR   $Aqvvay>T!!!q{{1~%'''qyy|$$$t$Aqvvay>U"""q{{1~$&&&qyy|$$$T"Aqvvay>!!!qyy|$$$d#Aqzz!}%%%qzz!}&&&qvvay>T!!!'Aq}}Q E)))d#Aqzz!}&&&qzz!}%%%&Aqzz!}&&&qzz!}%%%qvvay>!!!D!Aqxx{t###4 Aqwwqz?d"""q{{1~%'''t$Aqwwqz?e###q{{1~$&&&$Aqvvay>T!!!quuQx=E!!!Aqvvay>U"""quuQx=D   T"Aqyy|$$$qvvay>U"""$Aqvvay>T!!!T"Aqyy|$$$d#Aqzz!}%%%q||A5(((%Aq||A4'''qzz!}&&&r\   c                  d   \        \        P                  ! R 4      4      e   Q h\        \        P                  ! R4      4      e   Q h\        \        P                  ! R4      4      e   Q h\        \        P
                  ! R4      4      e   Q h\        \        P                  ! R4      4      e   Q hR# )rd   Ng      @g      @g       @)r   r   rJ   rU   rV   rR   rS   rv   r\   rZ   test_issue_9636r  {	  s    qyy~&&&qwws|$$$q{{3 (((qvvc{###quuSz?"""r\   c                  z   \        \        P                  ! ^ \        ,          4      4      e   Q h\        \        P                  ! ^ \        ) ,          4      4      e   Q h\        \        P                  ! ^ \        ,          4      4      e   Q h\        \        P                  ! ^ \        ) ,          4      4      e   Q hR# r   N)r   r   rO   r   rL   rv   r\   rZ   test_autosimp_used_to_failr  	  s|    q{{1a4 !)))q{{1r7#$,,,qvvad|$$$qvva1"g'''r\   c                  F  a ^ RI Ho  ! V3R lR\        4      p  \        4       ;_uu_ 4        \	        RV 4       RRR4       \        RRR7      p\        4       ;_uu_ 4        \        \        P                  ! ^4      4      '       g   Q h RRR4       \        4       ;_uu_ 4        \        \        P                  ! V4      \        P                  ! V4      4      '       g   Q h RRR4       \        = ! R	 R
\        4      p V! 4       \        n        \        P                  P                  \        4      R 4       p\        P                  P                  \
        4      V3R l4       p\        \        P                  ! ^4      4      '       g   Q h\        \        P                  ! V4      \        P                  ! V4      4      '       g   Q h \        =R#   + '       g   i     EL; i  + '       g   i     ELd; i  + '       g   i     EL ; i  \        =i ; i  \        =i ; i)r   )	conjunctsc                   H   <a  ] tR tRt o ]R 4       t]V3R l4       tRtV tR# )/test_custom_AskHandler.<locals>.MersenneHandleri	  c                v    \        \        P                  ! \        V ^,           ^4      4      4      '       d   R# R# rG   TNr   r   rJ   r0   r   s   &&rZ   r    7test_custom_AskHandler.<locals>.MersenneHandler.Integer	  )    199S1-.// 0r\   c                &   < V S! V4      9   d   R # R# r   rv   r!  r   r  s   &&rZ   r)   6test_custom_AskHandler.<locals>.MersenneHandler.Symbol	      y-- .r\   rv   N)	r$  r%  r&  r'  r(  r    r)   r)  r*  )r+  r  s   @rZ   MersenneHandlerr  	  s+     		 
	 
	 
	r\   r  mersenneNr   Tr  c                       ] tR tRtRtR# )1test_custom_AskHandler.<locals>.MersennePredicatei	  rv   Nr0  rv   r\   rZ   MersennePredicater  	  r2  r\   r  c                 v    \        \        P                  ! \        V ^,           ^4      4      4      '       d   R# R# r  r  r   s   &&rZ   r4  !test_custom_AskHandler.<locals>._	  r  r\   c                 &   < V S! V4      9   d   R # R# r   rv   r  s   &&rZ   r4  r  	  r  r\   )sympy.logic.boolalgr  r   rD   r   r)   r   r   r  r   r8  r    )r  r   r  r4  r  s       @rZ   test_custom_AskHandlerr  	  sn   -* 	#%%Z9 &3%#%%qzz!}%%%% &#%%qzz!}ajjm4444 & JI &(
	
		W	%	 
&	 
		V	$	 
%	 1::a=!!!!1::a=!**Q-0000J5 &%% &%%%%% J$ Js^   H G'H !(G%
H $=G9"H  CH G"		H %G6	0	H 9H
		H HH c                      ! R  R\         4      p  V ! 4       \        n        \        P                  P                  \        \        4      R 4       p\        P                  P                  \        \        \        4      R 4       p\        \        P                  ! ^^4      4      '       g   Q h\        \        P                  ! ^^^4      4      '       g   Q h \        =R#   \        =i ; i)c                       ] tR tRtRtR# ).test_polyadic_predicate.<locals>.SexyPredicatei	  rv   Nr0  rv   r\   rZ   SexyPredicater  	  r2  r\   r  c                    a \        W.4      p\        ;QJ d    V3R  lV 4       F  '       d   K   RM	  RM! V3R  lV 4       4      '       g   R# V^,          V^ ,          ,
          ^8H  # )c              3   d   <"   T F%  p\        \        P                  ! V4      S4      x  K'  	  R # 5ir   r   r   rU   rR  r   r   s   & rZ   rT  5test_polyadic_predicate.<locals>._.<locals>.<genexpr>	  #     BTs1771:{33T   -0FTrX  all)int1int2r   r   s   &&f rZ   r4  "test_polyadic_predicate.<locals>._	  sK    4,'D3BTB333BTBBB7T!W$))r\   c                   a \        WV.4      p\        ;QJ d    V3R  lV 4       F  '       d   K   RM	  RM! V3R  lV 4       4      '       g   R# V^,          V^,          ,
          ^8H  ;'       d    V^,          V^ ,          ,
          ^8H  # )c              3   d   <"   T F%  p\        \        P                  ! V4      S4      x  K'  	  R # 5ir   r  r  s   & rZ   rT  r  	  r  r  FTr  )r  r  int3r   r   s   &&&f rZ   r4  r  	  sh    4t,-D3BTB333BTBBB7T!W$)DDd1gQ.?1.DDr\   N)r   r   	sexyprimer8  r    r   )r  r4  s     rZ   test_polyadic_predicater  	  s    	 #o	
		gw	/	* 
0	* 
		gw	8	E 
9	E 1;;q"%&&&&1;;q"b)****KAKs   CC C$c                      \        R 4      P                  e   Q h ! R R\         4      p V ! \        R4      4      pV ! \        R4      4      pVP                  VP                  J g   Q hR# )mypredicateNc                       ] tR tRtRtR# )5test_Predicate_handler_is_unique.<locals>.MyPredicatei	  rv   Nr0  rv   r\   rZ   r1  r  	  r2  r\   r1  mp1mp2)r   handlerr'   )r1  r  r  s      rZ    test_Predicate_handler_is_uniquer  	  sY     ]#++333i 
c%j
!C
c%j
!C;;#++%%%r\   c                  .   \        \        P                  ! \        ^ 4      \        P                  ! \        4      4      '       g   Q h\        \        P                  ! \        ^ 4      \        P
                  ! \        4      4      '       d   Q h\        \        P                  ! \        ^ 4      \        P                  ! \        4      4      '       d   Q h\        \        P                  ! \        ^ 4      \        P
                  ! \        4      4      '       g   Q hR# r  )r   r   r   r   ri   rh   r   rv   r\   rZ   test_relationalr  	  s    qttAqz166!9%%%%1441:qyy|,,,,1441:qvvay))))qttAqz199Q<((((r\   c                  *   \        \        P                  ! \        4      \        P                  ! \        4      \        P
                  ! \        \        4      ,          4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      ^ \        8  ,          4      e   Q h\        \        P                  ! \        4      \        P                  ! \        4      \        P                  ! ^ \        4      ,          4      e   Q hR # r   )r   r   r  r   rp   rP   r   r   rv   r\   rZ   test_issue_25221r  	  s    q"AKKNQZZ!_$DEMMMq"AKKNa!e$<=EEEq"AKKNQTT!AY$>?GGGr\   c                  l    \         P                  p \        \        P                  ! V 4      4      e   Q hR # r   )r%   r   r   r   rQ   r   s    rZ   test_issue_27440r  	  s$    
%%Cqzz#'''r\   )	sympy.abcr   r   r   r   r   r   r	   r
   r   r   sympy.assumptionsr   r   r   r   r   sympy.assumptions.assumer   r   r   sympy.assumptions.cnfr   r   sympy.assumptions.factsr   r   r   r   sympy.assumptions.handlersr   sympy.assumptions.ask_generatedr   r   sympy.core.addr   sympy.core.numbersr   r    r!   r"   r#   r$   sympy.core.singletonr%   sympy.core.powerr&   sympy.core.symbolr'   r(   r)   (sympy.functions.combinatorial.factorialsr*   $sympy.functions.elementary.complexesr+   r,   r-   r.   &sympy.functions.elementary.exponentialr/   r0   (sympy.functions.elementary.miscellaneousr1   (sympy.functions.elementary.trigonometricr2   r3   r4   r5   r6   r7   r8   r9   r  r:   r;   r<   r=   r>   sympy.matricesr?   r@   sympy.testing.pytestrA   rB   rC   rD   rE   re   r[   r_   rb   rf   rj   rm   rw   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r  r9  rB  rH  rK  rc  re  rg  rm  rq  rs  rz  r|  r~  r  r  r  r  r  r  r  r  r  rv   r\   rZ   <module>r     s   2 2 2  L L .F F 1  B B "   2 2 > D D = 90 0 0 E E /  ,(,(,(&,R+*,,121424-0-&`,(^,B,*,*,*h"T|2~2S
*  
 , ,.. H) H)VCDL T TU: KX KX\fBR LX LX^'DT',T=:;<GCT T TTF@ 8: 8:v::2. @F & &B,0 2I 2Ij%%F9
K$0=%5P*	B
/ - -C&
6/>
R
,. 7 7C'L#((V6
&)H(r\   