packages feed

haal-models-0.1.3.0: src/Haal/Models/DTLS/PionEcdheCertNreq.hs

-- Generated by haal-gen. Do not edit manually.
module Haal.Models.DTLS.PionEcdheCertNreq
    ( PionEcdheCertNreqInput (..)
    , PionEcdheCertNreqOutput (..)
    , pionEcdheCertNreq
    ) where

import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomatonTable)

data PionEcdheCertNreqInput
    = In_ECDH_CLIENT_HELLO
    | In_ECDH_CLIENT_KEY_EXCHANGE
    | In_CHANGE_CIPHER_SPEC
    | In_FINISHED
    | In_APPLICATION
    | In_CERTIFICATE
    | In_EMPTY_CERTIFICATE
    | In_CERTIFICATE_VERIFY
    | In_Alert_WARNING_CLOSE_NOTIFY
    | In_Alert_FATAL_UNEXPECTED_MESSAGE
    deriving (Show, Eq, Ord, Enum, Bounded)

data PionEcdheCertNreqOutput
    = Out_HELLO_VERIFY_REQUEST
    | Out_TIMEOUT
    | Out_Alert_FATAL_CLOSE_NOTIFY
    | Out_SOCKET_CLOSED
    | Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_CHANGE_CIPHER_SPEC_FINISHED
    | Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
    | Out_Alert_FATAL_HANDSHAKE_FAILURE
    | Out_Alert_FATAL_DECODE_ERROR
    | Out_APPLICATION
    | Out_Alert_FATAL_BAD_CERTIFICATE
    deriving (Show, Eq, Ord, Enum, Bounded)

