123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283typeba=(char,Bigarray.int8_unsigned_elt,Bigarray.c_layout)Bigarray.Array1.ttypest=Bytes.ttypeoff=inttypelen=inttypeoptint=Optint.tmoduletypeFOREIGN=sigtypetvalunsafe_bytes:t->st->off->len->tvalunsafe_bigstring:t->ba->off->len->tendmoduletypeDESC=sigvaldefault:optintendmoduleAdler32_foreign_64=structtypet=intexternalunsafe_bytes:(t[@untagged])->st->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_adler32_st""caml_checkseum_adler32_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@untagged])->ba->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_adler32_ba""caml_checkseum_adler32_ba_untagged"[@@noalloc]endmoduleAdler32_foreign_32=structtypet=int32externalunsafe_bytes:(t[@unboxed])->st->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_adler32_st""caml_checkseum_adler32_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@unboxed])->ba->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_adler32_ba""caml_checkseum_adler32_ba_untagged"[@@noalloc]endmoduleAdler32_foreign:FOREIGNwithtypet=optint=structletimpl:(moduleFOREIGNwithtypet=Optint.t)=matchOptint.is_immediatewith|Optint.Conditional.True->(moduleAdler32_foreign_64:FOREIGNwithtypet=Optint.t)|Optint.Conditional.False->(moduleAdler32_foreign_32:FOREIGNwithtypet=Optint.t)include(valimpl:FOREIGNwithtypet=Optint.t)endmoduleCrc32_foreign_64=structtypet=intexternalunsafe_bytes:(t[@untagged])->st->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc32_st""caml_checkseum_crc32_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@untagged])->ba->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc32_ba""caml_checkseum_crc32_ba_untagged"[@@noalloc]endmoduleCrc32_foreign_32=structtypet=int32externalunsafe_bytes:(t[@unboxed])->st->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc32_st""caml_checkseum_crc32_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@unboxed])->ba->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc32_ba""caml_checkseum_crc32_ba_untagged"[@@noalloc]endmoduleCrc32_foreign:FOREIGNwithtypet=optint=structletimpl:(moduleFOREIGNwithtypet=Optint.t)=matchOptint.is_immediatewith|Optint.Conditional.True->(moduleCrc32_foreign_64:FOREIGNwithtypet=Optint.t)|Optint.Conditional.False->(moduleCrc32_foreign_32:FOREIGNwithtypet=Optint.t)include(valimpl:FOREIGNwithtypet=Optint.t)endmoduleCrc32c_foreign_64=structtypet=intexternalunsafe_bytes:(t[@untagged])->st->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc32c_st""caml_checkseum_crc32c_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@untagged])->ba->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc32c_ba""caml_checkseum_crc32c_ba_untagged"[@@noalloc]endmoduleCrc32c_foreign_32=structtypet=int32externalunsafe_bytes:(t[@unboxed])->st->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc32c_st""caml_checkseum_crc32c_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@unboxed])->ba->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc32c_ba""caml_checkseum_crc32c_ba_untagged"[@@noalloc]endmoduleCrc32c_foreign:FOREIGNwithtypet=optint=structletimpl:(moduleFOREIGNwithtypet=Optint.t)=matchOptint.is_immediatewith|Optint.Conditional.True->(moduleCrc32c_foreign_64:FOREIGNwithtypet=Optint.t)|Optint.Conditional.False->(moduleCrc32c_foreign_32:FOREIGNwithtypet=Optint.t)include(valimpl:FOREIGNwithtypet=Optint.t)endmoduleCrc24_foreign_64=structtypet=intexternalunsafe_bytes:(t[@untagged])->st->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc24_st""caml_checkseum_crc24_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@untagged])->ba->(off[@untagged])->(len[@untagged])->(t[@untagged])="caml_checkseum_crc24_ba""caml_checkseum_crc24_ba_untagged"[@@noalloc]endmoduleCrc24_foreign_32=structtypet=int32externalunsafe_bytes:(t[@unboxed])->st->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc24_st""caml_checkseum_crc24_st_untagged"[@@noalloc]externalunsafe_bigstring:(t[@unboxed])->ba->(off[@untagged])->(len[@untagged])->(t[@unboxed])="caml_checkseum_crc24_ba""caml_checkseum_crc24_ba_untagged"[@@noalloc]endmoduleCrc24_foreign:FOREIGNwithtypet=optint=structletimpl:(moduleFOREIGNwithtypet=Optint.t)=matchOptint.is_immediatewith|Optint.Conditional.True->(moduleCrc24_foreign_64:FOREIGNwithtypet=Optint.t)|Optint.Conditional.False->(moduleCrc24_foreign_32:FOREIGNwithtypet=Optint.t)include(valimpl:FOREIGNwithtypet=Optint.t)endmoduleMake(F:FOREIGN)(D:DESC)=structtypet=optintletppppfv=Optint.ppppfvletequalab=Optint.equalabletdefault=D.defaultletunsafe_digest_bytesaolv=F.unsafe_bytesvaolletto_int32=Optint.to_unsigned_int32letof_int32=Optint.of_unsigned_int32letunsafe_digest_stringaolv=F.unsafe_bytesv(Bytes.unsafe_of_stringa)olletunsafe_digest_bigstringaolv=F.unsafe_bigstringvaolletdigest_bytesaolv=ifo<0||l<0||o>Bytes.lengtha-ltheninvalid_arg"index out of bounds";unsafe_digest_bytesaolvletdigest_stringaolv=ifo<0||l<0||o>String.lengtha-ltheninvalid_arg"index out of bounds";unsafe_digest_stringaolvletdigest_bigstringaolv=ifo<0||l<0||o>Bigarray.Array1.dima-ltheninvalid_arg"index out of bounds";unsafe_digest_bigstringaolvendtypebigstring=bamoduletypeS=sigtypet=optintvalpp:Format.formatter->t->unitvalequal:t->t->boolvaldefault:tvaldigest_bytes:Bytes.t->int->int->t->tvalunsafe_digest_bytes:Bytes.t->int->int->t->tvaldigest_string:String.t->int->int->t->tvalunsafe_digest_string:String.t->int->int->t->tvaldigest_bigstring:bigstring->int->int->t->tvalunsafe_digest_bigstring:bigstring->int->int->t->tvalto_int32:t->int32valof_int32:int32->tendmoduleAdler32:S=Make(Adler32_foreign)(structletdefault=Optint.oneend)moduleCrc32:S=Make(Crc32_foreign)(structletdefault=Optint.zeroend)moduleCrc32c:S=Make(Crc32c_foreign)(structletdefault=Optint.zeroend)moduleCrc24:S=Make(Crc24_foreign)(structletdefault=Optint.of_int0xb704ceend)