packages feed

haal-models-0.1.0.0: src/Haal/Models/DTLS/EtinydtlsEcdheCertReq.hs

-- Generated by haal-gen. Do not edit manually.
module Haal.Models.DTLS.EtinydtlsEcdheCertReq
    ( EtinydtlsEcdheCertReqInput (..)
    , EtinydtlsEcdheCertReqOutput (..)
    , etinydtlsEcdheCertReq
    ) where

import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)

data EtinydtlsEcdheCertReqInput
    = 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 EtinydtlsEcdheCertReqOutput
    = Out_HELLO_VERIFY_REQUEST
    | Out_TIMEOUT
    | Out_SOCKET_CLOSED
    | Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_Alert_FATAL_UNEXPECTED_MESSAGE
    | Out_Alert_FATAL_CLOSE_NOTIFY
    | Out_Alert_FATAL_DECRYPT_ERROR
    | Out_CHANGE_CIPHER_SPEC_FINISHED
    | Out_APPLICATION
    deriving (Show, Eq, Ord, Enum, Bounded)

etinydtlsEcdheCertReq :: MealyAutomaton Int EtinydtlsEcdheCertReqInput EtinydtlsEcdheCertReqOutput
etinydtlsEcdheCertReq = mkMealyAutomaton delta lambda (Set.fromList [0..26]) 0
  where
    delta 0 In_ECDH_CLIENT_HELLO = 1
    delta 0 In_ECDH_CLIENT_KEY_EXCHANGE = 2
    delta 0 In_CHANGE_CIPHER_SPEC = 3
    delta 0 In_FINISHED = 0
    delta 0 In_APPLICATION = 0
    delta 0 In_CERTIFICATE = 0
    delta 0 In_EMPTY_CERTIFICATE = 0
    delta 0 In_CERTIFICATE_VERIFY = 0
    delta 0 In_Alert_WARNING_CLOSE_NOTIFY = 0
    delta 0 In_Alert_FATAL_UNEXPECTED_MESSAGE = 0
    delta 3 In_ECDH_CLIENT_HELLO = 3
    delta 3 In_ECDH_CLIENT_KEY_EXCHANGE = 3
    delta 3 In_CHANGE_CIPHER_SPEC = 3
    delta 3 In_FINISHED = 3
    delta 3 In_APPLICATION = 3
    delta 3 In_CERTIFICATE = 3
    delta 3 In_EMPTY_CERTIFICATE = 3
    delta 3 In_CERTIFICATE_VERIFY = 3
    delta 3 In_Alert_WARNING_CLOSE_NOTIFY = 3
    delta 3 In_Alert_FATAL_UNEXPECTED_MESSAGE = 3
    delta 1 In_ECDH_CLIENT_HELLO = 4
    delta 1 In_ECDH_CLIENT_KEY_EXCHANGE = 5
    delta 1 In_CHANGE_CIPHER_SPEC = 3
    delta 1 In_FINISHED = 1
    delta 1 In_APPLICATION = 1
    delta 1 In_CERTIFICATE = 1
    delta 1 In_EMPTY_CERTIFICATE = 1
    delta 1 In_CERTIFICATE_VERIFY = 1
    delta 1 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 1 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 4 In_ECDH_CLIENT_HELLO = 6
    delta 4 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 4 In_CHANGE_CIPHER_SPEC = 8
    delta 4 In_FINISHED = 6
    delta 4 In_APPLICATION = 4
    delta 4 In_CERTIFICATE = 9
    delta 4 In_EMPTY_CERTIFICATE = 9
    delta 4 In_CERTIFICATE_VERIFY = 6
    delta 4 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 4 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 6 In_ECDH_CLIENT_HELLO = 6
    delta 6 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 6 In_CHANGE_CIPHER_SPEC = 10
    delta 6 In_FINISHED = 6
    delta 6 In_APPLICATION = 6
    delta 6 In_CERTIFICATE = 6
    delta 6 In_EMPTY_CERTIFICATE = 6
    delta 6 In_CERTIFICATE_VERIFY = 6
    delta 6 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 6 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 8 In_ECDH_CLIENT_HELLO = 11
    delta 8 In_ECDH_CLIENT_KEY_EXCHANGE = 12
    delta 8 In_CHANGE_CIPHER_SPEC = 11
    delta 8 In_FINISHED = 11
    delta 8 In_APPLICATION = 11
    delta 8 In_CERTIFICATE = 11
    delta 8 In_EMPTY_CERTIFICATE = 11
    delta 8 In_CERTIFICATE_VERIFY = 11
    delta 8 In_Alert_WARNING_CLOSE_NOTIFY = 11
    delta 8 In_Alert_FATAL_UNEXPECTED_MESSAGE = 11
    delta 11 In_ECDH_CLIENT_HELLO = 8
    delta 11 In_ECDH_CLIENT_KEY_EXCHANGE = 12
    delta 11 In_CHANGE_CIPHER_SPEC = 3
    delta 11 In_FINISHED = 11
    delta 11 In_APPLICATION = 11
    delta 11 In_CERTIFICATE = 11
    delta 11 In_EMPTY_CERTIFICATE = 11
    delta 11 In_CERTIFICATE_VERIFY = 11
    delta 11 In_Alert_WARNING_CLOSE_NOTIFY = 11
    delta 11 In_Alert_FATAL_UNEXPECTED_MESSAGE = 11
    delta 10 In_ECDH_CLIENT_HELLO = 10
    delta 10 In_ECDH_CLIENT_KEY_EXCHANGE = 10
    delta 10 In_CHANGE_CIPHER_SPEC = 10
    delta 10 In_FINISHED = 10
    delta 10 In_APPLICATION = 10
    delta 10 In_CERTIFICATE = 10
    delta 10 In_EMPTY_CERTIFICATE = 10
    delta 10 In_CERTIFICATE_VERIFY = 10
    delta 10 In_Alert_WARNING_CLOSE_NOTIFY = 10
    delta 10 In_Alert_FATAL_UNEXPECTED_MESSAGE = 10
    delta 5 In_ECDH_CLIENT_HELLO = 13
    delta 5 In_ECDH_CLIENT_KEY_EXCHANGE = 5
    delta 5 In_CHANGE_CIPHER_SPEC = 3
    delta 5 In_FINISHED = 5
    delta 5 In_APPLICATION = 5
    delta 5 In_CERTIFICATE = 5
    delta 5 In_EMPTY_CERTIFICATE = 5
    delta 5 In_CERTIFICATE_VERIFY = 5
    delta 5 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 5 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 13 In_ECDH_CLIENT_HELLO = 7
    delta 13 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 13 In_CHANGE_CIPHER_SPEC = 14
    delta 13 In_FINISHED = 7
    delta 13 In_APPLICATION = 13
    delta 13 In_CERTIFICATE = 15
    delta 13 In_EMPTY_CERTIFICATE = 15
    delta 13 In_CERTIFICATE_VERIFY = 7
    delta 13 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 13 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 15 In_ECDH_CLIENT_HELLO = 7
    delta 15 In_ECDH_CLIENT_KEY_EXCHANGE = 16
    delta 15 In_CHANGE_CIPHER_SPEC = 14
    delta 15 In_FINISHED = 7
    delta 15 In_APPLICATION = 15
    delta 15 In_CERTIFICATE = 7
    delta 15 In_EMPTY_CERTIFICATE = 7
    delta 15 In_CERTIFICATE_VERIFY = 7
    delta 15 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 15 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 14 In_ECDH_CLIENT_HELLO = 17
    delta 14 In_ECDH_CLIENT_KEY_EXCHANGE = 17
    delta 14 In_CHANGE_CIPHER_SPEC = 17
    delta 14 In_FINISHED = 17
    delta 14 In_APPLICATION = 17
    delta 14 In_CERTIFICATE = 17
    delta 14 In_EMPTY_CERTIFICATE = 17
    delta 14 In_CERTIFICATE_VERIFY = 17
    delta 14 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 14 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 17 In_ECDH_CLIENT_HELLO = 17
    delta 17 In_ECDH_CLIENT_KEY_EXCHANGE = 17
    delta 17 In_CHANGE_CIPHER_SPEC = 3
    delta 17 In_FINISHED = 17
    delta 17 In_APPLICATION = 17
    delta 17 In_CERTIFICATE = 17
    delta 17 In_EMPTY_CERTIFICATE = 17
    delta 17 In_CERTIFICATE_VERIFY = 17
    delta 17 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 17 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 9 In_ECDH_CLIENT_HELLO = 6
    delta 9 In_ECDH_CLIENT_KEY_EXCHANGE = 16
    delta 9 In_CHANGE_CIPHER_SPEC = 8
    delta 9 In_FINISHED = 6
    delta 9 In_APPLICATION = 9
    delta 9 In_CERTIFICATE = 6
    delta 9 In_EMPTY_CERTIFICATE = 6
    delta 9 In_CERTIFICATE_VERIFY = 6
    delta 9 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 9 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 7 In_ECDH_CLIENT_HELLO = 7
    delta 7 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 7 In_CHANGE_CIPHER_SPEC = 10
    delta 7 In_FINISHED = 7
    delta 7 In_APPLICATION = 7
    delta 7 In_CERTIFICATE = 7
    delta 7 In_EMPTY_CERTIFICATE = 7
    delta 7 In_CERTIFICATE_VERIFY = 7
    delta 7 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 7 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 2 In_ECDH_CLIENT_HELLO = 5
    delta 2 In_ECDH_CLIENT_KEY_EXCHANGE = 2
    delta 2 In_CHANGE_CIPHER_SPEC = 3
    delta 2 In_FINISHED = 2
    delta 2 In_APPLICATION = 2
    delta 2 In_CERTIFICATE = 2
    delta 2 In_EMPTY_CERTIFICATE = 2
    delta 2 In_CERTIFICATE_VERIFY = 2
    delta 2 In_Alert_WARNING_CLOSE_NOTIFY = 2
    delta 2 In_Alert_FATAL_UNEXPECTED_MESSAGE = 2
    delta 12 In_ECDH_CLIENT_HELLO = 18
    delta 12 In_ECDH_CLIENT_KEY_EXCHANGE = 12
    delta 12 In_CHANGE_CIPHER_SPEC = 3
    delta 12 In_FINISHED = 12
    delta 12 In_APPLICATION = 12
    delta 12 In_CERTIFICATE = 12
    delta 12 In_EMPTY_CERTIFICATE = 12
    delta 12 In_CERTIFICATE_VERIFY = 12
    delta 12 In_Alert_WARNING_CLOSE_NOTIFY = 12
    delta 12 In_Alert_FATAL_UNEXPECTED_MESSAGE = 12
    delta 18 In_ECDH_CLIENT_HELLO = 12
    delta 18 In_ECDH_CLIENT_KEY_EXCHANGE = 12
    delta 18 In_CHANGE_CIPHER_SPEC = 17
    delta 18 In_FINISHED = 12
    delta 18 In_APPLICATION = 12
    delta 18 In_CERTIFICATE = 12
    delta 18 In_EMPTY_CERTIFICATE = 12
    delta 18 In_CERTIFICATE_VERIFY = 12
    delta 18 In_Alert_WARNING_CLOSE_NOTIFY = 12
    delta 18 In_Alert_FATAL_UNEXPECTED_MESSAGE = 12
    delta 16 In_ECDH_CLIENT_HELLO = 7
    delta 16 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 16 In_CHANGE_CIPHER_SPEC = 14
    delta 16 In_FINISHED = 7
    delta 16 In_APPLICATION = 16
    delta 16 In_CERTIFICATE = 7
    delta 16 In_EMPTY_CERTIFICATE = 7
    delta 16 In_CERTIFICATE_VERIFY = 19
    delta 16 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 16 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 19 In_ECDH_CLIENT_HELLO = 7
    delta 19 In_ECDH_CLIENT_KEY_EXCHANGE = 7
    delta 19 In_CHANGE_CIPHER_SPEC = 20
    delta 19 In_FINISHED = 7
    delta 19 In_APPLICATION = 19
    delta 19 In_CERTIFICATE = 7
    delta 19 In_EMPTY_CERTIFICATE = 7
    delta 19 In_CERTIFICATE_VERIFY = 7
    delta 19 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 19 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 20 In_ECDH_CLIENT_HELLO = 21
    delta 20 In_ECDH_CLIENT_KEY_EXCHANGE = 21
    delta 20 In_CHANGE_CIPHER_SPEC = 14
    delta 20 In_FINISHED = 22
    delta 20 In_APPLICATION = 20
    delta 20 In_CERTIFICATE = 21
    delta 20 In_EMPTY_CERTIFICATE = 21
    delta 20 In_CERTIFICATE_VERIFY = 21
    delta 20 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 20 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 22 In_ECDH_CLIENT_HELLO = 23
    delta 22 In_ECDH_CLIENT_KEY_EXCHANGE = 22
    delta 22 In_CHANGE_CIPHER_SPEC = 10
    delta 22 In_FINISHED = 22
    delta 22 In_APPLICATION = 22
    delta 22 In_CERTIFICATE = 22
    delta 22 In_EMPTY_CERTIFICATE = 22
    delta 22 In_CERTIFICATE_VERIFY = 22
    delta 22 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 22 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 21 In_ECDH_CLIENT_HELLO = 21
    delta 21 In_ECDH_CLIENT_KEY_EXCHANGE = 21
    delta 21 In_CHANGE_CIPHER_SPEC = 10
    delta 21 In_FINISHED = 21
    delta 21 In_APPLICATION = 21
    delta 21 In_CERTIFICATE = 21
    delta 21 In_EMPTY_CERTIFICATE = 21
    delta 21 In_CERTIFICATE_VERIFY = 21
    delta 21 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 21 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 23 In_ECDH_CLIENT_HELLO = 21
    delta 23 In_ECDH_CLIENT_KEY_EXCHANGE = 21
    delta 23 In_CHANGE_CIPHER_SPEC = 14
    delta 23 In_FINISHED = 21
    delta 23 In_APPLICATION = 23
    delta 23 In_CERTIFICATE = 24
    delta 23 In_EMPTY_CERTIFICATE = 24
    delta 23 In_CERTIFICATE_VERIFY = 21
    delta 23 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 23 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 24 In_ECDH_CLIENT_HELLO = 21
    delta 24 In_ECDH_CLIENT_KEY_EXCHANGE = 25
    delta 24 In_CHANGE_CIPHER_SPEC = 14
    delta 24 In_FINISHED = 21
    delta 24 In_APPLICATION = 24
    delta 24 In_CERTIFICATE = 21
    delta 24 In_EMPTY_CERTIFICATE = 21
    delta 24 In_CERTIFICATE_VERIFY = 21
    delta 24 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 24 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 25 In_ECDH_CLIENT_HELLO = 21
    delta 25 In_ECDH_CLIENT_KEY_EXCHANGE = 21
    delta 25 In_CHANGE_CIPHER_SPEC = 14
    delta 25 In_FINISHED = 21
    delta 25 In_APPLICATION = 25
    delta 25 In_CERTIFICATE = 21
    delta 25 In_EMPTY_CERTIFICATE = 21
    delta 25 In_CERTIFICATE_VERIFY = 26
    delta 25 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 25 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta 26 In_ECDH_CLIENT_HELLO = 21
    delta 26 In_ECDH_CLIENT_KEY_EXCHANGE = 21
    delta 26 In_CHANGE_CIPHER_SPEC = 20
    delta 26 In_FINISHED = 21
    delta 26 In_APPLICATION = 26
    delta 26 In_CERTIFICATE = 21
    delta 26 In_EMPTY_CERTIFICATE = 21
    delta 26 In_CERTIFICATE_VERIFY = 21
    delta 26 In_Alert_WARNING_CLOSE_NOTIFY = 17
    delta 26 In_Alert_FATAL_UNEXPECTED_MESSAGE = 17
    delta _ _ = error "haal-gen: undefined transition"
    lambda 0 In_ECDH_CLIENT_HELLO = Out_HELLO_VERIFY_REQUEST
    lambda 0 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 0 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 0 In_FINISHED = Out_TIMEOUT
    lambda 0 In_APPLICATION = Out_TIMEOUT
    lambda 0 In_CERTIFICATE = Out_TIMEOUT
    lambda 0 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 0 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 0 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 0 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 3 In_ECDH_CLIENT_HELLO = Out_SOCKET_CLOSED
    lambda 3 In_ECDH_CLIENT_KEY_EXCHANGE = Out_SOCKET_CLOSED
    lambda 3 In_CHANGE_CIPHER_SPEC = Out_SOCKET_CLOSED
    lambda 3 In_FINISHED = Out_SOCKET_CLOSED
    lambda 3 In_APPLICATION = Out_SOCKET_CLOSED
    lambda 3 In_CERTIFICATE = Out_SOCKET_CLOSED
    lambda 3 In_EMPTY_CERTIFICATE = Out_SOCKET_CLOSED
    lambda 3 In_CERTIFICATE_VERIFY = Out_SOCKET_CLOSED
    lambda 3 In_Alert_WARNING_CLOSE_NOTIFY = Out_SOCKET_CLOSED
    lambda 3 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_SOCKET_CLOSED
    lambda 1 In_ECDH_CLIENT_HELLO = Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    lambda 1 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 1 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 1 In_FINISHED = Out_TIMEOUT
    lambda 1 In_APPLICATION = Out_TIMEOUT
    lambda 1 In_CERTIFICATE = Out_TIMEOUT
    lambda 1 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 1 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 1 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 1 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 4 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 4 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_APPLICATION = Out_TIMEOUT
    lambda 4 In_CERTIFICATE = Out_TIMEOUT
    lambda 4 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 4 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 4 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 6 In_ECDH_CLIENT_HELLO = Out_TIMEOUT
    lambda 6 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 6 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 6 In_FINISHED = Out_TIMEOUT
    lambda 6 In_APPLICATION = Out_TIMEOUT
    lambda 6 In_CERTIFICATE = Out_TIMEOUT
    lambda 6 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 6 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 6 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 6 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 8 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 11 In_ECDH_CLIENT_HELLO = Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    lambda 11 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 11 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 11 In_FINISHED = Out_TIMEOUT
    lambda 11 In_APPLICATION = Out_TIMEOUT
    lambda 11 In_CERTIFICATE = Out_TIMEOUT
    lambda 11 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 11 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 11 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 11 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 10 In_ECDH_CLIENT_HELLO = Out_TIMEOUT
    lambda 10 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 10 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 10 In_FINISHED = Out_TIMEOUT
    lambda 10 In_APPLICATION = Out_TIMEOUT
    lambda 10 In_CERTIFICATE = Out_TIMEOUT
    lambda 10 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 10 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 10 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 10 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 5 In_ECDH_CLIENT_HELLO = Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    lambda 5 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 5 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 5 In_FINISHED = Out_TIMEOUT
    lambda 5 In_APPLICATION = Out_TIMEOUT
    lambda 5 In_CERTIFICATE = Out_TIMEOUT
    lambda 5 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 5 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 5 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 5 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 13 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 13 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 13 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 13 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 13 In_APPLICATION = Out_TIMEOUT
    lambda 13 In_CERTIFICATE = Out_TIMEOUT
    lambda 13 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 13 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 13 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 13 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 15 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 15 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 15 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_APPLICATION = Out_TIMEOUT
    lambda 15 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 15 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 14 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_ECDH_CLIENT_HELLO = Out_TIMEOUT
    lambda 17 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 17 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 17 In_FINISHED = Out_TIMEOUT
    lambda 17 In_APPLICATION = Out_TIMEOUT
    lambda 17 In_CERTIFICATE = Out_TIMEOUT
    lambda 17 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 17 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 17 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 17 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 9 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 9 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 9 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 9 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 9 In_APPLICATION = Out_TIMEOUT
    lambda 9 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 9 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 9 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 9 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 9 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 7 In_ECDH_CLIENT_HELLO = Out_TIMEOUT
    lambda 7 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 7 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 7 In_FINISHED = Out_TIMEOUT
    lambda 7 In_APPLICATION = Out_TIMEOUT
    lambda 7 In_CERTIFICATE = Out_TIMEOUT
    lambda 7 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 7 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 7 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 7 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 2 In_ECDH_CLIENT_HELLO = Out_HELLO_VERIFY_REQUEST
    lambda 2 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 2 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 2 In_FINISHED = Out_TIMEOUT
    lambda 2 In_APPLICATION = Out_TIMEOUT
    lambda 2 In_CERTIFICATE = Out_TIMEOUT
    lambda 2 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 2 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 2 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 2 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 12 In_ECDH_CLIENT_HELLO = Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    lambda 12 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 12 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 12 In_FINISHED = Out_TIMEOUT
    lambda 12 In_APPLICATION = Out_TIMEOUT
    lambda 12 In_CERTIFICATE = Out_TIMEOUT
    lambda 12 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 12 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 12 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 12 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 18 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 16 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 16 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 16 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 16 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 16 In_APPLICATION = Out_TIMEOUT
    lambda 16 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 16 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 16 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 16 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 16 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 19 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 19 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_APPLICATION = Out_TIMEOUT
    lambda 19 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 19 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 20 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 20 In_FINISHED = Out_CHANGE_CIPHER_SPEC_FINISHED
    lambda 20 In_APPLICATION = Out_TIMEOUT
    lambda 20 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 20 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 22 In_ECDH_CLIENT_HELLO = Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    lambda 22 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 22 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 22 In_FINISHED = Out_TIMEOUT
    lambda 22 In_APPLICATION = Out_APPLICATION
    lambda 22 In_CERTIFICATE = Out_TIMEOUT
    lambda 22 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 22 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 22 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 22 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 21 In_ECDH_CLIENT_HELLO = Out_TIMEOUT
    lambda 21 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 21 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 21 In_FINISHED = Out_TIMEOUT
    lambda 21 In_APPLICATION = Out_TIMEOUT
    lambda 21 In_CERTIFICATE = Out_TIMEOUT
    lambda 21 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 21 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 21 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 21 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 23 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 23 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 23 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 23 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 23 In_APPLICATION = Out_TIMEOUT
    lambda 23 In_CERTIFICATE = Out_TIMEOUT
    lambda 23 In_EMPTY_CERTIFICATE = Out_TIMEOUT
    lambda 23 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 23 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 23 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 24 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 24 In_ECDH_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 24 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 24 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 24 In_APPLICATION = Out_TIMEOUT
    lambda 24 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 24 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 24 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 24 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 24 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 25 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 25 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 25 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 25 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 25 In_APPLICATION = Out_TIMEOUT
    lambda 25 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 25 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 25 In_CERTIFICATE_VERIFY = Out_TIMEOUT
    lambda 25 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 25 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 26 In_ECDH_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_ECDH_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 26 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_APPLICATION = Out_TIMEOUT
    lambda 26 In_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_EMPTY_CERTIFICATE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_CERTIFICATE_VERIFY = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 26 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 26 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda _ _ = error "haal-gen: undefined transition"