a fŸWcKć@s.dZddlZgd¢Zdd„Zedkr*eƒdS)zFpasslib.utils.scrypt._gen_files - meta script that generates _salsa.pyéN) )éré é)érré )rrré )rrré)réér)rrr r)r rrr)r r rr)éé ér)ér r r)r rr r)r r rr)ééé r)rrrr)rrrr)rrrr)r rrr)rr rr)rrr r)rrrr)r r rr)rr r r)rrr r)r rrr)rr rr)rrr r)rrrr)r rrr)rrr r)rrrr)r rrr)rr rrcCstj tj t”d”}t|dƒ}|j}dd„tdƒDƒ}d}d}d}d  d d „tdƒDƒ”}d  |”}t||d } |d | ƒt t ƒD]P\} \}} } } |dt| | | ||| || ||dd| >d| d| d ƒq†|dƒtdƒD]} ||d| | | fƒqč|d| ƒdS)Nz _salsa.pyŚwcSsg|] }d|‘qS)zv%d©©Ś.0ŚirrśD/usr/lib/python3.9/site-packages/passlib/crypto/scrypt/_gen_files.pyŚ Sózmain..éz z z z, css|]}d|VqdS)zb%dNrrrrrŚ Xrzmain..)ŚVLISTŚTLISTa"""passlib.utils.scrypt._salsa - salsa 20/8 core, autogenerated by _gen_salsa.py""" #================================================================= # salsa function #================================================================= def salsa20(input): """apply the salsa20/8 core to the provided input :args input: input list containing 16 32-bit integers :returns: result list containing 16 32-bit integers """ %(TLIST)s = input %(VLIST)s = \ %(TLIST)s i = 0 while i < 4: zĄ # salsa op %(idx)d: [%(it)d] ^= ([%(is1)d]+[%(is2)d])<<<%(rot1)d t = (%(src1)s + %(src2)s) & 0xffffffff %(dst)s ^= ((t & 0x%(rmask)08x) << %(rot1)d) | (t >> %(rot2)d) r é ) ŚidxZis1Zis2ŚitZsrc1Zsrc2ŚdstZrmaskZrot1Zrot2z i += 1 zb%d = (b%d + v%d) & 0xffffffff z£ return %(TLIST)s #================================================================= # eof #================================================================= ) ŚosŚpathŚjoinŚdirnameŚ__file__ŚfileŚwriteŚrangeŚdictŚ enumerateŚ _SALSA_OPS)ŚtargetZfhr(ZVNAMESZPADZPAD2ZPAD3rrŚkwdsrZsource1Zsource2ŚrotaterrrŚmainNsD  žķłū łr0Ś__main__)Ś__doc__r"r,r0Ś__name__rrrrŚs AG