Îõ³h,!$ø#      !"1.5.0.0  Trustworthy ÌÈ #$%&'()*+,-.Safeó /012345678 TrustworthyÌp9ÂMix hash is inspired by how xxh3 works on small (<=16byte) inputs.9: TrustworthyÌÞíe ;Mutable XXH3 state.<Hash =>Hash ?.@Hash (part of) A.BHash 8.CHash 7.DCreate ;.EReset ; with a seed.FReturn a hash value from a ;.ÇDoesn't mutate given state, so you can update, digest and update again.GUpdate ; with ?.HUpdate ; with (part of) AIUpdate ; with 8.JUpdate ; with 7.Ksize alignment DFEHGJI@>ÁÄÆÇÌÎÓÜÝÞö(-.A hashable value along with the result of the  function. required that if two values are unequal according to the R method, then applying the  ù method on each of the two values must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal values may improve the performance of hashing-based data structures.ÅThis method can be used to compute different hash values for the same input by providing a different salt in each application of the method. This implies that any instance that defines   must0 make use of the salt in its implementation.  may return negative N values.Like  8, but no salt is used. The default implementation uses  ” with some default salt. Instances might want to implement this method to provide a more efficient implementation than the default implementation.hashableGeneric  .hashableGeneric . Lift the  ' function through the type constructor. -hashWithSalt1 = liftHashWithSalt hashWithSalt Lift the  ' function through the type constructor. ;hashWithSalt2 = liftHashWithSalt2 hashWithSalt hashWithSalt Lift the  ê function halfway through the type constructor. This function makes a suitable default implementation of #, given that the type constructor t in question can unify with f a.hashable-Since we support a generic implementation of  þ we cannot also provide a default implementation for that method for the non-generic instance use case. Instead we provide defaultHashWith.hashableDefault implementation of  based on  .hashableTransform a value into a  > value, then hash the transformed value using the given salt.öThis is a useful shorthand in cases where a type can easily be mapped to another type that is already an instance of   . Example: ðdata Foo = Foo | Bar deriving (Enum) instance Hashable Foo where hashWithSalt = hashUsing fromEnumSŸA value with bit pattern (01)* (or 5* in hexa), for any size of Int. It is used as data constructor distinguisher. GHC computes its value during compilation.5Compute a hash value for the content of this pointer.-Compute a hash value for the content of this OÆ, beginning at the specified offset, using specified number of bytes.#Wrap a hashable value, caching the  function result.Unwrap hashed value.hashable has T requirement. cannot be U cannot be VWhashableXhashableYhashableZhashable[hashable\hashable]hashable;This instance was available since 1.4.1.0 only for GHC-9.4+^hashableNote : Prior to hashable-1.3.0.06 the hash computation included the second argument of Arg" which wasn't consistent with its T instance.Since hashable-1.5.0.0, hash (Semi.arg a _) = hash a_hashable`hashableNote : prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)The  of NaN is not well defined.ahashableNote : prior to hashable-1.3.0.0, hash 0.0 /= hash (-0.0)The  of NaN is not well defined.bhashablechashabledhashableehashablefhashableghashablehhashablei1Uses precomputed hash to detect inequality fasterjhashablekhashablelhashableTransformation function.Salt.Value to transform.pointer to the data to hashlength, in bytes hash value data to hashoffset, in byteslength, in bytes hash value ! "      ë(c) Milan Straka 2010 (c) Johan Tibell 2011 (c) Bryan O'Sullivan 2011, 2012 BSD-3-Clausejohan.tibell@gmail.com provisionalportableSafe"(c) Bryan O'Sullivan 2012 BSD-3-Clausebos@serpentine.com provisional GHC >= 7.4 Trustworthy)*ÃÄÅÆÇÎÛÜÞ· BSD-3-Clause provisional GHC >= 7.4Safeú    ë(c) Milan Straka 2010 (c) Johan Tibell 2011 (c) Bryan O'Sullivan 2011, 2012 BSD-3-Clausejohan.tibell@gmail.com provisionalportableSafe8Ñ    ! í                  ! " # $ % & ' ( ) * + , - . / 0123456789:;<=><=?<=@<=A<=B<=C