h&"U      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                          /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred    /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferredp    /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred +  /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred   !"#$  !"#$/Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred -hashes1Utility function to initialize a hash with a salt !"#$%&'()*+,-%&'+()*, !"#$-/Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred  u !"#$./0123456./0152346 !"#$/Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred  - !"#$%&'()*+,-789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvFGHIJKLCDEMNOP@ABQRST=>?UVWX:;MITLars Kuhtz  experimental Safe-Inferred " W& !"#$./0/123456789:;<=>?@ABCDEFGHFGHCDE@AB=>?:;<789 /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred"  /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimentalNone"?hashesAllocates and initializes a new context. The context may be reused by calling  on it.hashes'Resets a context an initialize context.hashesFeed more data into an context.hashes&Finalize a hash and return the digest.hashesLow-Level function that writes the final digest directly into the provided pointer. The pointer must point to at least 64 bytes of allocated memory. This is not checked and a violation of this condition may result in a segmentation fault.hashesLow-Level function that writes the final digest directly into the provided pointer. The pointer must point to at least 64 bytes of allocated memory. This is not checked and a violation of this condition may result in a segmentation fault.00 /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred  /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferrede   /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred0    /Copyright  2021 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred1 hashes Internal mutable SipHashContext.7The first four arguments are the internal state values v_{0..3} and the last argument represents the pending bytes from an incomplete word of the last chunk of input.hashesthe most significant byte keeps track of the total number of input bytes modulo 256. The remaining bytes are the currently pending input bytes (i.e. the last totalInput `mod` 8 many bytes of the input).hashesThe Word46 constructor parameters represent the 128 bit key in little endian encoding.hashes SipHash with c compression rounds and d finalization rounds.cf. ,http://cr.yp.to/siphash/siphash-20120918.pdfhashes?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|igeca_ } } ~                                                                                                                                                                                        "hashes-0.2.3-7vzcL6hLggJWWRF7H34EH Data.Hash.Class.Mutable.InternalData.Hash.Class.MutableData.Hash.Class.Mutable.SaltedData.Hash.Class.Pure.InternalData.Hash.Class.PureData.Hash.Class.Pure.SaltedData.Hash.FNV1Data.Hash.FNV1.SaltedData.Hash.Internal.UtilsData.Hash.Internal.OpenSSLData.Hash.SipHashData.Hash.Blake2Data.Hash.KeccakData.Hash.SHA2Data.Hash.SHA3 ResetableHashresetIncrementalHashContextupdatefinalizeupdateByteStringupdateByteStringLazyupdateShortByteStringupdateStorableupdateByteArrayHash initializehashPtrhashByteStringhashByteStringLazyhashShortByteString hashStorable hashByteArraySaltinitializeWithSalt Fnv1aHash Fnv1aContextFnv1Hash Fnv1Context Fnv1a32HashFnv1a32Context Fnv132Hash Fnv132Context Fnv1a64HashFnv1a64Context Fnv164Hash Fnv164Contextfnv164Initialize fnv164Updatefnv164Finalizefnv164fnv1a64Initialize fnv1a64Updatefnv1a64Finalizefnv1a64fnv132Initialize fnv132Updatefnv132Finalizefnv132fnv1a32Initialize fnv1a32Updatefnv1a32Finalizefnv1a32fnv1Initialize fnv1Update fnv1Finalizefnv1fnv1aInitialize fnv1aUpdate fnv1aFinalizefnv1a fnvPrime32 fnvPrime64fnvOffsetBasis32fnvOffsetBasis64fnvPrimefnvOffsetBasisfnv1_64fnv1_64_fnv1a_64 fnv1a_64_fnv1_32fnv1_32_fnv1a_32 fnv1a_32_ fnv1_host fnv1_host_ fnv1Primitivefnv1Primitive_ fnv1a_host fnv1a_host_fnv1aPrimitivefnv1aPrimitive_$fHashFnv164Hash$fIncrementalHashFnv164Hash$fHashFnv1a64Hash$fIncrementalHashFnv1a64Hash$fHashFnv132Hash$fIncrementalHashFnv132Hash$fHashFnv1a32Hash$fIncrementalHashFnv1a32Hash$fHashFnv1Hash$fIncrementalHashFnv1Hash$fHashFnv1aHash$fIncrementalHashFnv1aHash$fShowFnv1aHash $fEqFnv1aHash$fOrdFnv1aHash$fShowFnv1Hash $fEqFnv1Hash $fOrdFnv1Hash$fShowFnv1a32Hash$fEqFnv1a32Hash$fOrdFnv1a32Hash$fShowFnv132Hash$fEqFnv132Hash$fOrdFnv132Hash$fShowFnv1a64Hash$fEqFnv1a64Hash$fOrdFnv1a64Hash$fShowFnv164Hash$fEqFnv164Hash$fOrdFnv164HashB16ShortByteString$fShowB16ShortByteString Blake2s256 Blake2b512 Keccak512 Keccak256Shake256Shake128Sha3_512Sha3_384Sha3_256Sha3_224 Sha2_512_256 Sha2_512_224Sha2_512Sha2_384Sha2_256Sha2_224 OpenSslDigest algorithmDigestCtx AlgorithmOpenSslExceptioninitCtxresetCtx updateCtxfinalCtxfinalizeKeccak256PtrfinalizeKeccak512Ptr$fExceptionOpenSslException$fResetableHashDigest $fHashDigest$fIncrementalHashDigest$fOpenSslDigestSha2_224$fOpenSslDigestSha2_256$fOpenSslDigestSha2_384$fOpenSslDigestSha2_512$fOpenSslDigestSha2_512_224$fOpenSslDigestSha2_512_256$fOpenSslDigestSha3_224$fOpenSslDigestSha3_256$fOpenSslDigestSha3_384$fOpenSslDigestSha3_512$fOpenSslDigestShake128$fOpenSslDigestShake256$fResetableHashKeccak256$fHashKeccak256$fIncrementalHashKeccak256$fResetableHashKeccak512$fHashKeccak512$fIncrementalHashKeccak512$fOpenSslDigestBlake2b512$fOpenSslDigestBlake2s256$fEqBlake2s256$fOrdBlake2s256$fShowBlake2s256$fIncrementalHashBlake2s256$fHashBlake2s256$fEqBlake2b512$fOrdBlake2b512$fShowBlake2b512$fIncrementalHashBlake2b512$fHashBlake2b512 $fEqKeccak512$fOrdKeccak512$fShowKeccak512 $fEqKeccak256$fOrdKeccak256$fShowKeccak256 $fEqShake256 $fOrdShake256$fShowShake256$fIncrementalHashShake256$fHashShake256 $fEqShake128 $fOrdShake128$fShowShake128$fIncrementalHashShake128$fHashShake128 $fEqSha3_512 $fOrdSha3_512$fShowSha3_512$fIncrementalHashSha3_512$fHashSha3_512 $fEqSha3_384 $fOrdSha3_384$fShowSha3_384$fIncrementalHashSha3_384$fHashSha3_384 $fEqSha3_256 $fOrdSha3_256$fShowSha3_256$fIncrementalHashSha3_256$fHashSha3_256 $fEqSha3_224 $fOrdSha3_224$fShowSha3_224$fIncrementalHashSha3_224$fHashSha3_224$fEqSha2_512_256$fOrdSha2_512_256$fShowSha2_512_256$fIncrementalHashSha2_512_256$fHashSha2_512_256$fEqSha2_512_224$fOrdSha2_512_224$fShowSha2_512_224$fIncrementalHashSha2_512_224$fHashSha2_512_224 $fEqSha2_512 $fOrdSha2_512$fShowSha2_512$fIncrementalHashSha2_512$fHashSha2_512 $fEqSha2_384 $fOrdSha2_384$fShowSha2_384$fIncrementalHashSha2_384$fHashSha2_384 $fEqSha2_256 $fOrdSha2_256$fShowSha2_256$fIncrementalHashSha2_256$fHashSha2_256 $fEqSha2_224 $fOrdSha2_224$fShowSha2_224$fIncrementalHashSha2_224$fHashSha2_224 $fEqDigest $fOrdDigest $fShowDigest$fShowOpenSslExceptionSipHashContext SipHashKeySipHashsipHash sipHashCD sipHash24 sipHash13 sipHash48sipHashInitialize sipHashUpdatesipHashFinalize $fHashSipHash$fIncrementalHashSipHash$fSipHashRoundsnTrue$fSipHashRounds8False$fSipHashRounds7False$fSipHashRounds6False$fSipHashRounds5False$fSipHashRounds4False$fSipHashRounds3False$fSipHashRounds2False$fSipHashRounds1False$fSipHashParamn$fShowSipHashKey$fEqSipHashKey$fOrdSipHashKey $fShowSipHash $fEqSipHash $fOrdSipHash