{- Transitions (state  input -> next state / output):
    0     In_ECDH_CLIENT_HELLO               -> 1 / Out_HELLO_VERIFY_REQUEST
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 2 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 2 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 2 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    1     In_ECDH_CLIENT_HELLO               -> 5 / Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 2 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 2 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 2 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    2     In_ECDH_CLIENT_HELLO               -> 2 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 2 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 2 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 2 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    3     In_ECDH_CLIENT_HELLO               -> 3 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 3 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 3 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 3 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 3 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 3 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 3 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 3 / Out_TIMEOUT
    4     In_ECDH_CLIENT_HELLO               -> 4 / Out_SOCKET_CLOSED
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_SOCKET_CLOSED
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_SOCKET_CLOSED
          In_FINISHED                        -> 4 / Out_SOCKET_CLOSED
          In_APPLICATION                     -> 4 / Out_SOCKET_CLOSED
          In_CERTIFICATE                     -> 4 / Out_SOCKET_CLOSED
          In_EMPTY_CERTIFICATE               -> 4 / Out_SOCKET_CLOSED
          In_CERTIFICATE_VERIFY              -> 4 / Out_SOCKET_CLOSED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_SOCKET_CLOSED
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_SOCKET_CLOSED
    5     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 7 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 8 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 9 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 10 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 11 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    6     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 13 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 8 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 11 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    7     In_ECDH_CLIENT_HELLO               -> 12 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 13 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 14 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    8     In_ECDH_CLIENT_HELLO               -> 8 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 8 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 19 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 19 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 11 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    9     In_ECDH_CLIENT_HELLO               -> 53 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 60 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    10    In_ECDH_CLIENT_HELLO               -> 53 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 64 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    11    In_ECDH_CLIENT_HELLO               -> 11 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 55 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 11 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 11 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    12    In_ECDH_CLIENT_HELLO               -> 12 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 13 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 25 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 42 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    13    In_ECDH_CLIENT_HELLO               -> 12 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 13 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 18 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    14    In_ECDH_CLIENT_HELLO               -> 25 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 18 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 26 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    15    In_ECDH_CLIENT_HELLO               -> 15 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 15 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 26 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_TIMEOUT
          In_APPLICATION                     -> 4 / Out_APPLICATION
          In_CERTIFICATE                     -> 15 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 15 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 15 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    16    In_ECDH_CLIENT_HELLO               -> 20 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 21 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 22 / Out_TIMEOUT
          In_FINISHED                        -> 23 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    17    In_ECDH_CLIENT_HELLO               -> 20 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 51 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 27 / Out_TIMEOUT
          In_FINISHED                        -> 23 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    18    In_ECDH_CLIENT_HELLO               -> 25 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 18 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    19    In_ECDH_CLIENT_HELLO               -> 33 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 19 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 19 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    20    In_ECDH_CLIENT_HELLO               -> 20 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 29 / Out_TIMEOUT
          In_FINISHED                        -> 23 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    21    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 44 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    22    In_ECDH_CLIENT_HELLO               -> 29 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 44 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    23    In_ECDH_CLIENT_HELLO               -> 23 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 23 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 31 / Out_TIMEOUT
          In_FINISHED                        -> 23 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 39 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 39 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    24    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 24 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 32 / Out_TIMEOUT
          In_FINISHED                        -> 24 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    25    In_ECDH_CLIENT_HELLO               -> 25 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 18 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 28 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    26    In_ECDH_CLIENT_HELLO               -> 26 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 26 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 26 / Out_TIMEOUT
          In_APPLICATION                     -> 4 / Out_APPLICATION
          In_CERTIFICATE                     -> 26 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 26 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 26 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    27    In_ECDH_CLIENT_HELLO               -> 29 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 30 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    28    In_ECDH_CLIENT_HELLO               -> 28 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 52 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 28 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 28 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    29    In_ECDH_CLIENT_HELLO               -> 29 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    30    In_ECDH_CLIENT_HELLO               -> 45 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    31    In_ECDH_CLIENT_HELLO               -> 31 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 31 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 50 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 50 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    32    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 32 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 32 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    33    In_ECDH_CLIENT_HELLO               -> 33 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 19 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 19 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    34    In_ECDH_CLIENT_HELLO               -> 34 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 34 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    35    In_ECDH_CLIENT_HELLO               -> 53 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 21 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    36    In_ECDH_CLIENT_HELLO               -> 53 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 51 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    37    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 49 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 32 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    38    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 47 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 32 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    39    In_ECDH_CLIENT_HELLO               -> 23 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_CHANGE_CIPHER_SPEC              -> 50 / Out_TIMEOUT
          In_FINISHED                        -> 23 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 39 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 39 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    40    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 48 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 37 / Out_TIMEOUT
          In_FINISHED                        -> 24 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    41    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 46 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 38 / Out_TIMEOUT
          In_FINISHED                        -> 24 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    42    In_ECDH_CLIENT_HELLO               -> 42 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 54 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 28 / Out_TIMEOUT
          In_FINISHED                        -> 42 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 42 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    43    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 45 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    44    In_ECDH_CLIENT_HELLO               -> 45 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    45    In_ECDH_CLIENT_HELLO               -> 45 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    46    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 24 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 47 / Out_TIMEOUT
          In_FINISHED                        -> 24 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    47    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 32 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 32 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    48    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 24 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 49 / Out_TIMEOUT
          In_FINISHED                        -> 24 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    49    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 32 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 32 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    50    In_ECDH_CLIENT_HELLO               -> 31 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 50 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 50 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    51    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 30 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    52    In_ECDH_CLIENT_HELLO               -> 28 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 52 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 28 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    53    In_ECDH_CLIENT_HELLO               -> 53 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 53 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 35 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    54    In_ECDH_CLIENT_HELLO               -> 42 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 54 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 52 / Out_TIMEOUT
          In_FINISHED                        -> 42 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    55    In_ECDH_CLIENT_HELLO               -> 11 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 55 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 11 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    56    In_ECDH_CLIENT_HELLO               -> 34 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 58 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    57    In_ECDH_CLIENT_HELLO               -> 34 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 59 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    58    In_ECDH_CLIENT_HELLO               -> 34 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 34 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    59    In_ECDH_CLIENT_HELLO               -> 34 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 34 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 3 / Out_TIMEOUT
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 56 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 57 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    60    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 61 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 62 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    61    In_ECDH_CLIENT_HELLO               -> 45 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 26 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 63 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    62    In_ECDH_CLIENT_HELLO               -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 24 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 63 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 40 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 41 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 24 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    63    In_ECDH_CLIENT_HELLO               -> 4 / Out_Alert_FATAL_BAD_CERTIFICATE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 32 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 26 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 37 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 32 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    64    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 65 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 17 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    65    In_ECDH_CLIENT_HELLO               -> 45 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 4 / Out_Alert_FATAL_DECODE_ERROR
          In_FINISHED                        -> 26 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 22 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 27 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_NO_CERTIFICATE_RESERVED
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_FATAL_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
-}
pionEcdheCertNreq :: MealyAutomaton Int PionEcdheCertNreqInput PionEcdheCertNreqOutput
pionEcdheCertNreq =
    case mkMealyAutomatonTable 66 0 deltaTable lambdaTable of
        Right m -> m
        Left err -> error ("haal-gen: invalid transition table: " ++ err)
  where
    deltaTable =
        "\1\2\3\2\3\2\2\2\4\4\
        \\5\2\3\2\3\2\2\2\4\4\
        \\2\2\3\2\3\2\2\2\4\4\
        \\3\3\3\3\3\3\3\3\3\3\
        \\4\4\4\4\4\4\4\4\4\4\
        \\6\7\3\8\3\9\10\11\4\4\
        \\6\13\3\8\3\35\36\11\4\4\
        \\12\13\14\15\3\16\17\4\4\4\
        \\8\4\3\8\3\19\19\11\4\4\
        \\53\60\3\33\3\35\36\34\4\4\
        \\53\64\3\33\3\35\36\34\4\4\
        \\11\55\3\11\3\56\57\11\4\4\
        \\12\13\25\4\3\16\17\42\4\4\
        \\12\13\18\4\3\16\17\4\4\4\
        \\25\18\4\26\3\22\27\4\4\4\
        \\15\15\26\15\4\15\15\15\4\4\
        \\20\21\22\23\3\16\17\24\4\4\
        \\20\51\27\23\3\16\17\24\4\4\
        \\25\18\4\4\3\22\27\4\4\4\
        \\33\4\3\33\3\19\19\34\4\4\
        \\20\20\29\23\3\16\17\24\4\4\
        \\43\20\44\4\3\16\17\4\4\4\
        \\29\44\4\31\3\22\27\32\4\4\
        \\23\23\31\23\3\39\39\24\4\4\
        \\24\24\32\24\3\40\41\24\4\4\
        \\25\18\4\4\3\22\27\28\4\4\
        \\26\26\4\26\4\26\26\26\4\4\
        \\29\30\4\31\3\22\27\32\4\4\
        \\28\52\4\28\3\37\38\28\4\4\
        \\29\29\4\31\3\22\27\32\4\4\
        \\45\29\4\4\3\22\27\4\4\4\
        \\31\31\4\31\3\50\50\32\4\4\
        \\32\32\4\32\3\37\38\32\4\4\
        \\33\33\3\33\3\19\19\34\4\4\
        \\34\34\3\34\3\56\57\34\4\4\
        \\53\21\3\33\3\35\36\34\4\4\
        \\53\51\3\33\3\35\36\34\4\4\
        \\32\49\4\32\3\37\38\32\4\4\
        \\32\47\4\32\3\37\38\32\4\4\
        \\23\4\50\23\3\39\39\24\4\4\
        \\24\48\37\24\3\40\41\24\4\4\
        \\24\46\38\24\3\40\41\24\4\4\
        \\42\54\28\42\3\40\41\42\4\4\
        \\43\20\45\4\3\16\17\24\4\4\
        \\45\29\4\4\3\22\27\4\4\4\
        \\45\29\4\4\3\22\27\32\4\4\
        \\24\24\47\24\3\40\41\4\4\4\
        \\32\32\4\32\3\37\38\4\4\4\
        \\24\24\49\24\3\40\41\4\4\4\
        \\32\32\4\32\3\37\38\4\4\4\
        \\31\4\4\31\3\50\50\32\4\4\
        \\43\20\30\4\3\16\17\4\4\4\
        \\28\52\4\28\3\37\38\4\4\4\
        \\53\53\3\33\3\35\36\34\4\4\
        \\42\54\52\42\3\40\41\4\4\4\
        \\11\55\3\11\3\56\57\4\4\4\
        \\34\58\3\34\3\56\57\34\4\4\
        \\34\59\3\34\3\56\57\34\4\4\
        \\34\34\3\34\3\56\57\4\4\4\
        \\34\34\3\34\3\56\57\4\4\4\
        \\43\20\61\15\3\16\17\62\4\4\
        \\45\29\4\26\3\22\27\63\4\4\
        \\4\24\63\15\3\40\41\24\4\4\
        \\4\32\4\26\3\37\38\32\4\4\
        \\43\20\65\15\3\16\17\4\4\4\
        \\45\29\4\26\3\22\27\4\4\4"
    lambdaTable =
        "\0\1\1\1\1\1\1\1\2\1\
        \\4\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\1\1\
        \\3\3\3\3\3\3\3\3\3\3\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\5\1\1\1\6\2\1\
        \\1\7\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\7\1\1\1\1\2\1\
        \\1\1\1\7\1\1\1\6\2\1\
        \\1\1\8\5\1\1\1\6\2\1\
        \\1\1\1\1\9\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\8\7\1\1\1\6\2\1\
        \\1\7\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\7\1\1\1\10\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\8\7\1\1\1\1\2\1\
        \\1\1\8\1\9\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\8\7\1\1\1\6\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\1\8\1\1\1\1\1\2\1\
        \\1\7\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\7\1\1\1\1\2\1\
        \\1\1\8\7\1\1\1\10\2\1\
        \\1\1\8\7\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\6\2\1\
        \\1\1\8\1\1\1\1\6\2\1\
        \\1\1\1\1\1\1\1\10\2\1\
        \\1\1\8\1\1\1\1\10\2\1\
        \\1\7\8\1\1\1\1\1\2\1\
        \\1\1\1\7\1\1\1\6\2\1\
        \\1\1\8\1\1\1\1\6\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\6\2\1\
        \\1\1\1\1\1\1\1\6\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\1\2\1\
        \\1\1\1\1\1\1\1\10\2\1\
        \\1\1\1\1\1\1\1\6\2\1\
        \\1\1\1\5\1\1\1\1\2\1\
        \\1\1\8\5\1\1\1\1\2\1\
        \\10\1\1\5\1\1\1\1\2\1\
        \\10\1\8\5\1\1\1\1\2\1\
        \\1\1\1\5\1\1\1\6\2\1\
        \\1\1\8\5\1\1\1\6\2\1"