ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Bd\Rc@sNdZdgZddlZddlmZdefdYZdZdS(s$Id$t WindowsRNGiN(tBaseRNGcBs2eZdZdZdZdZdZRS(scCs tj|_tj|dS(N(t winrandomtnewt_WindowsRNG__winrandRt__init__(tself((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyR#scCs;|jrtdn|jjd}tj|dS(s*Work around weakness in Windows RNG. The CryptGenRandom mechanism in some versions of Windows allows an attacker to learn 128 KiB of past and future output. As a workaround, this function reads 128 KiB of 'random' data from Windows and discards it. For more information about the weaknesses in CryptGenRandom, see _Cryptanalysis of the Random Number Generator of the Windows Operating System_, by Leo Dorrendorf and Zvi Gutterman and Benny Pinkas http://eprint.iacr.org/2007/419 sI/O operation on closed fileiiNi(tclosedt ValueErrorRt get_bytesRtflush(Rtdata((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyR 's cCs d|_dS(N(tNoneR(R((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyt_close:scCs*|j|jj|}|j|S(N(R RR (RtNR ((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyt_read=s  (t__name__t __module__tnameRR R R(((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyRs    cOs t||S(N(R(targstkwargs((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyRGs(t __revision__t__all__Rtrng_baseRRR(((sI/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/OSRNG/nt.pyts   (