// WARNING: This file is machine generated by fidlgen.

// fidl_experiment = output_index_json

#pragma once

#include <fidl/test.protocols/cpp/wire.h>

// For ::fidl::fuzzing::DecoderEncoderImpl.
#include <lib/fidl/cpp/fuzzing/decoder_encoder.h>

namespace fuzzing {

inline constexpr ::std::array<::fidl::fuzzing::DecoderEncoderForType, 64>
    test_protocols_decoder_encoders = {
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseNoRequestWithResponseResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseNoRequestWithResponseResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseNoRequestWithResponseResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseNoRequestWithResponseResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseWithRequestNoResponseRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestNoResponseRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseWithRequestNoResponseRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestNoResponseRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseWithRequestEmptyResponseRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestEmptyResponseRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseWithRequestEmptyResponseRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestEmptyResponseRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseWithRequestWithResponseResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithAndWithoutRequestResponseOnWithResponseRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseOnWithResponseRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithAndWithoutRequestResponseOnWithResponseRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithAndWithoutRequestResponseOnWithResponseRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithErrorSyntaxResponseAsStructResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxResponseAsStructResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithErrorSyntaxResponseAsStructResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxResponseAsStructResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithErrorSyntaxErrorAsPrimitiveResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxErrorAsPrimitiveResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithErrorSyntaxErrorAsPrimitiveResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxErrorAsPrimitiveResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithErrorSyntaxErrorAsEnumResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxErrorAsEnumResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithErrorSyntaxErrorAsEnumResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxErrorAsEnumResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithErrorSyntaxHandleInResultResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxHandleInResultResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithErrorSyntaxHandleInResultResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithErrorSyntaxHandleInResultResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolMethodARequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodARequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolMethodARequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodARequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolEventARequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolEventARequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolEventARequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolEventARequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolMethodBRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodBRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolMethodBRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodBRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolMethodBResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodBResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolMethodBResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMethodBResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolTakeHandleRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolTakeHandleRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolTakeHandleRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolTakeHandleRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolMutateSocketRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMutateSocketRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolMutateSocketRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMutateSocketRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ChannelProtocolMutateSocketResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMutateSocketResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ChannelProtocolMutateSocketResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ChannelProtocolMutateSocketResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::SyscallProtocolMethodCRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::SyscallProtocolMethodCRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::SyscallProtocolMethodCRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::SyscallProtocolMethodCRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::HandleRightsProtocolNoResponseMethodRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolNoResponseMethodRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::HandleRightsProtocolNoResponseMethodRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolNoResponseMethodRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::HandleRightsProtocolResponseMethodRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolResponseMethodRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::HandleRightsProtocolResponseMethodRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolResponseMethodRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::HandleRightsProtocolResponseMethodResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolResponseMethodResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::HandleRightsProtocolResponseMethodResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolResponseMethodResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::HandleRightsProtocolAnEventRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolAnEventRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::HandleRightsProtocolAnEventRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::HandleRightsProtocolAnEventRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ProtocolEnds",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ProtocolEnds, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ProtocolEnds as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ProtocolEnds, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsClientEndsRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsClientEndsRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsClientEndsRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsClientEndsRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsClientEndsResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsClientEndsResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsClientEndsResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsClientEndsResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsServerEndsRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsServerEndsRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsServerEndsRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsServerEndsRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsServerEndsResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsServerEndsResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsServerEndsResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsServerEndsResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsStructContainingEndsRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsStructContainingEndsRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsStructContainingEndsRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsStructContainingEndsRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::WithProtocolEndsStructContainingEndsResponse",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsStructContainingEndsResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::WithProtocolEndsStructContainingEndsResponse as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::WithProtocolEndsStructContainingEndsResponse, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::ManyParametersFifteenRequest",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ManyParametersFifteenRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::ManyParametersFifteenRequest as the body",
            .has_flexible_envelope = false,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::ManyParametersFifteenRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::MethodWithUnionUnionMethodRequest",
            .has_flexible_envelope = true,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::MethodWithUnionUnionMethodRequest, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::MethodWithUnionUnionMethodRequest as the body",
            .has_flexible_envelope = true,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::MethodWithUnionUnionMethodRequest, true>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "::test_protocols::wire::MethodWithUnionUnionMethodResponse",
            .has_flexible_envelope = true,
            .treat_bytes_as_transactional_message = false,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::MethodWithUnionUnionMethodResponse, false>,
        },
        ::fidl::fuzzing::DecoderEncoderForType{
            .fidl_type_name = "A transactional message using ::test_protocols::wire::MethodWithUnionUnionMethodResponse as the body",
            .has_flexible_envelope = true,
            .treat_bytes_as_transactional_message = true,
            .decoder_encoder = ::fidl::fuzzing::DecoderEncoderImpl<::test_protocols::wire::MethodWithUnionUnionMethodResponse, true>,
        },
};

}  // namespace fuzzing
