📄 librand_chacha-84646240b9ad4eca.rmeta
/home/palash/git/iron_learn/target/debug/deps/librand_chacha-84646240b9ad4eca.rmeta
Language: rmeta • Lines: 2612
rust
\�#rustc 1.92.0 (ded5c06cf 2025-12-08)���	ⷄ�ۆ��p��-225863f279df55c4��١�	�T�6a��D�
-5080178c80bf7a93��uӰ]����d��!�-06039bcfba61f665��**�٭T��HО�9�-3e2e950d4bac10b5��	�t�#3Ҵη��Ǣ-d25e598578fbf080�rustc_std_workspace_core������Nm��gmY���-327ea4f353b4eb8c���y.:i���gy"1�r-94fdfaf0af91a65d�miniz_oxide�M�^�yTLm�L�d=B-5312b588e5cfab93�adler2��;~�7�ɴ,P?���-1e0b0d62df36c85c�	hashbrown�L�ϫ	2݆y��q-2ed6a8f06fc51a9d�rustc_std_workspace_alloc�a���p��H����6Z�-05b02707a5b2a256�
std_detect�	c�LN����=1�ʶӐ-5978f0713dd5442d�rustc_demangle�X�Fq��UՃ�>7z
��-43b2ff22c18e1125�cfg_if�֦<����ɐ¬�-6a40188dd7d989d2�	addr2line���,2�!xb�"6�!�	-11d54e777384a9e5�gimli��2��I.�ġ�����-35018e994bad7042�object��T �f��Y�
hQec-2dc10b344e05b569�memchr��xZT9�C��I�Mg�-09f2ab7e0d97e07a��~ݤ	����h���-932f22f820d1e5ec�	rand_core�l-_I-�SW�*[��#J-375cbdf48043d588�	getrandom�xV�/�z�V���2#-f23d5fb9f19d1030���v�
їG}�/x$YxD-e720413b8edafa0a��	+Y�D]�O.ʼ��
$�-965a3d5e7b2182f0�
ppv_lite86��U��A�ú�|����-95b7ce66e99c8f7e�zerocopy�H�N)Mf�]�6\�|��-adc212c1e963433c�zerocopy_derive�&�s=���Ar>��d-ffaa6423b0547ee3�Deserialize�\��<�serde�<���Deserializer�d��/�
(&(	Serialize�L��P�
IGI
Serializer�T��r�
kik�$�h�$�h%add_pos�<��l�big�,���%d0123�,��l��,�����
X�Z�8�Y�
8�Y��Y��
H�Z�#�
 ��
X�Z�8�Y�
8�Y��Y��
H�Z�#�
 ��
X�Z�8�Y�
8�Y��Y��
H�Z�#�
 %refill_wide�\�.�9.�J�).�Jy.�J�.�J%refill_narrow_rounds���0�9T�J�)T�JyT�J�T�J%set_stream_param���5�9p�_�)p�_yp�_�p�_%get_stream_param���7�9|�_�)|�_y|�_�|�_%get_seed�D�9�9��_�)��_y��_���_%init_chacha�\�=�9��_�)��_y��_���_%
