val protocolVersion_enum:LP.enum protocolVersion U16.t
let protocolVersion_enum : LP.enum protocolVersion U16.t =
  [@inline_let] let e = [
    SSL_3p0, 768us;
    TLS_1p0, 769us;
    TLS_1p1, 770us;
    TLS_1p2, 771us;
    TLS_1p3, 772us;
  ] in
  [@inline_let] let _ =
    assert_norm (L.noRepeats (LP.list_map fst e))
  in
  [@inline_let] let _ = 
    assert_norm (L.noRepeats (LP.list_map snd e))
  in e
val protocolVersion_enum:LP.enum protocolVersion U16.t
let protocolVersion_enum:LP.enum protocolVersion U16.t =
[@@ inline_let ]let e =
  [SSL_3p0, 768us; TLS_1p0, 769us; TLS_1p1, 770us; TLS_1p2, 771us; TLS_1p3, 772us]
in
[@@ inline_let ]let _ = assert_norm (L.noRepeats (LP.list_map fst e)) in
[@@ inline_let ]let _ = assert_norm (L.noRepeats (LP.list_map snd e)) in
e
Parsers.ProtocolVersion.fst.checked
prims.fst.checked LowStar.Buffer.fst.checked LowParse.TacLib.fst.checked LowParse.Spec.AllIntegers.fst.checked LowParse.Spec.fst.checked LowParse.SLow.fst.checked LowParse.Low.fst.checked FStar.UInt8.fsti.checked FStar.UInt64.fsti.checked FStar.UInt32.fsti.checked FStar.UInt16.fsti.checked FStar.Tactics.Effect.fsti.checked FStar.Tactics.fst.checked FStar.Seq.fst.checked FStar.Pervasives.Native.fst.checked FStar.Pervasives.fsti.checked FStar.List.Tot.fst.checked FStar.HyperStack.ST.fsti.checked FStar.HyperStack.fst.checked FStar.Bytes.fsti.checked
Parsers.ProtocolVersion.fst
Prims.unit FStar.Pervasives.assert_norm Prims.b2t FStar.List.Tot.Base.noRepeats FStar.UInt16.t LowParse.Spec.Enum.list_map FStar.Pervasives.Native.tuple2 Parsers.ProtocolVersion.protocolVersion FStar.Pervasives.Native.snd FStar.Pervasives.Native.fst Prims.list Prims.Cons FStar.Pervasives.Native.Mktuple2 Parsers.ProtocolVersion.SSL_3p0 FStar.UInt16.__uint_to_t Parsers.ProtocolVersion.TLS_1p0 Parsers.ProtocolVersion.TLS_1p1 Parsers.ProtocolVersion.TLS_1p2 Parsers.ProtocolVersion.TLS_1p3 Prims.Nil
module Parsers.ProtocolVersion

(* This file has been automatically generated by EverParse. *)
open FStar.Bytes
module U8 = FStar.UInt8
module U16 = FStar.UInt16
module U32 = FStar.UInt32
module U64 = FStar.UInt64
module LP = LowParse.Spec
module LT = LowParse.TacLib
module LS = LowParse.SLow
module LSZ = LowParse.SLow
module LPI = LowParse.Spec.AllIntegers
module LL = LowParse.Low
module L = FStar.List.Tot
module B = LowStar.Buffer
module BY = FStar.Bytes
module HS = FStar.HyperStack
module HST = FStar.HyperStack.ST

#reset-options "--using_facts_from '* -FStar.Tactics -FStar.Reflection' --z3rlimit 16 --z3cliopt smt.arith.nl=false --max_fuel 2 --max_ifuel 2"
val protocolVersion_enum:LP.enum protocolVersion U16.t
LowParse.Spec.Enum.enum Parsers.ProtocolVersion.protocolVersion FStar.UInt16.t