init_chacha_x�l�B�9��_�)��_y��_���_�chacha�	
BUF_BLOCKS�BLOCK_WORDS�Array64�
������as_mut���!�!�chacha_impl�guts�%%%%%%%%%%	%
%%%
%BLOCK�%BLOCK64�%LOG2_BUFBLOCKS�%	BUFBLOCKS�%BUFSZ64�%BUFSZ�%STREAM_PARAM_NONCE�%STREAM_PARAM_BLOCK�%round�<V�%diagonalize�>�%
undiagonalize�@�%B�
CBrefill4�EB
set_block_pos�B
get_block_pos�B	set_nonce�B	get_nonce�B�K%�MMach�%�O�%refill_wide_impl�Q�Q%
read_u32le�	ChaChaRng�
ChaChaCore�>_�a�aResults�agenerate�eSeed�fe	from_seed�h	k�lk�
onext_u32�onext_u64�o
fill_bytes�sget_word_pos�sset_word_pos�s
set_stream�s
get_stream�s�x
{�}�
abstract20��������ChaCha20Core���������ChaCha20Rng��rng��������seed���stream��word_pos���������������������������������������������������� 
abstract12��������ChaCha12Core���!��"#��$��ChaCha12Rng���%��&����������������������'��(������)������*+�����,������-�����������./��0��1	abstract8��������ChaCha8Core���2��34��5��
ChaCha8Rng���6��7����!������������������%ChaCha��b�����%��%%��%��%State����a���"����%����%�
��fn_impl������	impl_avx2���impl_avx���
impl_sse41���
impl_ssse3���	impl_sse2��%�
��#�����#��$��$��$��$%���#�����$��$%���#�����$��$%����#�������$���$�%����#������$���$�%�����#�������$����$��88 8#8#8#8C8C8E8E8G8H8I8J8K8Q8Q8T8`8`8`8d8d8p8q8r8r8t8u8v8w8x8~8~8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8���ٖ��ށ����1
�2��1�2��1�_�1��������I���?���2��2�2��2�_�2�2��2�2������Ӹ�wM�0��_�3��3|�3��3��3�2��3�3��3�_������������(��ԏO�����4��4�4��4��48�3��38�4���������v����5��5�5��5�_�5�5��5�5������o:ϳ8w��_�6��6|�6��6��6�5��6�6��6�_�������������Ŭs0g�D���7��7�7��7��78�6��68�7���� ��q� ݓ����9��9�9��9�_�9�9��9�9����!��q���:��_�9��9|�9��9��9�9��9�9��9�_���!���������z0�GD�{���:��:�:��:��:8�9��98�:����"��"�����(���l���<��<�<��<����#��#��"�����R4�H�������������������!_���������������������������������}������������������������������������a�����e�k���������j�����o�����z�����{����������������������	�_
=��C�
1�
EE�(|��	�
���B�#4��
�B���B�#16��
@+�C6=64�� �Cg,�C7>32���Ci,�C7>8��/ �Cm,�C7>32��O �Cy,�C7>32��] �C�-�C8?32�T\ �Cp�~�C��32�� �C�-�C8?32���C�-�C8?8��/ �C�-�C8?32��O �C�-�C8?32��] �C�-�C8?32�T\ �Cp�~�C��32�� �C�-�C8?32���C�-�C8?8��/ �C�-�C8?32��O �C�-�C8?32��] �C�-�C8?32�T\ �Cp�~�C��32��
�C��#4�C,�$16�d�,�4�C��-5�P�$94�C_��
�P��6�P�#2���t�6�P@�P,	��P@6�PY+�Pi6�P��+7�P��*�6�P�6�P�6�P_���<�5�PL�7�P'	*5�P(7�PN�P��48�P��P�.�5�P�7�P�5�P�7�P_���<�8�P�C��19�C,�$98�P_��
��":�U�$1��
�U��";�U�$0��
 �CD+�C6=32�,�
9�CF$�C/6:9�CBUFSZ��
 �CL+�C6=32�,�%
9�CS$�C/6:9�CBUFSZ�,�.
9�C�%�C07;9�CBUFSZ�Ya9�Cn�|�C���9�CBUFSZ���9�C����C���9�CBUFSZ�9�C�-�C9AF9�CBUFSZ�en9�C|���C���9�CBUFSZ���9�C����C��9�CBUFSZ�!*9�C8�G�CS[`9�CBUFSZ��:
 �C�,�C7>32�S[ �Co�}�C��32��;
 �C�,�C7>32��� �C�"�C.632�LU �Cj�y�C��32��=
 �C�,�C7>32�S[ �Co�}�C��32��� �C����C��32��� �C� �C,432��B
 �C�,�C7>32��B
�C�,�C7>24��� �C����C��32����C����C��24�HQ �Cf�u�C��32�LU�Cj�y�C��24��� �C�#�C/732���C�'�C3;24���
�2&�11�2�C@FM%\]��L��d��V�\��W�d��X�\��Y� \��Z�!T��[�����(% The ChaCha random number generators.�����B? These are native Rust implementations of RNGs derived from the���-* [ChaCha stream ciphers] by D J Bernstein.����� ## Generators�����PM This crate provides 8-, 12- and 20-round variants of generators via a "core"���LI implementation (of [`BlockRngCore`]), each with an associated "RNG" type��� (implementing [`RngCore`]).�����NK These generators are all deterministic and portable (see [Reproducibility]���96 in the book), with testing against reference vectors.�����#  ## Cryptographic (secure) usage�����NK Where secure unpredictable generators are required, it is suggested to use���63 [`ChaCha12Rng`] or [`ChaCha20Rng`] and to seed via���! [`SeedableRng::from_os_rng`].�����KH See also the [Security] chapter in the rand book. The crate is provided���	IF "as is", without any form of guarantee, and without a security audit.��	���	 ## Seeding (construction)��	���	KH Generators implement the [`SeedableRng`] trait. Any method may be used,���
MJ but note that `seed_from_u64` is not suitable for usage where security is���  important. Some suggestions:�����FC 1.  With a fresh seed, **direct from the OS** (implies a syscall):�\�     ```���A>     # use {rand_core::SeedableRng, rand_chacha::ChaCha12Rng};���-*     let rng = ChaCha12Rng::from_os_rng();���#      # let _: ChaCha12Rng = rng;�\�
�u��
@= 2.  **From a master generator.** This could be [`rand::rng`]���
OL     (effectively a fresh seed without the need for a syscall on each usage)���=:     or a deterministic generator such as [`ChaCha20Rng`].���OL     Beware that should a weak master generator be used, correlations may be���?<     detectable between the outputs of its child generators.���     ```ignore���:7     let rng = ChaCha12Rng::from_rng(&mut rand::rng());�\��u����(% See also [Seeding RNGs] in the book.����� ## Generation�����KH Generators implement [`RngCore`], whose methods may be used directly to���.+ generate unbounded integer or byte values.�<� ```���*' use rand_core::{SeedableRng, RngCore};���! use rand_chacha::ChaCha12Rng;�����=: let mut rng = ChaCha12Rng::from_seed(Default::default());�ܾ let x = rng.next_u64();���&# assert_eq!(x, 0x53f955076a9af49b);�<��}����NK It is often more convenient to use the [`rand::Rng`] trait, which provides���LI further functionality. See also the [Random Values] chapter in the book.�����96 [ChaCha stream ciphers]: https://cr.yp.to/chacha.html���KH [Reproducibility]: https://rust-random.github.io/book/crate-reprod.html���IF [Seeding RNGs]: https://rust-random.github.io/book/guide-seeding.html���KH [Security]: https://rust-random.github.io/book/guide-rngs.html#security���IF [Random Values]: https://rust-random.github.io/book/guide-values.html���41 [`BlockRngCore`]: rand_core::block::BlockRngCore���#  [`RngCore`]: rand_core::RngCore���+( [`SeedableRng`]: rand_core::SeedableRng���EB [`SeedableRng::from_os_rng`]: rand_core::SeedableRng::from_os_rng���?< [`rand::rng`]: https://docs.rs/rand/latest/rand/fn.rng.html���B? [`rand::Rng`]: https://docs.rs/rand/latest/rand/trait.Rng.html�����8�l��79https://www.rust-lang.org/logos/rust-logo-128x128-blk.png���;$�8����7%https://www.rust-lang.org/favicon.ico���'$�8�l��7#https://rust-random.github.io/rand/���%�������8�$���8�$���8�,���8unused_variables���$�8�$���8warnings�D���<%\]�d�e�d�V�c�W�b�X�a�Y� `�Z�!_�[�����T�4�����������"4�����[BlockRng�D��BlockRngCore�d�	CryptoBlockRng�t�
	CryptoRng�L��RngCore�<�|
SeedableRng�\�����L����:����{}��,ikSU:<��T��B��\��B�<�����2��1ٖ��ށ��j�1�P�j�1
�2]_<��j1!�C��4������2<��1^�^!��!�����1�ģ4����1��2�
�2$���!�����1��� 4����1��2�
�2$���9������2$��<��1 � ')��,����1�1�
 �2$���!�""����1#�_#��4������1��^�^��^��[�^buf��[����e�S����������������������q�aXÅÅą��:����!�!
#�2$���Ą\���e��,�8ChaChaXCore�\�&�8�,�$�,�8
ChaChaXRng�T�&�8�,�$�,�8rounds�4�&�8�$�$�,�8��&�8�$�$�,�8abst�$�&�8�,�$�*���e�+���8���,�8��+���8�4���8t,�$�8�L�$�8��8�84�,�8��\���8�,�&�8�"4�$�8$�8��'�8�,�8
�,�8��\���8�8����
�8$�$�8��&��8�8��'�8�L�(�8��'�8�4���8write�,�	���8��$�7ChaChaXCore {{}}���8$�8��d�8
�,�8��\���8!$�8�$��8��%�8!$�8�<��8�<��8���%�+���8�4�8�8�D����8�8$�$�8r��&��8�8$�'�8�<���8$� �8�,� �8�<���,�8�4�$��8�8˟� �7��%�8$�8��\�8
�,�8��\���
8!$�8�$����8��%�732��%�+���8�4�8�8�L���8�$�&�8$�'�8�$�(�8$���,�8��\���8�,�&�8�"4�'�8�
����8�$�$����7���%�7��$�8$�8Ìt�8
�,�8��\���<S A cryptographically secure random number generator that uses the ChaCha algorithm.���V<��<\ ChaCha is a stream cipher designed by Daniel J. Bernstein[^1], that we use as an RNG. It is���_<[ an improved variant of the Salsa20 cipher family, which was selected as one of the "stream���^<: ciphers suitable for widespread adoption" by eSTREAM[^2].���=<��<X ChaCha uses add-rotate-xor (ARX) operations as its basis. These are safe against timing���[<[ attacks, although that is mostly a concern for ciphers and not for RNGs. We provide a SIMD��� ^<U implementation to support high throughput on a variety of common hardware platforms.���!X<��"<[ With the ChaCha algorithm it is possible to choose the number of rounds the core algorithm���"^<Y should run. The number of rounds is a tradeoff between performance and security, where 8���#\<Z rounds is the minimum potentially secure configuration, and 20 rounds is widely used as a���#]< conservative choice.���$<��%<Z We use a 64-bit counter and 64-bit stream identifier as in Bernstein's implementation[^1]���%]<Z except that we use a stream identifier in place of a nonce. A 64-bit counter over 64-byte���%]<Y (16 word) blocks allows 1 ZiB of output before cycling, and the stream identifier allows���&\<Z 2<sup>64</sup> unique streams of output per seed. Both counter and stream are initialized���']<H to zero but may be set via the `set_word_pos` and `set_stream` methods.���(K<��(< The word layout is:���)<��)< ```text�\�)<' constant  constant  constant  constant���)*<# seed      seed      seed      seed���)&<Ҳ��*&<( counter   counter   stream_id stream_id���*+<�}<�+<��+<K This implementation uses an output buffer of sixteen `u32` words, and uses���+N<3 [`BlockRng`] to implement the [`RngCore`] methods.���+6<��,<9 [^1]: D. J. Bernstein, [*ChaCha, a variant of Salsa20*](���,<<$       https://cr.yp.to/chacha.html)���-'<��-<3 [^2]: [eSTREAM: the ECRYPT Stream Cipher Project](���-6<(       http://www.ecrypt.eu.org/stream/)���.++�.�.�.8�4�.�.�.8t,�.$�.8�,�.8�.84�.,�.8��T�.�.�/8��/&�/8��D�/�/,�/8��\�/�/$�/8$�/8��\�/8
�/,�/8��T�/�/�1
8!$�/8�$�/�/�/�/8��/%�/7���/%�/+�0�0�08�4�08�08�L�0�0�08�$�0&�08$�0'�08�$�0(�08$�0�0�18�08�$�0�0,�08��\�0'�08�L�0�0�08�$�0%�08$�1�1�18��1&�18��D�1'�18�
�1�1�18�$�1$�18$�18��<�18
�2,�28��T�2�2�5+�2�2�28�4�28�28�D�2�2�2�28�28$�2(�28��2�2�38$�2 �28��2 �28�D�2�2�2+�3�3�38�4�38�38�D�3�3�3�38�38$�3(�38��3�3�38$�3 �38��3 �38�D�3�3�3+�4�4�48�4�48�48�T�4�4�4	�48�48$�4$�48bytes�,�4&�4�48�4�4�48��4�4�58$�4 �48��4 �48�T�4�4�48��,�48$�5,�58��T�5�5�PA<> Get the offset from the start of the stream, in 32-bit words.���6A<��7<E Since the generated blocks are 16 words (2<sup>4</sup>) long and the���7H<H counter is 64-bits, the offset is a 68-bit number. Sub-word offsets are���8K<G not supported, hence the result can simply be multiplied by 4 to get a���8J<
 byte-offset.���9+�9�9�98�4�98�:8�:8�d�:�:�:�:8$�:(�:8�$�:�:�@%8�:8buf_start_block�|�:�:�:�;8�:8
buf_end_block�l�:�:8$�: �:8��; �;8�$�; �;8�,�; �;8�l�;�;�;%�;8��;'�;8�d�;�;�;8��l�;$�;8�T�; �;8into�$�;�;�;%�;8�<�<�<8buf_offset_blocks���<$�<8block_offset_words���<�<�<�>!8�<8buf_offset_words���<�<8$�< �<8��< �<8�,�<�<�<8�<8��<%�<8�=8blocks_part�\�=�=8����=�=8��='�=8�$�=�=�=8�\�=%�=8�=8
words_part�T�=�=8����=�>8��>'�>8�$�>�>�>8�\�>%�>�>�>8��\�>$�>8��T�>%�>8�>8	pos_block�L�>�>8��?'�?8�d�?�?�?8��|�?$�?8����?%�?8�?8pos_block_words�|�?�?8�$�?'�?8�$�?�?�?8��L�?
�?8�$�?'�?8�$�?�@�@8�\�@%�@8��|�@�@8�$�@'�@8�$�@�@�@8����@<> Set the offset from the start of the stream, in 32-bit words.���@A<��A<D As with `get_word_pos`, we use a 68-bit number. Since the generator���AG<D simply cycles at the end of its period (1 ZiB), we ignore the upper���BG<	 60 bits.�d�B+�C�C�C8�4�C8�C8�C8�d�C�C�C�C8�C8$�C$�C8word_offset�\�C&�C8�$�C�C�E8�C8�,�C�C�C�D8��\�C�C8�$�C'�D8�$�D�D�D8�\�D8�D8��D%�D8$�D �D8��D �D8�$�D �D8�,�D �D8�l�D�D�D8�,�D%�D8$�D �D8��D �E8generate_and_set���E�E�E�E�E8��\�E�E8�$�E'�E8�$�E�E�E8�\�E8�E8�,�E%�E< Set the stream number.���E<��F<E This is initialized to zero; 2<sup>64</sup> unique streams of output���FH< are available per seed/key.���F<��G<E Note that in order to reproduce ChaCha output with a specific 64-bit���GH<F nonce, one can convert that nonce to a `u64` in little-endian fashion���HI<C and pass to this function. In theory a 96-bit nonce can be used by���HF<I passing the last 64-bits to this function and using the first 32-bits as���IL<B the most significant half of the 64-bit counter (which may be set���JE<D indirectly via `set_word_pos`), but this is not directly supported.���JG+�K�K�K8�4�K8�K8�K8�T�K�K�K�K8�K8$�K$�K8�4�K&�K8��K�K�M8$�K �L8��L �L8�$�L �L8�,�L �L8�L�L�L�L8�4�L%�L8�L8$�L �L8��L �L8�,�L�L�L�L764��L�L�M
8�L8wp��L�L8$�L �L8�d�L�L�M%�M8$�M �M8�d�M�M�M8���M%�M< Get the stream number.���M+�N�N�N8�4�N8�N8�N8�T�N�N�N�N8$�N(�N8��N�N�N
8$�N �N8��N �N8�$�N �N8�,�N �N8�L�N�N�N< Get the seed.���O+�O�O�O8�4�O8�O8�O8�D�O�O�O�O8$�O(�O�O�O8��O%�O7���O�O�P
8$�O �O8��O �O8�$�O �O8�,�O �P8�D�P�P�P8$�P8�L�P8
�P,�P8��T�P�P�P8$�P8�$�P�P,�P8��\�P�P8
�P,�P8��T�P�Q�R8�Q8�$�Q�Q�Q8�$�Q&�Q,�Q8��\�Q(�Q8$�Q�Q�R,�Q8��T�Q�Q�R8��Q&�Q8��D�Q'�Q8�
�Q�Q�Q8�$�Q$�Q8$�R8�L�R�R,�R8��T�R�R8
�R,�R8��T�R�R�T8�R8��R�R�S�R8$�R$�R8rhs��R&�R�S,�S8��T�S(�S8�$�S�S�T8�S8�#�S&�S,�S8��$�S'�S,�S8��T�S�S8$�S �S8��$�S�S�S%�S8�S8�"�S&�S,�S8��$�S'�S,�S8��T�S�S8���S �T8��$�T�T�T%�T8�#�T�T8�"�T8$�T8��T8
�T,�T8��T�T�T�T+�T�T�T8��T�T�T8�<�T�T7�
<�T8$�U8�
L�U8
�U,�U8��T�U�U�V8�U8	serialize�L�U�U8S��U�U�U�U�U8$�U$�U8��U&�U8���U(�U8�4�U�U8���U'�U8��U$�U8���U'�U8�,�U�U8$,�U8���V&�V8�T�V$�V�V�V,�V8��$�V'�V,�V8��T�V'�V8�$�V�V�V8$�V �V8��L�V�V�V8��V+�W�W�W8��W�W�W8�<�W�W7�
<�W8$�W�W:'de��W�W8�
\�W�W:���W�W8
�W,�W8��T�W�W�Y8�W8deserialize�\�W�W8D��W�W�W�W8��W&�W8���W(�W8�4�W�X8$�X$�X8���X'�X8�,�X�X8$,�X8���X&�X8�
d�X�X:���X�X$�X�X�Y,�X8��$�X'�X,�X8��T�X'�X8��\�X�Y�Y8��Y �Y8�	�Y�Y�Y�Y8x��Y�Y8$�Y'�Y8�$�Y�Y�Y�Y8���Y8�Y,�Y8��$�Y�Y�e++�Y�Y�Y8��Y�Y�Y8�<�Y�Y7�
<�Y8#�Z8�
,�Z'�Z�Z�Z8�
\�Z$�Z8�
L�Z%�Z+�\�\�\8�4�\�\�\8�,�\$�\8�L�\$�\8��\+�\�\�\8�D�\�\�\8�<�\�\7�
<�\$�\8�4�\�\�\8�
L�\$�\8�
\�\8�]�]�]8,�]84�],�]8��T�]�]�^8�$�]&�]�]�]8��]%�]7���]$�]8�4�]&�]8��]$�]8�D�]&�]8�$�]$�^8$�^8�$�^�^�^8,�^'�^,�^8��T�^�^8
�^,�^8��T�^�^�b8�`8�$�`�`�`8˟�`&�`�`8,�`'�`,�`8��T�`(�`8$�`�`�a8$�`�`�a8�$�`&�`8˟�` �`8�D�`�`�`$�`8�4�a&�a8˟�a �a8�T�a�a�a$�a8�D�a&�a8˟�a �a8�d�a�a�a$�a8$�b8�$�b�b�b,�b8��T�b�b8
�b8,�b'�b,�b8��T�b�b�e8�c8�$�c�c�c8�#�c&�c�c,�c8��T�c(�c8$�c�c�e8#�c8�L�c'�c8��\�c%�d8�d8�d8˟�d�d8$�d'�d8�L�d�d�d8�#�d �d8�$�d%�d8˟�d �d8�T�d�d�d8�#�d �d8�4�d%�d8˟�e �e8�d�e�e�e8�#�e �e8�D�e%�e8˟�e%�eD�$�456789:;<>@MOQT���������dispatch�D��%'dispatch_light128����%(Machine�<��)vec128_storage�t��
%+ArithOps�D��%,BitOps32�D��%-
LaneWords4�T��%.	MultiLane�L��%/
StoreBytes�T��%0Vec4�$��%1Vec4Ext�<��%2Vector�4��%3��)JM+.����q����������z|dfOQ�,��C�<��P��t�%�P��L�%�P�<��P��,��C���%�U���%�U��	H,�
�<�<�==���=�
��=D�
��=D�

<�=���
24��E\��<�<�??���
��=T�

>�=���
#%��Gl��<�<�AA�����T�
@�=���\��<CEGHIJK��0�����B�C �
�B�<B�B
Ckey��nonce�,�
+�C��?<�����<�U��UFB�B
E$�drounds�<���_+�C��+l����<�PB�B
G$��,���"l����<�PB�B
H$���'L����<�PB�B
I$��,���L����<�PB�B
J$���"D����<��B�B
K$��+�C�� I<� %�ď��Pɏ�NN��ď$� �ď<� 
Mďm�� �� �� 57��!D,�!%ď�
�
���
u32x4���
u64x2���
u128x1���
���
������PP�$�!��<�"
Oď���"��"%'��$x��$%��ď��<�U��US�RR�%�$�$��<�$
Qď���$�,�%ڊ<�%��%68	,�C��;T�;%�����U�;
Txs��;��e�4�45555$5$55555F5F5��̓ ChaCha with 20 rounds�L��3����.+ ChaCha with 20 rounds, low-level interface�T� �2���<��$�l���<��1
^�2�� �2`�_`��4������2��^�^��^��[�^���[����e�S����_�_
` �����"�2bcddH� �aa�U`�8�aa��ٖ��ށ��U��-@�����2��2a�a
d �˟���!�2fh��hH� �ee���!�C��&H��2��2ee
h� ��!hh�C��$�2��/ �3ln��nH�/ �/kk��("�C��0&H�0�3��3kk
n� �0��1�3pqr}~pqr��2@�2���3�Uo�2o
p �2��3@�3���3�Po�3o
q �3��4*P�4����3���o�4o
r �4��(�4��5�3tuvwx��:"��6A���7���7H����8K����8J����9��`�:���3s�:s
t �:��C1��@A���A���AG����BG��`�B��`�C���3s�Cs
u �C��X�C��K)��E���F���FH����F���G���GH����HI����HF����IL����JE����JG��P�K���3�Ps�Ks
v �K�0�K��N��M��P�N���3�Ps�Ns
w �N��O"��O��@�O���3��s�Os
x �O{"�C��P�3��P'�3|�|��Q# �Q�2�3{{
|� �Q��R+�3~�~��R'�R����3��3}�R}
~ �R���R��T�3��Y�T�f���^.8���4�����`' �`���3�4��`�
�8˟�`��b.8���3�����c  �c���4�3��c�
�8�#�c��cX�c��>���ChaCha with 20 rounds�Ǩ��fX�d�e�2��I���?�h�(����<(	��2���!#���2�2�	��
�:HH
��2�2���46����2��2�
��
��H����2���!�(*-/8�9=?���2���
�5I��.K��V������_����^����=�����[Ũ�� ^����!X���"���"^����#\���#]ά��$���%���%]���%]ɮ��&\����']����(K���(���)ޱ�)�X�)����)*����)&Ҳ��*&Ҳ��*+��8�+�}�+���+Nݳ��+6���,���,<����-'ǵ�-���-6����.+Ķ\�f�3Ӹ�wM�0����/�/�������results�������@(�n��2(�.�3���!#���3�3��.�
��=(�.�3��_�!#�����3��^�^��^��[�^���[����e�S������.�
�A>����]���4(��ԏO�����p�] �]������"�CX�]0�]����Pp�]@�]���(�\�4��_�!#�����4��^�^��^��[�^���[����e�S������\�
�h ��H�\�4�4���46����4��4��\�
�� ���\�4���!�(*-/8�9=?���4��\�
�i!�"�C�� �5��_���4������5��^�^��^��[�^���[����e�S�������
� �����"�5����H� ����U`�8�������-@�����5��5���
� �˟���!�5�����H� �����s#�C��&H��5��5��
�� ��#���C��$�5��/ �6�����H�/ �/����$�C��0&H�0�6��6��
�� �0��1�6���}~�����2@�2���6�U��2�
� �2��3@�3���6�P��3�
� �3��4*P�4����6�����4�
� �4��(�4��5�6�������:"��6A���7���7H����8K����8J����9��`�:���6��:�
� �:��C1��@A���A���AG����BG��`�B��`�C���6��C�
� �C��X�C��K)��E���F���FH����F���G���GH����HI����HF����IL����JE����JG��P�K���6�P��K�
� �K�0�K��N��M��P�N���6�P��N�
� �N��O"��O��@�O���6����O�
� �On$�C��P�6��P'�6�����Q# �Q�5�6��
�� �Q��R+�6�����R'�R����6��6��R�
� �R���R��T�6��Y�T�g���^.8���7�����`' �`���6�7��`�
�8˟�`��b.8���6�����c  �c���7�6��c�
�8�#�c��cX�c��>���ChaCha with 12 rounds�����gX�d�f�5���v��h�(����<(�#�5���!#���5�5���
��LH�$�5$�5���46����5��5���
��L���%�5���!�(*-/8�9=?���5���
�M��.K��V������_����^����=�����[Ũ�� ^����!X���"���"^����#\���#]ά��$���%���%]���%]ɮ��&\����']����(K���(���)ޱ�)�X�)����)*����)&Ҳ��*&Ҳ��*+��8�+�}�+���+Nݳ��+6���,���,<����-'ǵ�-���-6����.+Ķ!\�f�6o:ϳ8w����/�/���������������@(�n��5(�.'�6���!#���6�6��.�
��O(�.(�6��_�!#�����6��^�^��^��[�^���[����e�S������.�
�QP����]�"��7�Ŭs0g�D���p�] �]������$�CX�]0�]����Pp�]@�]���(�\)�7��_�!#�����7��^�^��^��[�^���[����e�S������\�
�x2��H�\*�7*�7���46����7��7��\�
��2���\+�7���!�(*-/8�9=?���7��\�
�y3�$�C�� �9��_���4������9��^�^��^��[�^���[����e�S�������
� �����"�9����H� ����U`�8�������-@�����9��9���
� �˟���!�9�����H� �����g%�C��&H��9��9��
�� ��%���C��$�9��/ �9�����H�/ �/����&�C��0&H�0�9��9��
�� �0��1�9���}~�����2@�2���9�U��2�
� �2��3@�3���9�P��3�
� �3��4*P�4����9�����4�
� �4��(�4��5�9�������:"��6A���7���7H����8K����8J����9��`�:���9��:�
� �:��C1��@A���A���AG����BG��`�B��`�C���9��C�
� �C��X�C��K)��E���F���FH����F���G���GH����HI����HF����IL����JE����JG��P�K���9�P��K�
� �K�0�K��N��M��P�N���9�P��N�
� �N��O"��O��@�O���9����O�
� �Ob&�C��P�9��P'�9�����Q# �Q�9�9��
�� �Q��R+�9�����R'�R����9��9��R�
� �R���R��T�9��Y�L�h���^.8���:�����`' �`���9�:��`�
�8˟�`��b.8���9�����c  �c���:�9��c�
�8�#�c��cX�c��>���ChaCha with 8 rounds�����gX�,\�g�9q� ݓ��h�(����<(�0�9���!#���9�9���
��LH �1�91�9���46����9��9� ��
��L��!�2�9���!�(*-/8�9=?���9�!��
�M��.K��V������_����^����=�����[Ũ�� ^����!X���"���"^����#\���#]ά��$���%���%]���%]ɮ��&\����']����(K���(���)ޱ�)�X�)����)*����)&Ҳ��*&Ҳ��*+��8�+�}�+���+Nݳ��+6���,���,<����-'ǵ�-���-6����.+Ķ.T�g�9q���:����/�/���������������@(�n��9($�.4�9���!#���9�9�$�.�
��[(%�.5�9��_�!#�����9��^�^��^��[�^���[����e�S�����%�.�
��[����]�/��:z0�GD�{���p�] �]������&�CX�]0�]����Pp�]@�]���(&�\6�:��_�!#�����:��^�^��^��[�^���[����e�S�����&�\�
��D��H'�\7�:7�:���46����:��:�'�\�
�E��(�\8�:���!�(*-/8�9=?���:�(�\�
��E�&�C��4��<�(���l�������������������()�9�<���!#���<�<�)��
�,�H*�:�<:�<���46����<��<�*��
�L���+�;�<���!�(*-/8�9=?���<�+��
����,�	������	�<�R4�H������"$|�	�	���=|�	�	���=|�	�	���=|�	�	���=(,�<��������=3�<�����PR���<�<�,��
��=,��.�:#�%����<�U��U��.
��,�.ڊ<�.��.a,�C�.�:I9.�:%��ď��<�U��U������$�.��y.�:
�ď���.��ڊ���35a,�C�.�;�.�<.I.�<�avx2���sse3�sse4.1�sse4.2�ssse3�%����<�U��U��
���ڊ���a,�C�.�>-A.�>�������������������������%����<�U��U�V
��UڊT�Sa,�C�.�A/Q.�A	��������������%����<�U��U�
��ڊ�a,�C�.�B/Q.�B������%����<�U��U��
���ڊ���a,�C�.�D.I.�D��%����<�U��U�(
��'ڊ&�%a,�C�T�:#%���<�U���#��#��"�����R4�H����0
��,�0ڊ<�0�T�:I9T�:%�ď��<�U�����p�$�0��yT�:
�ď���0��ڊ�-/�T�;�T�<.IT�<�������������%���<�U��
��ڊ�T�>-AT�>�������������������������%���<�U���
���ڊ��T�A/QT�A	��������������%���<�U��D
��CڊB�T�B/QT�B������%���<�U���
���ڊ��T�D.IT�D��%���<�U��
��ڊ�p�X#J%���<�U�P�5
��,�5param�,�5�,�5�p�YI9p�Y%�ď��<�U�P���}�$�5��yp�Y
�ď���5��ϙ���35�p�Y�p�Z-Ap�Z�����������%���<�U�P-
��,ϙ'�&�p�[.Ip�\��%���<�U�P�
���ϙ����|�X#�%���<�U�P�8
��,�8ϙ,�8�|�YI9|�Y%�ď��<�U�P���o�$�7��y|�Y
�ď���7��ϙ�-/�|�Y�|�Z-A|�Z�����������%���<�U�P
��ϙ�|�[.I|�\��%���<�U�Px
��wϙv���X#�%���<���9
��,�9�.�C���YI9��Y%�ď��<�����u�$�9��y��Y
���9��')�.�C�/���C���Y���Z-A��Z�����������%���<��;
��:�.�C���[.I��\��%���<���
����.�C���X#�%���������<�=
�Ή�=ى,�=�0�C���YI9��Y%��ď�������<�����$�=��y��Y
�ď���=Ή�ى�/1�0�C���Y���Z-A��Z�����������%���������<]
�Ή\ى[�0�C���[.I��\��%���������<�
�Ή�ى��0�C���X#.%�������B�C�U�<�B
�Ή�Bى,�B�4�B�1�C 2�C���YI9��Y%��ď����ժ�U�<�����$�B��y��Y
�ď���BΉ�ى���68�1�C 2�C���Y���Z-A��Z�����������%������ժ�U�<�
�Ή�ى����1�C 2�C���[.I��\��%������ժ�U�<(
�Ή'ى&�%�1�C 2�C�H,I�I	.K�L��R�%>R*�0�Q5�Q:8Q?�PD�PI�NN�%TNYjL^�eH�l�Kq�x�I}~I�I��4�bH��G��F�F�$F�0E��S��^��D��b�D� C��B��B�B�?�\>�a>�?�
=�=��=�<�<<1;�"H�*r:0�8�8>M8D�7J�4R)7X�6^�5d@5j�4p�3v�S~�^�O3��b��2��1�P1�V1��0��-�!-�'-��-��+��+��,�N+�T+��*��)���H�<)
�e''�&$�4,�%2_%8o$>
$D�#J�"P�SX�^`"f�bn�!t� z �! ���������������X�����������=����.���
��	�#.%9*0D5D;JAPGVM\SbYh_e
kqw(}.�4�:�r
�x
�~
��
�y��=���
������#�A��B�N�
�Y��d�#s��BNrand_core::RngCore�Reproducibility�4https://rust-random.github.io/book/crate-reprod.html�rand�,https://docs.rs/rand/latest/rand/fn.rng.html�Seeding RNGs�5https://rust-random.github.io/book/guide-seeding.html�����4https://rust-random.github.io/book/guide-values.html�rand_core::block����	rand::rng�η׷��#rand_core::SeedableRng::from_os_rng������
Random Values�߸rand_core::block::BlockRngCore����|2https://rust-random.github.io/book/guide-rngs.html����׷ٹ������https://cr.yp.to/chacha.html�����߸Security�ݺ���SeedableRng::from_os_rng���ٹ�	rand::Rng�ChaCha stream ciphers�������rand_core::SeedableRng����ݺ����������ȼּ���������������η����ȼּ���������ChaCha, a variant of Salsa20������)eSTREAM: the ECRYPT Stream Cipher Project� http://www.ecrypt.eu.org/stream/�Ͼ������������|Ͼ����������������H���������������I�I�I�H�J��������3����ۑ~1Yû�An'�殕v`�3�.�On��&��������<;����]�ʍs�##N�ST?j���4<F��6��r+�=���.h�B�s����G;�/7؟�:��v%���=�K
P|���h��W�i�9?r@L�x���e�K����a��lu4�����B�M	]���)%O0-bA�O��9lPJz���Q�e�	,]��3��lV,�M��+)

)��fD�'��f�q|g`R6U�r{�#A]�H�)A��1ն�m��p_aW��Uk'K�Z�/�zp�"��X�%��Z���ʒ�ɡ�����`e�u��C��5�h�X����B�� zh��Ckd-'��V����D�'�68hH���ՎzJ>���|Ǜ��f�}�I��(!SI�1%+R��Mq$|��]�[�8)�M�0+_ՙ��0��X���0*�Fah�V��v���_�����Y����>�?���j������Ja������|��>��D4���f"��8�t�l���UM��s�0@7ZO{i	��ꂩ�i�J��<^�6����r�t�pJ��
nō��~��R�����R��[����\,�<�De"��3Qqp�d2�k������эV^ʼn����y'�Od�u�<���#�����`�tb���I�p���S��nP4������"�-c��a�[�
ؑZT��t���X)yO Q�})������,�=f7o��
��+���8�g��1x2P��I�V0�"uBx���1�1/)�%�}'9ƻ�yMl��X!z�>��c�IZM
L�B[C.��JQ;�sgȑv�J����"i��ö��^cG���L#���O^6d��{ ���A*�7�vm��Q'q�!(4��D
]��fÂ�!���/5���gc�A[y��YWF���ý����O���t�K�}��8��3�n��'ķ��/S/��Q$�Q>�=m��ZyF�`���.ʈe�A���c��ؤ�~�6+(&˶�c��sݩ��a8Z�zn��T'����AW>��i������ぜ��U�<����$�<(q���e(/�����9Ӕ�O-�o�BT�zȒ<a�xK����ٟr��[]��sЗ�'��[�&�b{�R���e���J�7���d�R暴�_�uPxTT��U&-��:OF�=colP�M
_d¹�	�T{�S���d@\,$��D�yh[���[�\�g��iu��brU�t�K����o��ͩް�	��(���w�@e��E6�8��k'��٨F�OdR5YgaF���PMZ�M�8��Ҧ�e्1��}�{i1�����2�P�S�f���8	�qgk����#�D`��k�#��v��$Ȗ�|c�4�ƫy���}+��B�s
g��E3q�`s��P�nYC^��_tog<1C��t�nU���؆�S�{}\�qR<��G�`왏�x�v6�b:\Y������D+�!ܒ XNSƚ&�bέu1%͟��"Kd���ҖwG��C�~���o�q���6�'MM-�):&���H���$����	=:}E��6�_.C$��R�Rd�N��L�@q�=��#����D����{P})A����`��{}��wIY�ko�{Jݕ�������b��3�̋��@�dK�9�@b��E�L����d���P�k���,B���g�"���H��%K�:X����^�XM�zc�MN����e�Jz���1�7b}Ւ�Eͻ�����J1FݴEFjQP�>
i�*�M' -S=�+��i" ��Phw#��������%^�����k�1+�zdBq��n��\��E��k�n�^<BL�٨�a��[	Up��P1{�ioTh�0�7��>���[���) �Bz�������0���03I�	��O��ۨ`�`�>a��y���F�q]�� ���R��/oa�����S_w�l|�z����db�g]w��Λ���t�����&k6��}�KM۔�}\�hm��PH�uB�����M��Yi���\խ��wM����s���W�]���&��H����-y�'h@ݚݖ�
�^�<ML���E�h���ڎ��V���ϖJާ�Y'��z�ޟ���9&���<y}��{9Uˉ�Cn�m��U�g���%^gy�ZTX1[��㽓�����	�>�&���2.�„�m�F!ε�v�i*P�x}8��B����P�����sCD*H�!77}vhƵ��r�>�=�X���I�H�>���2[}�@�+�{Y��G��w�L��GU�"��·�u����bhC>���$�弪�!�tގ����2�{\	5��f�bƼm��u�w	��7�@,�Z~1�NNB��C�Ձ �'q�|�, ��EQ�D5��t,��F^�c��\�n��_���d~�u����j_绅V6�J��֬�n�0dž6�r!�H�M�/#7��ͭ%
Pԛ�U;�5���Y/5ޟ���X�+	���=��O����5�o�)(�,3�f���
�pg��d��}Y\+�-�>QDE�.�����>���T_���>��A׹e���|���p].`#�]�^;�t��O��r�T0|QL���R�b�-�^JU{$#����C{�l�5�9e�"�n��/��3_�����Ƿ�rfC�no�
YS�g�Ї�7�չz8L;e�Y�'ࡓ8�o�r	E�>��>�.��f�']�����h�,��ڱ�r���\K"	*���UF���™��O!�5�b�g1�aJ���(�{��T��*�J�IO��4y�n�S(߬�sŢ�~g��b�h�W�:�޽)�>4�dNP��p2��ۣ��XB�L?"3!]���>�*[��ٵ$K�y��A��O"g�<��c����l{Ϡ�
���-��{dc	��f��)u���$�tS�=��f�Lȃ�Z������(P
��������e��O����J�"��L��ș����
B�O�G�d�����E7��
����|���!����5�����ܢ`�zu{�.��DZ,p�?uj�1敧�dGa{ӿon*�=�?%D�� *�%]�IrX���`*�*�&��3h�w��G*A�����[���/Ln`��_zą��
�-t�L!�j��"&z�<��ř�A@c���M׋:i���MG�D��b�+s+��u�����o���b5�_҆:fK0E{x�VZ��9˳H��g/��#����Q#bc֬w5����Q�����%‹5>��F�X=��1�����8'K<�)E>�z����P��@6o:�v�F����$�G1I���M9
�w��o��su�F{��-�-�/.;]N���6m?�����pZ��ќ�c���@��Vo��j�	$Eu�鴄Z���_�����?��c���>r����-8�a����*�.@ ����ȏ�zDk�-u�W'��P}��@�x�~.jQL,�sw�]�������MN�A��S�'�56�
S��]��'�Z�vCV�����G�>�L�.���K��`pX
I�n�J�Q�ӈь�]@��	�I�5�[Tt�v���P�G��iz�b?�	Oɹ��>iT��唔��"wd�
6��6=)�IQ�+Bl"F����b�� �P@��3ŮY��-���եЪ�*��k��o� ��F3����\�����G-��"J�%��Wh[W���8�����N���БK��M���e��q��n����Up�^oH�y�QC���i�k���}�ql`���Zb�*�K��/���n`l�l���#Y��um�R#=�/�Z�|����19�� �{��,��mlOش���� n6e��-`\b,������%�e���_
rDb9���x�#Ю�5XA� ��گF+����su��삭4�v�7�;�]%$�����V�N�X�-76���v�<o�d�B�Y�h=���7�����Mm,8P	j+b9����O,����Yn�rrp�<�*�x�5_���%�3U�u�h�e�CC�*�����E;����2j2j�9����}"!"*�X�pȔ���`�?qF7��u��衛]u�5��?g��vT����%��fi|r3�c?ڔ� u|�I^�-ѳ�V��E�R����b9�V})�??��@�E��9SB��:`9s�zj���#�97�z�&X��>���G�ÚU��׾ޏ1��%�
3]'ŗ�!4R\�zv�}������_�N2�jPc#Pb�������T-��v �}��*,��)�l�M����@�u�֘�ԁi�q�w~���[#cX��)���6ue[�8��m.Gd,
��ư��*�BV�3ϔPw���D�v�����%����R]=�_�B}T�`��ۑإ��&q-?q��l�O02tlg�m-9,�,�%a,H+=��^���(M-�5�=3�� b�c�e�g�2E�E��ZK5�E�F�FG�G�GHRH�H�HGI�I�I)JPK��M�a�u�������������t���J�j�������(����*�����]����R�����q�������g�����	��=�f�����&�x������F�8�����3�r�����
��G�����4�������#�6�T�����C&�k�����<�Z��7�c�������g�z����������h�������>�b�������!�L������m�������I�>����#�A������#�3�]�����J�������9�L�j�����Y&�������L�j��G�s�������w�����
�+�����x�������N�r�����
�1�\�����(�}������Y�N��� �3�Q������3�C�m�����Z�������H�[�y�����h&������[�y�'�V����������������:��������2�P�������7�U����0�J�d����"���n�,�����?���s�ʎ�1˴� ̂������x���l���G���^���F�������=����.E�
E���+�;�SG�G7H�HI
JV���}�s��(������#�~��5�������3�F���d���L�,���w���
���t�J���	������/����K�������I�\���z���\�<������������Z�������,�?���+�[�������X�k�������k�K�������,���B�����G�����

%)



















-E�E�F�FGsG�GgHI�I>JTK��Q�e�y�������ɂ݂����������=����?�ه��r���C���Պ����
���njB�|��<���i����[���I����]��u����g��F�p��m�
�<�h���Κ��J�ɜ����ޝg���&�b�ڟ.���f�����a�ãW���)�s���������}��\����}��L�x���ެ��Z�ٮ�����w���6�r��>���v���q�ӵg�Ƕ9���
���ĸ���+�k������,�[�������ʿi��������c��������4�N�h���6�������:���^��Ȋ�K���q���?̖����-Ό������[�������Z�����:���U�K���T5�E�E�E�E�F�F�F�F�F�F�F�F�F�F�F�FG]G�G�G�G�GHHAHNH�H�H�HBI�I�I�IJ$JLK�������#�)�-�1�5�9�=�A�E�I�]�q���������Ղ�b�o�уރ9�F�e���o�}�Յ#�{�Ȇ�%���������=�J�X�����������ĉʉЉ�N�����k������a����������8�R�`���Ѝ!�r�������@�2�������-�l�������A���ȓ$�.�����Ҕ�4�R���Օ=�f�ʘ�7�X��2�P�^�{�����b�x������������b�����8�]�y���О����8�F������g�ؠ����C�8�������;�}���
��-�W���ޥ:�D���Ǧ�4�J�h�ʧ�S�|�ڪ��G�h��B�`�n�����ɬr������)�������r�����үH�m���������,�H�V���ϱ#�w��	���S�H���
��-�K������,�=�g�ķ�J�T���ָ��C�Y�w�ٹ��b����
�V�w� �Q�o�}�����ؾ�������8����������-�N�������2�S¼���,�F�`�zý���ēġ�F�S�a�g��%����Ɠǡ�*�8ȷ���l����ʇ�*˭��{���r�ͅ��q���R�_�e���?ЏН� �-�;�O�V�����0�>ҪҸ�U�b�p�w��ԇԕ��'�5��������ְ֢־�=�K�Y�]�b�g�l�r�x�}׃׈׎דטםעק׬ײ׷׼�������������������������
����$�)�.�3�8�=�B�G�L�Q�V�[�a�g�m�s�y؁؉؏ؗ؝أةرطؽ��������������������������#�)�/�5�;�A�G�M�S�[�c�i�q�w�}كًّٗٝ٣٩ٯٷٿ����������������������	����!�'�-�3�9�?�E�K�R�X�]�c�h�n�s�y�~ڄډڏڔښڠڦڬڲڸھ���������������������������$�)�/�4�:�A�G�L�R�W�]��E�E�E�F�F�F�F�F�F�F�F�F�FG`G�G�GHCHRH�H�H�I�IJ)JPK�����&�+�/�3�7�;�?�C�G�M�a�u�������łق�d�t�Ӄ�;�j�����څ(��͆*���ć����?�]���������lj͉��?�l������������=�f�Ս&�x�S��ېE���3����G�Γ)�q���ԔT��B�k��Z�
�7�c�������7�������ȝb���!�L�ğ�m�P��ޢK���A���%�]��?������j�	�X�����j��G�s���ˬ��G�î����دr���1�\�Ա(�}�`����[���Q���5�m���O�������y��g����y�)�V�����ھ��V��������P���q�����0�J�d�����"���H�n�,�����?���s���ʎ�1˴� ̂���t����x���T�l���G���"�^���F���W�����=������\�`�e�j�p�v�{ׁ׆׌בזכנץתװ׵׺������������������������������"�'�,�1�6�;�@�E�J�O�T�Y�^�d�j�p�v�~؆،ؚؔؠئخشغ�������������������������� �&�,�2�8�>�D�J�P�X�`�f�n�t�zـؤَٚ٠٦٬ٴټ���������������������������$�*�0�6�<�B�H�O�U�Z�`�e�k�p�v�{ځچڌڑڗڝڣکگڵڻ������������������������	����!�&�,�1�7�>�D�I�O�T�Z�_��FG)G�G�G�G�G�GH+HKH�H�H�H0I\I�I�IJ!J2KY�m���������т�"�l���ۃ�C�R�Ą�I�x����d���� �n���b����G�S����J�����R�y�����G�o����������$�K�[������b�Ǝ펏�&���������[�z�ڒ�1������|���”�/�B���ŕ-�M�{�ۘ'�H���H�Y�t�����L�s����	�q�����G�p������F�q�����ܞ��0�A�|����U���堍�'�������+�j�����G���Υ"�����ئ$�E�X���ۧC�c����7�X���%�X�i�������\�������������W�����ʯ,�V�����Ͱ���@�Q������e�̲����7�-������(�;�z�����'�W���޷2���ϸ�3�T�g�ù�R�r�����F�g�
�4�g�x�����Ⱦk������(���������
�%�>��������C«����%�?�Y�sÚ����sĜ�
�P�\��� �����vǜ�
�3Ț���T�����q�˗��e̾�9�|���Tβ��\���)ЀИ���*�6�G�����"�9ґҳ� �_�k���
�pԐ���"�0՟��������ֹ֫��F�T��FGGG�G�G�G�GHHEH�H�H�H$III�I�I�IJ&KS�g�{�������˂߂�f���Ճ�=�L����=�r����X������[���O����A�M�����D�����E�s�����:�i�����،���C�U������U���玂���t�ԑ����S�t�͒���w�����v������)�<������G�r�՘�B�ݙ�?�S�k�����>�m���ԛ�c�����9�j������@�h�|���Ӟ���'�;�s����G���ߠ���z�ݣ��%�a�����5����������Ҧ�?�R���է5�]����)�R����O�c�{�����N�}�����s�����I�z������P�x���İ����7�K������W���ﲏ�)�������"�5�q����!�E���̷$���Ƹ�%�N�a����D�l�����8�a���.�^�r�����¾]������"�����������8�|�����
�=���	��6�P�jÅ�����iĖ���J�V���ƿ���mǖ��-ȑȺ�Jɫ���h�ˎ���\̴�"�v���KΨ��V��� �vВ���$�0�>������3҇ҭ�	�Y�e����gԊ����*Ո�������zֳ֥��@�N��F	G;G�G�G�G�G5H�H�H4I}I�IJ6K[�o���������ӂ�R���)�T�Ȅ�M�z�…�h����"���t��U����L�����V�{�����K�q��������&�O�]������f�ʎ�*��������!�_�|�ޒ�3������~���Ĕ�1�D���Ǖ2�O���ݘ,�J���M�[�y�����Q�u�����v�����L�r�����!�H�v���ž����5�C������Z���砒�,�"������-�o�����I���Х'���Ŧڦ)�G�Z���ݧH�e�����<�Z��'�]�k�������a��������������\�����ϯ1�X�����Ұ���E�S������j�Ѳ����<�2�����*�=�����)�Y����7���Ը�8�V�i�ȹ�W�t�����K�i��6�l�z�����ʾp������*����������*�@������� �E°���*�D�^�xï��uĞ�!�^���"�����xǞ��5Ȝ���V���s�˙��g���M���Vδ�3���+ЂК��8�L�����$�;ғҵ�5�m����rԒ���$�2մ�����ֻ֭� �H�V�GuGhHI�I?J�������
�����>�����A�����t��������}���=���j�����\���J���^���v���h��G��n������K�������c���/���g�����b���X���t�������~��]��~������[�������s���?���w���r���h��������
���,�l� ���.�����j���d���������8�������<���`��Ȍ�M���s���A̘����/Ύ������]������\�����<���W�M���TGvGiHI�I@J�������
�����>����B�܇��t���֊�Ȍ}��=���j����\���J���_���h���n�Ϛ��K�ʜߝ��c�۟/���g�����b�ģX���u�����~���~�߬��[�ڮ���s��?���w���r�Եh�ȶ���
���,� ����˿j�d�������8�������<���`��ȍ�M���s���A̘����/Ύ������]������\�����<���X�M���bGVH�H�I-J�x��n�����ޅ,���ц.�ȇ��a�p�Ċ����k�ڍ+�}�X����J���8���L�ӓ֔V����\�����9���͝��Q�ɟ�r�U����P���F���b���l����l�ͬ��I�Ȯݯ��a�ٱ-���e����`�µV���r�����{���{�ܾ��X�R���s���%���t�2����E���y�ʔ�7˺�&̅������{���r���J���e���I�����!���D����y����6@IS������H[�,\��&1>����&09CP]��n����g���PZcm������bu�.9Fv��@KX������GHMH�H�I#Jn�݃E�����I����R��~�^�,�a���� � o4/!Y'�'(c(@)	*g*�*+]+�+,�!�!&"y"�" #q#�#$l$�$%e%�%&`&�&'_,�,-f-�-".�.�.1/�/�/*0�0�0%1v1�12q2�23j3�34� .!�4�!�'
(b(?)*f*�*
+\+�+,^,�!%"x"�"#p#�#$k$�$%d%�%&_&�&'X'�,-e-�-!..�.0/�/�/)0�0�0$1u1�12p2�23i3�34n4�G� &!x!�'([(8)*_*�*+T+�+�+S,�!"p"�"#h#�#$c$�$%\%�%&W&�&�&P'�,-Z-�-.t.�.(/y/�/!0x0�01m1�12h2�2
3a3�34f4� *!|!�'
(_(<)*c*�*+X+�+,W,�!""t"�"#l#�#$g$�$%`%�%&[&�&'T'�,-^-�-.x.�.,/}/�/%0|0�0 1q1�12l2�23e3�34j4�H;I�I=KY���0���Q����l������|������Z�O������j�����.�!�����c���������7�1���V���{�Q�&������_�����1�'�����t�����1�.���M�A��f�����a�6������o�����A�7���������A�=���\�P��u������%����z�*����}����[���x�˞�
�l���V���[ι�<���0Ї����)���>���w�������%�+E�EG�GH�HGI�I��J���q�g�	�������r���
����o���'�:���@�Ә@����k�~����h�>������ݠ�#����#�3�����Ц=�P�ӧV��P����{������x�N���
����� �3����3�C�ʷ��߸L�_��e��_�'������� ���6�����;�����IG��]�%���s�5�����D�����=G��Q����g�)���v�8�����Y\cgkx|��������������������				 	'	.	2	9	@	R	]	a	e	i	m	q	u	y	}	�	�	�	�	�	�	�	�	�	�	�	�	
 
,
4
F
M
a
h
l
s
w
�
�
�
�
�
�
�
�
�
�
�
�
/37;?CGK[lrv}����������������0CTelptx�����������������


"
*
.
6
>
J
O
]
m
r
z

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

!)19AINRV^bjn�����������������#(08=EJOW\dimuy��������������������!)-59INV[chz������������������
$,1>GOW[cgksw��������������� 27IN_dks{�����������������!&+38@ELQYafksx����������������������	!'-39?EKQW]ciou{�������������������#*18?FMT[bipw~������������������
&-4;BIPW^elsz�������������������
")07>ELSZahov}������������������	%,3:AHOV]dkrLG��_�'���u�7�����F�����8H�H�IJ]�^�_�`�a�b�c��G��������u�z�*�/���������������$��7���ȔH�˕�N��������z�~���N�S�
�����������������1���M�ԥަ^���^��������������^�c��"������������A���]����m���m�ξ��.�D���I���VKh�G� ��G�|�$�W����_���]������E�
�m������U��|�����`�$�����7�����:�N���=���o����&�4�����ֽ�J�X�H=H�H�IJd�������4�ƍ���)����<�Ó͔3�M�Е�S���w��������X���������6����R�٥�I�c����c�Ĭ����$�����h��'�±�,�F���+�b���X�r����r�Ӿ����3�I�����N���%<'*058
$;=h)247#:(
+169��t(�}�J�core_intrinsics�derive_clone_copy�������ۑ-��X���������Z������ۑ�n
Z�j�����\2������ۑ�@kN����gb���Q$����ۑ�wuQYS��(�\}����fmt_helpers_for_derive��_�_����ۑ���	I`���,�e�f\��	derive_eq���������ۑ_�qq>rk���%������ۑ��=��B%�.(�.������_�_����ۑ�Ѓrk�P�Ӂ��7���V������ۑT���������\�������ۑ��i��1��/�\
��ܰ��������ۑ��C�#��Ӂ��=��������ۑ{����.�l��y��ܰ��������ۑ1V����+�H����ܰ��������ۑǎ��(g����������ۑ7JȚp�7�!(�.o�����_�_����ۑBS�`���\5������ۑ��",pJ�6�"�\���ܰ��������ۑJ~�aZY:j�����ܰ��������ۑ������xP���.�������ۑ�8�I�N��(�.}�����_�_����ۑ+ݐ�?������ff�$����ۑ��m]��*�,H���O\���������ۑ�ˎ�X3���\���ܰ��������ۑ���w���t.(�.;����������ۑ�dj�늛w���������ۑ7��,1�j����.F������ۑ@�g�b����/H�\���������ۑ��vn�"~8�H�<���������ۑ�
�g�;�d�%�p���������ۑ���2aN!t!(�.l����������ۑ�+�e���	�-�Ro��8������ۑ�:)��{���.}������ۑ?���i�"H�\=���������ۑ�����������ۑ�X��W���H�����������ۑD\5A�ED���eg�$����ۑ���l�;�zt(�.�����������ۑM�n��jt,(������������ۑK��Z�\�����������ۑ�6��J�c�H�\����������ۑ�Hq�r50����0��������ۑ�
6Oxk�/(�\������_�_����ۑ��#D��U�Ӂ��9�������ۑO;
Ώ�^�t(�)	����������ۑ�&M�k�o�tܞ]	����������ۑ-��Ծ�06Ӂ��B��������ۑ`�!͡�X�t���	����������ۑ�46���}6Ӂ�o�gx������ۑ*�(p����"(�\B	�����_�_����ۑ��� >�	Ӂ��5��������ۑ���2o�����.��������ۑ��x�ma�V�V^V�V�V�VfV�V�VnV�V�VzVNVVV�V�VZV�V�VbV�V�V�VjV�V�VrV�V�V~VRVqa�VvVua�V�V�V�V�V�VG^�^�[�W<_\�a�_ya�X`�Y�`4Z�]�ZWn^[�^q[�Wj_\�X�\!Y7`]�Yz]cZ6a^�ZeWC[�W_�[CXI\�X�_�\PYm`F]�Y�`�]a�V^^�^�[�WZ_�\�a�_�aY'`�Y�`SZ^�ZUW�^3[�^�[3X�_9\�X�\@Y]`6]�Y�]�Z]a7^�Z�Wa[�W,_�[zXo\�X�_]}Y�`j]$Z�`�]&a�hODHT 2��rrp�<����_��������L#�k�����2�������`e&���O,���N���6�j�	$Eu�u�h�e��@q�=��#�uBx��`�<���#�Q�����	�Z�zn����%]�Ir�pZ��ќ�P}��@�왏�x�v���L��եЪ��t�l���A���) �Bz�D+�!ܒ���k�#��� Q�})���ZY��-����`�3�.�On[���/Ln`��g��1x2P^'�56�
S��O��9lPJ6�b:\Y�a,H+=��^/9?r@L�x*�.@ ���
L�B[CfIQ�+Bl"F�����D�����G�Ú҆:fK0E{��w�L��G"ƻ�yMl��c���wM����y'�Od�uP�<ML�	�uPxTT�����I�V0�"_�h��W�i��0��X��6I�5�[Tt���M
_d—A���c��}O�G�d���z��[#cX�� Ƿ�rfC�QB�s
g��E�'�68hH�-���h�,Y��i�k����_
rDb9�D5��t,��06���v�<o��"wd�
�>a��y�����2�{\	5(�^JU{$#�L>�&���2�>�=�X��	Oɹ��>i�O��4y�b��|��>>dNP��pg6�8��k'�C�~���o����ڎ��V�7�@,+����D�,Z�M�8���*A����ʼn(/�����9�U�"��·#T��t�X�'ࡓ8�oUX���`�-8�a����K�9�@b�Λ���t��������������M��su��삭�*�X�pȔd,
��ư#����\���>���[�֬�n�0dž6.�„�m�+�{Y��G�!e��q��n�������ڼ4������U�g�"���������эNST?j���4.��DZ,p����Z�����tv%���=�f7o��
\i�J��<^�E+(&˶�c���������b��3��w#�������"&z�<��?qF7��u�c?ڔ� u|���a��lu�����G-�<a�xK�����.ʈe�|����`����d���P���Q�ӈь�n��/��3ON����e��u�֘��BL�٨�a�J>���|Ǜ/n�S(߬�scV^ʼn���O��L��ș�x���
�pg�@T��唔��̋��@�d�暴�_��d�B�Y�����\K[�Q����喛������sݩ��a8��d��}AYWF���ýt�I�H�>��{ ���mB��:M����@X�%��Z$����=��c�IZMe�%�e��X����^���[	Up���Վz.U&-��:O�)%O0-bA�bέu1%�b���I�pS���`���E7�{hƵ��r1��%�
36�r!�H�7���"i�i���#Y�������$�<���ͭ%
P�9u���$�tSrf�']��X��(!S1�+)

)�[�8)�4��X)yOYإ��&q-+���(M-0��>�.��W��Y/5ޟ;�1�1/a���19����%�3U���5�=3�� 1OdR5Yga�)���6ue[!�M׋:i��z8L;e�YT_tog<1C��n*�=�?�_���>��E�F�X=��1��'h@ݚ���G�>�L˽B��C�Ձ-�0*�Fah�7A]�H�)A���H���.��JQ;�g�}�KM۔���E�L�����*�J�Ia���M9
������O��u��{P})A�����P��@�����R](b�h�W�:�e	,]��3���%^����M�0+_ՙ�5����`�tR����b�� ���d�R�R�Rd�N��}\�hm�����n`l�l��t�nU��ˉ�Cn�m���brU핝3q�`s���fi|r3�6o:�v�F��{}��wI��S_w�l|�i*P�x}8�`�zu{���}�{i1���P1{�i���f�}�I0�3h�w��G�Ӕ�O-�o�F���PM�/�Z�|��hC>��%6e��-`\�4�v�7��W>��i�����؆�S��*[��ٵ$kCC�*������&X��>�]'ŗ�!4RÂ�!���/q�Q'q�!(4o�t�K�}��v�i" ��Ph��衛]u���
B�y2��ۣ��Xh��T-��v �V��E�R
m?�����=:}E��6�����-yMM-�):&����Mm,�PH�uB�t�K��������S��nPT�$����	��\��E������™��]R���e����I^�-ѳ	����M����d~�u��3+�=���.
�tގ���'����e��vN���БK��kd-'��V+��}�ql`�����U�<��8��m.G"[�
ؑZW,�sw�]�ܷ�R�����I"�-c��a�Vt�pJ��
GҦ�e्1�*��k��o�;����]�������8'���)�l��]@��	��p�d2�k�M�
����|�|5���gcr2tlg�m--, ��EQ�/�`��ۑ*��U;�5�:V6�J��5���>���TDV��v���8����<��0���0��c���@�Pb�����R��[��JS���d�R�b�-Kؤ�~�6~F^�c��\1 �{��,����j��;���%'�L!�j������#�D`��_.C$�����#������&��HЗ�'���i�*�M'�I�1%+R��2��\,�<�Kk���,B���QDE�.��C-�-�/.;]�oTh�0�7����J1Fݴ�?uj�1敧��x�~.jQL��گF+��������5�o�>%‹5>���1�7b}�8P	j+b9��j2j�9����؟�:��
�]�^;�t�H9,�,�%. -S=�+��P�nYC^�����fD�'��r	E�>�V�MG�D��b�K<�)E>�z���"J�%��.���K��`�EFjQP�>
�v���P�G� XNSƚ&�x�VZ����p_aW��!Z�vCV�����N�X�-7����Zb�*���Yn����D
]��fp��O^6d�l��[]��s����p].`#G��_zċc	��f��)q�=��f�L�sY�ko�{J�sgȑv�J�hb�g]w���`9s�zj��}��{9U��2[}�@� �}"!"�zp�"��#�Z~1�NN,1�aJ���_�鴄Z���E;����2�vT����%��UM��sBF!ε�v�T'����A��q���6�'�f"��8�@S/��Q$y�BT�zȒ�=�_�B}T)A*�7�vm�n���ϖJާK�y��l��!����}���>�j	��(����Uk'K�Z�/"�(P
����u9˳H��g/���v����٨F��o��ͩްҟ��B����P��+���8]��ڱ�rZ �'q�|�.�X����B�)��D�v��&pX
I�n�J�k�n�^<�~1Yû�An�$�弪�!&U��׾ޏ8��3�n��w�ZyF�`{�u�����o�nō��~�H�5XA� ���ö��^cGj����b9�F�q]�� ��[�&�b{���}��*,��*�BV$��ȏ�zDk�\�g��iu�_�����Y9޽)�>4�f�����V�����Ja<(q���e����
�-t��8���������� n�dBq��n�����f�bƼ)��D4���?l{Ϡ�
��o'�殕vYi���\�O����J�"w��c����n	��ꂩ�DP�S�f�ܪN�A��SԹ����>�?:^gy�ZTX4�����B��O��r�TI�U�g���%O!�5�b�g^��iz�b?����
�^{}\�qR���&�����Y'��
�n��_�2��j_绅4_�����P;�]%$�w5����M�/#78���C{�lM6����r�F͟��"Kd���s�##N�B�L?"3!]iH��%K�:����&k6��A��O"g�<m*�*�&����lV,�M�Y\+�-�>B��k�1+�z�)(�,3�f?�5�h(<F��6��r	*H�!77}v�Ї�7�չS���b5�_�*�x�5_����#�97�z�Q>�=m�z���=��O=6��6=)��ř�A@c�֏�5��?g��su�F{�ƥ� ��F3��3ϔPw�%z���Q�e�H�y�QC��um�R#=����	�T{���-u�W'���no�
YS�gR�0@7ZO{iC�Wh[W���M	]����Q#bc֬�F�=colP�2�jPc#�5�9e�"�NŢ�~g��d� zh��C*��mlOش�?q��l�O0,w��o�����Vo����8	�qgk�6U�r{�#h�B�s����+s+�����Up�^o���ҖwG����A[y��sX!z�>d�XM�zc�M��f�q|g`R)�%�}'9bMq$|��]3K
P|������ۑw�@e��E��J�7ˑy���}+�۱�dGa{ӿo�\�zv�}�"	*���UF\(�{��T�`���$�G1I����ʒ�ɡ%�$Ȗ�|c��>r���Ұ�K��/��V})�??��9&���<y@\,$��D��A׹e���|F��E�h
z�ޟ��1[��㽓�u����b$ݕ��������e�K�De"��3QqL�P@��3Ů��-��{dp0|QL���J�G;�/7yh[���[����1ն�m� ���X�+	<<��G�`��s���W�]�����sCDm��u�w	�*'ķ��/xh=���7���%D�� *�Ւ�Eͻ����i�q�w~����ٟr���R��/oa����x�#Ю��ۨ`�`�������_�N�4�ƫ�3I�	��O���M�����5������~�u��C�'b,���������,�=[�Jz����@�E��9S
�?��c����z����d���]��'��{U��{2B:~�tr��
9N��� ��;HBp�=
�w�����r���@70�(����)��%��/��<B!#W��M���=#zc:���Y�[	��[���a���Y@}"g
A��������e�7�r�u����[�4���A�7+{@bCc70x?k
&VJ�X��-CmXS�m��[��FOKT
Yiqekqk>:�����V���G�c�V����F��2j0M����9�^�ROS2���/@K����^��^xv
�-��	���&	������/�8='�� 8b���X���9�\
Pj)r)}O�X0-���p,U]ne�@��J� rSJG$T  ����M�����HW:��	'��s���6�	Q��Jt}�K>	$#7&J.gR^un��������)�������q4���_,�����)p�
���������g~����(�{bIYAA��CJ��U+0���#-nt�v���	������ex���nIE1{H��?����C*����� ���a���@�2�������.\��[�0sr$_��GQDX.ZS&_z>L~tEE�����BOv1=��I0����	���WVh�3^9b����d�������%������u��p*�H�����A
|QYD �XI*��eSv����OZL�����i�(�����tRi%���7�c�7I^#Hf�����Q+�5:,o+�02:Y7u^�����q}�;j`]n����j��,C*3���f������/����)���c���vBF���]����6n��~U.I��~�Y���=�?�49;\p=�K'skT����c��������
vXJ��|�34s�a����V(F�\!���Z�QQ7�S�E&)._	"em7c��#J$�������P���1iCr<I�>4EI�
��L���8����W
�p�B���������0."VH�����[����}�������0W�C'��UQ���o�nsG��
)��������2�
���{U��{2B:~�tra/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.9.0/src/chacha.rs� N��։i@ϥ�$���2ECAA$(@2?YK ||||||||$$''($;"X("
O+C.
-)<7
,"5:
0_hgFdgagef!ffefT 3//4W?E0?4 !)
+"5:.
',$,$9+
dTNUXW1(MH@DQP.WWANTT@L:Y'U,UVSYRT87,2+'.01/
*22.
6698
#")D<
"5>&K
&1ab,K,  =d=:,04=\309,0

+7)'d554>>>RRQ$$$:::!c)Sb`c`.�=5$c3071%%K2&&!
``$'&!
``$'%Kc2
&&!
``$'%Kc``$#&23
&"
'703#&"
'74!';*<<<)<'c2*9&&! 
``$'"2%&aN'KP(2B+&&!
``$'%c2%:
9
?:
+.@QK&4, @S>&4%@++"A<:
���>4�
��x���%�_/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.9.0/src/guts.rs� ؙPv@�"���A�7'p�G�32ECAA$(/b$.,52## """K2222H(((J(((7 8F(2:)3.:%3)0NF$;G'IEEE0@D!L.!!G'aJ)$
I44426 : : U9:::6O2YYZ"""6

F0<.=0T.00!$$"e=#)B377!
P77;!:Y%zr�8�����wh�e�^/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.9.0/src/lib.rs� ��߂�+L 3~I'��� j2ECAA$)C.QM O:$O7"LJLN!GB.$AP>P@;)L/+">'OM:LJLJ5$,F@CQ@:(=+
S"/�}�j���H>�}�jg���N�x86_64-unknown-linux-gnu��B[�1�eSd�05q<srand_chacha�-84646240b9ad4eca�����ۑ���	�6��%%����#��&r���	����������������������	��������������&���������	�����������%�J
�����i�i���trust-end-file