// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: opencv-onnx.proto
// Protobuf C++ Version: 6.32.1

#include "opencv-onnx.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace opencv_onnx {

inline constexpr TensorShapeProto_Dimension::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        denotation_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_{},
        _oneof_case_{} {}

template <typename>
PROTOBUF_CONSTEXPR TensorShapeProto_Dimension::TensorShapeProto_Dimension(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TensorShapeProto_Dimension_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TensorShapeProto_DimensionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TensorShapeProto_DimensionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TensorShapeProto_DimensionDefaultTypeInternal() {}
  union {
    TensorShapeProto_Dimension _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TensorShapeProto_DimensionDefaultTypeInternal _TensorShapeProto_Dimension_default_instance_;

inline constexpr TensorProto_Segment::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        begin_{::int64_t{0}},
        end_{::int64_t{0}} {}

template <typename>
PROTOBUF_CONSTEXPR TensorProto_Segment::TensorProto_Segment(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TensorProto_Segment_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TensorProto_SegmentDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TensorProto_SegmentDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TensorProto_SegmentDefaultTypeInternal() {}
  union {
    TensorProto_Segment _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TensorProto_SegmentDefaultTypeInternal _TensorProto_Segment_default_instance_;

inline constexpr StringStringEntryProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
PROTOBUF_CONSTEXPR StringStringEntryProto::StringStringEntryProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(StringStringEntryProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct StringStringEntryProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StringStringEntryProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~StringStringEntryProtoDefaultTypeInternal() {}
  union {
    StringStringEntryProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StringStringEntryProtoDefaultTypeInternal _StringStringEntryProto_default_instance_;

inline constexpr OperatorSetIdProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_{::int64_t{0}} {}

template <typename>
PROTOBUF_CONSTEXPR OperatorSetIdProto::OperatorSetIdProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(OperatorSetIdProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct OperatorSetIdProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OperatorSetIdProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OperatorSetIdProtoDefaultTypeInternal() {}
  union {
    OperatorSetIdProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OperatorSetIdProtoDefaultTypeInternal _OperatorSetIdProto_default_instance_;

inline constexpr TensorShapeProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : dim_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TensorShapeProto::TensorShapeProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TensorShapeProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TensorShapeProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TensorShapeProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TensorShapeProtoDefaultTypeInternal() {}
  union {
    TensorShapeProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TensorShapeProtoDefaultTypeInternal _TensorShapeProto_default_instance_;

inline constexpr TensorProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dims_{},
        float_data_{},
        int32_data_{},
        _int32_data_cached_byte_size_{0},
        string_data_{},
        int64_data_{},
        _int64_data_cached_byte_size_{0},
        double_data_{},
        uint64_data_{},
        _uint64_data_cached_byte_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        raw_data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        segment_{nullptr},
        data_type_{static_cast< ::opencv_onnx::TensorProto_DataType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR TensorProto::TensorProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TensorProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TensorProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TensorProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TensorProtoDefaultTypeInternal() {}
  union {
    TensorProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TensorProtoDefaultTypeInternal _TensorProto_default_instance_;

inline constexpr TypeProto_Tensor::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        shape_{nullptr},
        elem_type_{static_cast< ::opencv_onnx::TensorProto_DataType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR TypeProto_Tensor::TypeProto_Tensor(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TypeProto_Tensor_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TypeProto_TensorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeProto_TensorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeProto_TensorDefaultTypeInternal() {}
  union {
    TypeProto_Tensor _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeProto_TensorDefaultTypeInternal _TypeProto_Tensor_default_instance_;

inline constexpr TypeProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        denotation_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_{},
        _oneof_case_{} {}

template <typename>
PROTOBUF_CONSTEXPR TypeProto::TypeProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(TypeProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct TypeProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeProtoDefaultTypeInternal() {}
  union {
    TypeProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeProtoDefaultTypeInternal _TypeProto_default_instance_;

inline constexpr ValueInfoProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ValueInfoProto::ValueInfoProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(ValueInfoProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ValueInfoProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ValueInfoProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ValueInfoProtoDefaultTypeInternal() {}
  union {
    ValueInfoProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueInfoProtoDefaultTypeInternal _ValueInfoProto_default_instance_;

inline constexpr AttributeProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        floats_{},
        ints_{},
        strings_{},
        tensors_{},
        graphs_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        s_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ref_attr_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        t_{nullptr},
        g_{nullptr},
        i_{::int64_t{0}},
        f_{0},
        type_{static_cast< ::opencv_onnx::AttributeProto_AttributeType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR AttributeProto::AttributeProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(AttributeProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct AttributeProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AttributeProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AttributeProtoDefaultTypeInternal() {}
  union {
    AttributeProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AttributeProtoDefaultTypeInternal _AttributeProto_default_instance_;

inline constexpr GraphProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        node_{},
        initializer_{},
        input_{},
        output_{},
        value_info_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
PROTOBUF_CONSTEXPR GraphProto::GraphProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(GraphProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct GraphProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GraphProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GraphProtoDefaultTypeInternal() {}
  union {
    GraphProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GraphProtoDefaultTypeInternal _GraphProto_default_instance_;

inline constexpr NodeProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        input_{},
        output_{},
        attribute_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        op_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
PROTOBUF_CONSTEXPR NodeProto::NodeProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(NodeProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct NodeProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NodeProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NodeProtoDefaultTypeInternal() {}
  union {
    NodeProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NodeProtoDefaultTypeInternal _NodeProto_default_instance_;

inline constexpr ModelProto::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        opset_import_{},
        metadata_props_{},
        producer_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        producer_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        doc_string_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        graph_{nullptr},
        ir_version_{::int64_t{0}},
        model_version_{::int64_t{0}} {}

template <typename>
PROTOBUF_CONSTEXPR ModelProto::ModelProto(::_pbi::ConstantInitialized)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(ModelProto_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(::_pbi::ConstantInitialized()) {
}
struct ModelProtoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ModelProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ModelProtoDefaultTypeInternal() {}
  union {
    ModelProto _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ModelProtoDefaultTypeInternal _ModelProto_default_instance_;
}  // namespace opencv_onnx
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_opencv_2donnx_2eproto[3];
static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
    file_level_service_descriptors_opencv_2donnx_2eproto = nullptr;
const ::uint32_t
    TableStruct_opencv_2donnx_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_._has_bits_),
        17, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.ref_attr_name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.f_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.i_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.s_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.t_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.g_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.floats_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.ints_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.strings_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.tensors_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::AttributeProto, _impl_.graphs_),
        0,
        3,
        2,
        8,
        7,
        6,
        1,
        4,
        5,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ValueInfoProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ValueInfoProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ValueInfoProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ValueInfoProto, _impl_.doc_string_),
        0,
        2,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_._has_bits_),
        10, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.input_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.output_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.op_type_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.attribute_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::NodeProto, _impl_.doc_string_),
        ~0u,
        ~0u,
        0,
        1,
        3,
        ~0u,
        2,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_._has_bits_),
        12, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.ir_version_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.opset_import_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.producer_name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.producer_version_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.model_version_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.graph_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::ModelProto, _impl_.metadata_props_),
        5,
        ~0u,
        0,
        1,
        2,
        6,
        3,
        4,
        ~0u,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::StringStringEntryProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::StringStringEntryProto, _impl_.key_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::StringStringEntryProto, _impl_.value_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_._has_bits_),
        10, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.node_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.initializer_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.input_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.output_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::GraphProto, _impl_.value_info_),
        ~0u,
        0,
        ~0u,
        1,
        ~0u,
        ~0u,
        ~0u,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto_Segment, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto_Segment, _impl_.begin_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto_Segment, _impl_.end_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_._has_bits_),
        15, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.dims_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.data_type_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.segment_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.float_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.int32_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.string_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.int64_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.doc_string_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.raw_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.double_data_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorProto, _impl_.uint64_data_),
        ~0u,
        4,
        3,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        2,
        1,
        ~0u,
        ~0u,
        0x085, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_._oneof_case_[0]),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_.denotation_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_.value_),
        ~0u,
        ~0u,
        0,
        0x000, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto, _impl_.dim_),
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto_Tensor, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto_Tensor, _impl_.elem_type_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto_Tensor, _impl_.shape_),
        1,
        0,
        0x085, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_._oneof_case_[0]),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_.denotation_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_.value_),
        ~0u,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::OperatorSetIdProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::OperatorSetIdProto, _impl_.domain_),
        PROTOBUF_FIELD_OFFSET(::opencv_onnx::OperatorSetIdProto, _impl_.version_),
        0,
        1,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::opencv_onnx::AttributeProto)},
        {31, sizeof(::opencv_onnx::ValueInfoProto)},
        {40, sizeof(::opencv_onnx::NodeProto)},
        {57, sizeof(::opencv_onnx::ModelProto)},
        {78, sizeof(::opencv_onnx::StringStringEntryProto)},
        {85, sizeof(::opencv_onnx::GraphProto)},
        {102, sizeof(::opencv_onnx::TensorProto_Segment)},
        {109, sizeof(::opencv_onnx::TensorProto)},
        {136, sizeof(::opencv_onnx::TensorShapeProto_Dimension)},
        {147, sizeof(::opencv_onnx::TensorShapeProto)},
        {149, sizeof(::opencv_onnx::TypeProto_Tensor)},
        {156, sizeof(::opencv_onnx::TypeProto)},
        {165, sizeof(::opencv_onnx::OperatorSetIdProto)},
};
static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
    &::opencv_onnx::_AttributeProto_default_instance_._instance,
    &::opencv_onnx::_ValueInfoProto_default_instance_._instance,
    &::opencv_onnx::_NodeProto_default_instance_._instance,
    &::opencv_onnx::_ModelProto_default_instance_._instance,
    &::opencv_onnx::_StringStringEntryProto_default_instance_._instance,
    &::opencv_onnx::_GraphProto_default_instance_._instance,
    &::opencv_onnx::_TensorProto_Segment_default_instance_._instance,
    &::opencv_onnx::_TensorProto_default_instance_._instance,
    &::opencv_onnx::_TensorShapeProto_Dimension_default_instance_._instance,
    &::opencv_onnx::_TensorShapeProto_default_instance_._instance,
    &::opencv_onnx::_TypeProto_Tensor_default_instance_._instance,
    &::opencv_onnx::_TypeProto_default_instance_._instance,
    &::opencv_onnx::_OperatorSetIdProto_default_instance_._instance,
};
const char descriptor_table_protodef_opencv_2donnx_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n\021opencv-onnx.proto\022\013opencv_onnx\"\203\004\n\016Att"
    "ributeProto\022\014\n\004name\030\001 \001(\t\022\025\n\rref_attr_na"
    "me\030\025 \001(\t\022\022\n\ndoc_string\030\r \001(\t\0227\n\004type\030\024 \001"
    "(\0162).opencv_onnx.AttributeProto.Attribut"
    "eType\022\t\n\001f\030\002 \001(\002\022\t\n\001i\030\003 \001(\003\022\t\n\001s\030\004 \001(\014\022#"
    "\n\001t\030\005 \001(\0132\030.opencv_onnx.TensorProto\022\"\n\001g"
    "\030\006 \001(\0132\027.opencv_onnx.GraphProto\022\016\n\006float"
    "s\030\007 \003(\002\022\014\n\004ints\030\010 \003(\003\022\017\n\007strings\030\t \003(\014\022)"
    "\n\007tensors\030\n \003(\0132\030.opencv_onnx.TensorProt"
    "o\022\'\n\006graphs\030\013 \003(\0132\027.opencv_onnx.GraphPro"
    "to\"\221\001\n\rAttributeType\022\r\n\tUNDEFINED\020\000\022\t\n\005F"
    "LOAT\020\001\022\007\n\003INT\020\002\022\n\n\006STRING\020\003\022\n\n\006TENSOR\020\004\022"
    "\t\n\005GRAPH\020\005\022\n\n\006FLOATS\020\006\022\010\n\004INTS\020\007\022\013\n\007STRI"
    "NGS\020\010\022\013\n\007TENSORS\020\t\022\n\n\006GRAPHS\020\n\"X\n\016ValueI"
    "nfoProto\022\014\n\004name\030\001 \001(\t\022$\n\004type\030\002 \001(\0132\026.o"
    "pencv_onnx.TypeProto\022\022\n\ndoc_string\030\003 \001(\t"
    "\"\235\001\n\tNodeProto\022\r\n\005input\030\001 \003(\t\022\016\n\006output\030"
    "\002 \003(\t\022\014\n\004name\030\003 \001(\t\022\017\n\007op_type\030\004 \001(\t\022\016\n\006"
    "domain\030\007 \001(\t\022.\n\tattribute\030\005 \003(\0132\033.opencv"
    "_onnx.AttributeProto\022\022\n\ndoc_string\030\006 \001(\t"
    "\"\250\002\n\nModelProto\022\022\n\nir_version\030\001 \001(\003\0225\n\014o"
    "pset_import\030\010 \003(\0132\037.opencv_onnx.Operator"
    "SetIdProto\022\025\n\rproducer_name\030\002 \001(\t\022\030\n\020pro"
    "ducer_version\030\003 \001(\t\022\016\n\006domain\030\004 \001(\t\022\025\n\rm"
    "odel_version\030\005 \001(\003\022\022\n\ndoc_string\030\006 \001(\t\022&"
    "\n\005graph\030\007 \001(\0132\027.opencv_onnx.GraphProto\022;"
    "\n\016metadata_props\030\016 \003(\0132#.opencv_onnx.Str"
    "ingStringEntryProto\"4\n\026StringStringEntry"
    "Proto\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\215\002\n\nGr"
    "aphProto\022$\n\004node\030\001 \003(\0132\026.opencv_onnx.Nod"
    "eProto\022\014\n\004name\030\002 \001(\t\022-\n\013initializer\030\005 \003("
    "\0132\030.opencv_onnx.TensorProto\022\022\n\ndoc_strin"
    "g\030\n \001(\t\022*\n\005input\030\013 \003(\0132\033.opencv_onnx.Val"
    "ueInfoProto\022+\n\006output\030\014 \003(\0132\033.opencv_onn"
    "x.ValueInfoProto\022/\n\nvalue_info\030\r \003(\0132\033.o"
    "pencv_onnx.ValueInfoProto\"\275\004\n\013TensorProt"
    "o\022\014\n\004dims\030\001 \003(\003\0224\n\tdata_type\030\002 \001(\0162!.ope"
    "ncv_onnx.TensorProto.DataType\0221\n\007segment"
    "\030\003 \001(\0132 .opencv_onnx.TensorProto.Segment"
    "\022\026\n\nfloat_data\030\004 \003(\002B\002\020\001\022\026\n\nint32_data\030\005"
    " \003(\005B\002\020\001\022\023\n\013string_data\030\006 \003(\014\022\026\n\nint64_d"
    "ata\030\007 \003(\003B\002\020\001\022\014\n\004name\030\010 \001(\t\022\022\n\ndoc_strin"
    "g\030\014 \001(\t\022\020\n\010raw_data\030\t \001(\014\022\027\n\013double_data"
    "\030\n \003(\001B\002\020\001\022\027\n\013uint64_data\030\013 \003(\004B\002\020\001\032%\n\007S"
    "egment\022\r\n\005begin\030\001 \001(\003\022\013\n\003end\030\002 \001(\003\"\314\001\n\010D"
    "ataType\022\r\n\tUNDEFINED\020\000\022\t\n\005FLOAT\020\001\022\t\n\005UIN"
    "T8\020\002\022\010\n\004INT8\020\003\022\n\n\006UINT16\020\004\022\t\n\005INT16\020\005\022\t\n"
    "\005INT32\020\006\022\t\n\005INT64\020\007\022\n\n\006STRING\020\010\022\010\n\004BOOL\020"
    "\t\022\013\n\007FLOAT16\020\n\022\n\n\006DOUBLE\020\013\022\n\n\006UINT32\020\014\022\n"
    "\n\006UINT64\020\r\022\r\n\tCOMPLEX64\020\016\022\016\n\nCOMPLEX128\020"
    "\017\"\234\001\n\020TensorShapeProto\0224\n\003dim\030\001 \003(\0132\'.op"
    "encv_onnx.TensorShapeProto.Dimension\032R\n\t"
    "Dimension\022\023\n\tdim_value\030\001 \001(\003H\000\022\023\n\tdim_pa"
    "ram\030\002 \001(\tH\000\022\022\n\ndenotation\030\003 \001(\tB\007\n\005value"
    "\"\314\001\n\tTypeProto\0224\n\013tensor_type\030\001 \001(\0132\035.op"
    "encv_onnx.TypeProto.TensorH\000\022\022\n\ndenotati"
    "on\030\006 \001(\t\032l\n\006Tensor\0224\n\telem_type\030\001 \001(\0162!."
    "opencv_onnx.TensorProto.DataType\022,\n\005shap"
    "e\030\002 \001(\0132\035.opencv_onnx.TensorShapeProtoB\007"
    "\n\005value\"5\n\022OperatorSetIdProto\022\016\n\006domain\030"
    "\001 \001(\t\022\017\n\007version\030\002 \001(\003*c\n\007Version\022\022\n\016_ST"
    "ART_VERSION\020\000\022\031\n\025IR_VERSION_2017_10_10\020\001"
    "\022\031\n\025IR_VERSION_2017_10_30\020\002\022\016\n\nIR_VERSIO"
    "N\020\003"
};
static ::absl::once_flag descriptor_table_opencv_2donnx_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_opencv_2donnx_2eproto = {
    false,
    false,
    2523,
    descriptor_table_protodef_opencv_2donnx_2eproto,
    "opencv-onnx.proto",
    &descriptor_table_opencv_2donnx_2eproto_once,
    nullptr,
    0,
    13,
    schemas,
    file_default_instances,
    TableStruct_opencv_2donnx_2eproto::offsets,
    file_level_enum_descriptors_opencv_2donnx_2eproto,
    file_level_service_descriptors_opencv_2donnx_2eproto,
};
namespace opencv_onnx {
const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL AttributeProto_AttributeType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_opencv_2donnx_2eproto);
  return file_level_enum_descriptors_opencv_2donnx_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t AttributeProto_AttributeType_internal_data_[] = {
    720896u, 0u, };
const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL TensorProto_DataType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_opencv_2donnx_2eproto);
  return file_level_enum_descriptors_opencv_2donnx_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t TensorProto_DataType_internal_data_[] = {
    1048576u, 0u, };
const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Version_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_opencv_2donnx_2eproto);
  return file_level_enum_descriptors_opencv_2donnx_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t Version_internal_data_[] = {
    262144u, 0u, };
// ===================================================================

class AttributeProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<AttributeProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_._has_bits_);
};

AttributeProto::AttributeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, AttributeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.AttributeProto)
}
PROTOBUF_NDEBUG_INLINE AttributeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::AttributeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        floats_{visibility, arena, from.floats_},
        ints_{visibility, arena, from.ints_},
        strings_{visibility, arena, from.strings_},
        tensors_{visibility, arena, from.tensors_},
        graphs_{visibility, arena, from.graphs_},
        name_(arena, from.name_),
        s_(arena, from.s_),
        doc_string_(arena, from.doc_string_),
        ref_attr_name_(arena, from.ref_attr_name_) {}

AttributeProto::AttributeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AttributeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, AttributeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AttributeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.t_ = ((cached_has_bits & 0x00000010U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.t_)
                : nullptr;
  _impl_.g_ = ((cached_has_bits & 0x00000020U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.g_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, i_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, i_),
           offsetof(Impl_, type_) -
               offsetof(Impl_, i_) +
               sizeof(Impl_::type_));

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.AttributeProto)
}
PROTOBUF_NDEBUG_INLINE AttributeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        floats_{visibility, arena},
        ints_{visibility, arena},
        strings_{visibility, arena},
        tensors_{visibility, arena},
        graphs_{visibility, arena},
        name_(arena),
        s_(arena),
        doc_string_(arena),
        ref_attr_name_(arena) {}

inline void AttributeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, t_),
           0,
           offsetof(Impl_, type_) -
               offsetof(Impl_, t_) +
               sizeof(Impl_::type_));
}
AttributeProto::~AttributeProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.AttributeProto)
  SharedDtor(*this);
}
inline void AttributeProto::SharedDtor(MessageLite& self) {
  AttributeProto& this_ = static_cast<AttributeProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.s_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.ref_attr_name_.Destroy();
  delete this_._impl_.t_;
  delete this_._impl_.g_;
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL AttributeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AttributeProto(arena);
}
constexpr auto AttributeProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.floats_) +
          decltype(AttributeProto::_impl_.floats_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ints_) +
          decltype(AttributeProto::_impl_.ints_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.strings_) +
          decltype(AttributeProto::_impl_.strings_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tensors_) +
          decltype(AttributeProto::_impl_.tensors_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.graphs_) +
          decltype(AttributeProto::_impl_.graphs_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(AttributeProto), alignof(AttributeProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&AttributeProto::PlacementNew_,
                                 sizeof(AttributeProto),
                                 alignof(AttributeProto));
  }
}
constexpr auto AttributeProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_AttributeProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &AttributeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<AttributeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AttributeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<AttributeProto>(), &AttributeProto::ByteSizeLong,
              &AttributeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_._cached_size_),
          false,
      },
      &AttributeProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull AttributeProto_class_data_ =
        AttributeProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AttributeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&AttributeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(AttributeProto_class_data_.tc_table);
  return AttributeProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 14, 5, 70, 2>
AttributeProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_._has_bits_),
    0, // no _extensions_
    21, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4293388288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    14,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    AttributeProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::AttributeProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.name_)}},
    // optional float f = 2;
    {::_pbi::TcParser::FastF32S1,
     {21, 7, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.f_)}},
    // optional int64 i = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AttributeProto, _impl_.i_), 6>(),
     {24, 6, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.i_)}},
    // optional bytes s = 4;
    {::_pbi::TcParser::FastBS1,
     {34, 1, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.s_)}},
    // optional .opencv_onnx.TensorProto t = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 4, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_)}},
    // optional .opencv_onnx.GraphProto g = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 5, 1, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.g_)}},
    // repeated float floats = 7;
    {::_pbi::TcParser::FastF32R1,
     {61, 63, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.floats_)}},
    // repeated int64 ints = 8;
    {::_pbi::TcParser::FastV64R1,
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ints_)}},
    // repeated bytes strings = 9;
    {::_pbi::TcParser::FastBR1,
     {74, 63, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.strings_)}},
    // repeated .opencv_onnx.TensorProto tensors = 10;
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 2, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tensors_)}},
    // repeated .opencv_onnx.GraphProto graphs = 11;
    {::_pbi::TcParser::FastMtR1,
     {90, 63, 3, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.graphs_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional string doc_string = 13;
    {::_pbi::TcParser::FastSS1,
     {106, 2, 0, PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.doc_string_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional float f = 2;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.f_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
    // optional int64 i = 3;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.i_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    // optional bytes s = 4;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.s_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional .opencv_onnx.TensorProto t = 5;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .opencv_onnx.GraphProto g = 6;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.g_), _Internal::kHasBitsOffset + 5, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated float floats = 7;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.floats_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFloat)},
    // repeated int64 ints = 8;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ints_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
    // repeated bytes strings = 9;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.strings_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    // repeated .opencv_onnx.TensorProto tensors = 10;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.tensors_), -1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .opencv_onnx.GraphProto graphs = 11;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.graphs_), -1, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string doc_string = 13;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .opencv_onnx.AttributeProto.AttributeType type = 20;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_), _Internal::kHasBitsOffset + 8, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional string ref_attr_name = 21;
    {PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.ref_attr_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::GraphProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::GraphProto>()},
      {0, 10},
  }},
  {{
    "\32\4\0\0\0\0\0\0\0\0\0\0\12\0\15\0"
    "opencv_onnx.AttributeProto"
    "name"
    "doc_string"
    "ref_attr_name"
  }},
};
PROTOBUF_NOINLINE void AttributeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.AttributeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.floats_.Clear();
  _impl_.ints_.Clear();
  _impl_.strings_.Clear();
  _impl_.tensors_.Clear();
  _impl_.graphs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000003fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.s_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _impl_.ref_attr_name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000010U) != 0) {
      ABSL_DCHECK(_impl_.t_ != nullptr);
      _impl_.t_->Clear();
    }
    if ((cached_has_bits & 0x00000020U) != 0) {
      ABSL_DCHECK(_impl_.g_ != nullptr);
      _impl_.g_->Clear();
    }
  }
  if ((cached_has_bits & 0x000000c0U) != 0) {
    ::memset(&_impl_.i_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.f_) -
        reinterpret_cast<char*>(&_impl_.i_)) + sizeof(_impl_.f_));
  }
  _impl_.type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL AttributeProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const AttributeProto& this_ = static_cast<const AttributeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL AttributeProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const AttributeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.AttributeProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.AttributeProto.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional float f = 2;
  if ((cached_has_bits & 0x00000080U) != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        2, this_._internal_f(), target);
  }

  // optional int64 i = 3;
  if ((cached_has_bits & 0x00000040U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_i(), target);
  }

  // optional bytes s = 4;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_s();
    target = stream->WriteBytesMaybeAliased(4, _s, target);
  }

  // optional .opencv_onnx.TensorProto t = 5;
  if ((cached_has_bits & 0x00000010U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.t_, this_._impl_.t_->GetCachedSize(), target,
        stream);
  }

  // optional .opencv_onnx.GraphProto g = 6;
  if ((cached_has_bits & 0x00000020U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.g_, this_._impl_.g_->GetCachedSize(), target,
        stream);
  }

  // repeated float floats = 7;
  for (int i = 0, n = this_._internal_floats_size(); i < n; ++i) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        7, this_._internal_floats().Get(i), target);
  }

  // repeated int64 ints = 8;
  for (int i = 0, n = this_._internal_ints_size(); i < n; ++i) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        8, this_._internal_ints().Get(i), target);
  }

  // repeated bytes strings = 9;
  for (int i = 0, n = this_._internal_strings_size(); i < n; ++i) {
    const auto& s = this_._internal_strings().Get(i);
    target = stream->WriteBytes(9, s, target);
  }

  // repeated .opencv_onnx.TensorProto tensors = 10;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_tensors_size());
       i < n; i++) {
    const auto& repfield = this_._internal_tensors().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            10, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // repeated .opencv_onnx.GraphProto graphs = 11;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_graphs_size());
       i < n; i++) {
    const auto& repfield = this_._internal_graphs().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            11, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // optional string doc_string = 13;
  if ((cached_has_bits & 0x00000004U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.AttributeProto.doc_string");
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  // optional .opencv_onnx.AttributeProto.AttributeType type = 20;
  if ((cached_has_bits & 0x00000100U) != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        20, this_._internal_type(), target);
  }

  // optional string ref_attr_name = 21;
  if ((cached_has_bits & 0x00000008U) != 0) {
    const ::std::string& _s = this_._internal_ref_attr_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.AttributeProto.ref_attr_name");
    target = stream->WriteStringMaybeAliased(21, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.AttributeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AttributeProto::ByteSizeLong(const MessageLite& base) {
  const AttributeProto& this_ = static_cast<const AttributeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AttributeProto::ByteSizeLong() const {
  const AttributeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.AttributeProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated float floats = 7;
    {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_floats_size());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_floats_size());
      total_size += tag_size + data_size;
    }
    // repeated int64 ints = 8;
    {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_ints());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_ints_size());
      total_size += tag_size + data_size;
    }
    // repeated bytes strings = 9;
    {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_strings().size());
      for (int i = 0, n = this_._internal_strings().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
            this_._internal_strings().Get(i));
      }
    }
    // repeated .opencv_onnx.TensorProto tensors = 10;
    {
      total_size += 1UL * this_._internal_tensors_size();
      for (const auto& msg : this_._internal_tensors()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.GraphProto graphs = 11;
    {
      total_size += 1UL * this_._internal_graphs_size();
      for (const auto& msg : this_._internal_graphs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000080U & cached_has_bits) * 5;
  if ((cached_has_bits & 0x0000007fU) != 0) {
    // optional string name = 1;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional bytes s = 4;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_s());
    }
    // optional string doc_string = 13;
    if ((cached_has_bits & 0x00000004U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional string ref_attr_name = 21;
    if ((cached_has_bits & 0x00000008U) != 0) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ref_attr_name());
    }
    // optional .opencv_onnx.TensorProto t = 5;
    if ((cached_has_bits & 0x00000010U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.t_);
    }
    // optional .opencv_onnx.GraphProto g = 6;
    if ((cached_has_bits & 0x00000020U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.g_);
    }
    // optional int64 i = 3;
    if ((cached_has_bits & 0x00000040U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_i());
    }
  }
   {
    // optional .opencv_onnx.AttributeProto.AttributeType type = 20;
    if ((cached_has_bits & 0x00000100U) != 0) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void AttributeProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<AttributeProto*>(&to_msg);
  auto& from = static_cast<const AttributeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.AttributeProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_floats()->MergeFrom(from._internal_floats());
  _this->_internal_mutable_ints()->MergeFrom(from._internal_ints());
  _this->_internal_mutable_strings()->MergeFrom(from._internal_strings());
  _this->_internal_mutable_tensors()->MergeFrom(
      from._internal_tensors());
  _this->_internal_mutable_graphs()->MergeFrom(
      from._internal_graphs());
  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x000000ffU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_name(from._internal_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_s(from._internal_s());
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _this->_internal_set_ref_attr_name(from._internal_ref_attr_name());
    }
    if ((cached_has_bits & 0x00000010U) != 0) {
      ABSL_DCHECK(from._impl_.t_ != nullptr);
      if (_this->_impl_.t_ == nullptr) {
        _this->_impl_.t_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.t_);
      } else {
        _this->_impl_.t_->MergeFrom(*from._impl_.t_);
      }
    }
    if ((cached_has_bits & 0x00000020U) != 0) {
      ABSL_DCHECK(from._impl_.g_ != nullptr);
      if (_this->_impl_.g_ == nullptr) {
        _this->_impl_.g_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.g_);
      } else {
        _this->_impl_.g_->MergeFrom(*from._impl_.g_);
      }
    }
    if ((cached_has_bits & 0x00000040U) != 0) {
      _this->_impl_.i_ = from._impl_.i_;
    }
    if ((cached_has_bits & 0x00000080U) != 0) {
      _this->_impl_.f_ = from._impl_.f_;
    }
  }
  if ((cached_has_bits & 0x00000100U) != 0) {
    _this->_impl_.type_ = from._impl_.type_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void AttributeProto::CopyFrom(const AttributeProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.AttributeProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AttributeProto::InternalSwap(AttributeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.floats_.InternalSwap(&other->_impl_.floats_);
  _impl_.ints_.InternalSwap(&other->_impl_.ints_);
  _impl_.strings_.InternalSwap(&other->_impl_.strings_);
  _impl_.tensors_.InternalSwap(&other->_impl_.tensors_);
  _impl_.graphs_.InternalSwap(&other->_impl_.graphs_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.s_, &other->_impl_.s_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ref_attr_name_, &other->_impl_.ref_attr_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.type_)
      + sizeof(AttributeProto::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(AttributeProto, _impl_.t_)>(
          reinterpret_cast<char*>(&_impl_.t_),
          reinterpret_cast<char*>(&other->_impl_.t_));
}

::google::protobuf::Metadata AttributeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ValueInfoProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<ValueInfoProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_._has_bits_);
};

ValueInfoProto::ValueInfoProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ValueInfoProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.ValueInfoProto)
}
PROTOBUF_NDEBUG_INLINE ValueInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::ValueInfoProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        doc_string_(arena, from.doc_string_) {}

ValueInfoProto::ValueInfoProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ValueInfoProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ValueInfoProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ValueInfoProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_ = ((cached_has_bits & 0x00000004U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.ValueInfoProto)
}
PROTOBUF_NDEBUG_INLINE ValueInfoProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        name_(arena),
        doc_string_(arena) {}

inline void ValueInfoProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.type_ = {};
}
ValueInfoProto::~ValueInfoProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.ValueInfoProto)
  SharedDtor(*this);
}
inline void ValueInfoProto::SharedDtor(MessageLite& self) {
  ValueInfoProto& this_ = static_cast<ValueInfoProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.type_;
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL ValueInfoProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ValueInfoProto(arena);
}
constexpr auto ValueInfoProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ValueInfoProto),
                                            alignof(ValueInfoProto));
}
constexpr auto ValueInfoProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_ValueInfoProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &ValueInfoProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ValueInfoProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ValueInfoProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ValueInfoProto>(), &ValueInfoProto::ByteSizeLong,
              &ValueInfoProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_._cached_size_),
          false,
      },
      &ValueInfoProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ValueInfoProto_class_data_ =
        ValueInfoProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ValueInfoProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ValueInfoProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ValueInfoProto_class_data_.tc_table);
  return ValueInfoProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 49, 2>
ValueInfoProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    ValueInfoProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::ValueInfoProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional string name = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.name_)}},
    // optional .opencv_onnx.TypeProto type = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 2, 0, PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.type_)}},
    // optional string doc_string = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 1, 0, PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.doc_string_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string name = 1;
    {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .opencv_onnx.TypeProto type = 2;
    {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string doc_string = 3;
    {PROTOBUF_FIELD_OFFSET(ValueInfoProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TypeProto>()},
  }},
  {{
    "\32\4\0\12\0\0\0\0"
    "opencv_onnx.ValueInfoProto"
    "name"
    "doc_string"
  }},
};
PROTOBUF_NOINLINE void ValueInfoProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.ValueInfoProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000007U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      ABSL_DCHECK(_impl_.type_ != nullptr);
      _impl_.type_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ValueInfoProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ValueInfoProto& this_ = static_cast<const ValueInfoProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ValueInfoProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ValueInfoProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.ValueInfoProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ValueInfoProto.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional .opencv_onnx.TypeProto type = 2;
  if ((cached_has_bits & 0x00000004U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.type_, this_._impl_.type_->GetCachedSize(), target,
        stream);
  }

  // optional string doc_string = 3;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ValueInfoProto.doc_string");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.ValueInfoProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ValueInfoProto::ByteSizeLong(const MessageLite& base) {
  const ValueInfoProto& this_ = static_cast<const ValueInfoProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ValueInfoProto::ByteSizeLong() const {
  const ValueInfoProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.ValueInfoProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000007U) != 0) {
    // optional string name = 1;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string doc_string = 3;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional .opencv_onnx.TypeProto type = 2;
    if ((cached_has_bits & 0x00000004U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ValueInfoProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ValueInfoProto*>(&to_msg);
  auto& from = static_cast<const ValueInfoProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.ValueInfoProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000007U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_name(from._internal_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      ABSL_DCHECK(from._impl_.type_ != nullptr);
      if (_this->_impl_.type_ == nullptr) {
        _this->_impl_.type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_);
      } else {
        _this->_impl_.type_->MergeFrom(*from._impl_.type_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ValueInfoProto::CopyFrom(const ValueInfoProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.ValueInfoProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ValueInfoProto::InternalSwap(ValueInfoProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  swap(_impl_.type_, other->_impl_.type_);
}

::google::protobuf::Metadata ValueInfoProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class NodeProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<NodeProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(NodeProto, _impl_._has_bits_);
};

NodeProto::NodeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.NodeProto)
}
PROTOBUF_NDEBUG_INLINE NodeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::NodeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        input_{visibility, arena, from.input_},
        output_{visibility, arena, from.output_},
        attribute_{visibility, arena, from.attribute_},
        name_(arena, from.name_),
        op_type_(arena, from.op_type_),
        doc_string_(arena, from.doc_string_),
        domain_(arena, from.domain_) {}

NodeProto::NodeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const NodeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, NodeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  NodeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.NodeProto)
}
PROTOBUF_NDEBUG_INLINE NodeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        input_{visibility, arena},
        output_{visibility, arena},
        attribute_{visibility, arena},
        name_(arena),
        op_type_(arena),
        doc_string_(arena),
        domain_(arena) {}

inline void NodeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
NodeProto::~NodeProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.NodeProto)
  SharedDtor(*this);
}
inline void NodeProto::SharedDtor(MessageLite& self) {
  NodeProto& this_ = static_cast<NodeProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.op_type_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.domain_.Destroy();
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL NodeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NodeProto(arena);
}
constexpr auto NodeProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.input_) +
          decltype(NodeProto::_impl_.input_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.output_) +
          decltype(NodeProto::_impl_.output_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.attribute_) +
          decltype(NodeProto::_impl_.attribute_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(NodeProto), alignof(NodeProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&NodeProto::PlacementNew_,
                                 sizeof(NodeProto),
                                 alignof(NodeProto));
  }
}
constexpr auto NodeProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_NodeProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &NodeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<NodeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NodeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<NodeProto>(), &NodeProto::ByteSizeLong,
              &NodeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NodeProto, _impl_._cached_size_),
          false,
      },
      &NodeProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull NodeProto_class_data_ =
        NodeProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NodeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&NodeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(NodeProto_class_data_.tc_table);
  return NodeProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 68, 2>
NodeProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NodeProto, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    NodeProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::NodeProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated string input = 1;
    {::_pbi::TcParser::FastSR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.input_)}},
    // repeated string output = 2;
    {::_pbi::TcParser::FastSR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.output_)}},
    // optional string name = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.name_)}},
    // optional string op_type = 4;
    {::_pbi::TcParser::FastSS1,
     {34, 1, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.op_type_)}},
    // repeated .opencv_onnx.AttributeProto attribute = 5;
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.attribute_)}},
    // optional string doc_string = 6;
    {::_pbi::TcParser::FastSS1,
     {50, 2, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.doc_string_)}},
    // optional string domain = 7;
    {::_pbi::TcParser::FastSS1,
     {58, 3, 0, PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.domain_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated string input = 1;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.input_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
    // repeated string output = 2;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.output_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kRawString | ::_fl::kRepSString)},
    // optional string name = 3;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string op_type = 4;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.op_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .opencv_onnx.AttributeProto attribute = 5;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.attribute_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string doc_string = 6;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string domain = 7;
    {PROTOBUF_FIELD_OFFSET(NodeProto, _impl_.domain_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::AttributeProto>()},
  }},
  {{
    "\25\5\6\4\7\0\12\6"
    "opencv_onnx.NodeProto"
    "input"
    "output"
    "name"
    "op_type"
    "doc_string"
    "domain"
  }},
};
PROTOBUF_NOINLINE void NodeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.NodeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.input_.Clear();
  _impl_.output_.Clear();
  _impl_.attribute_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000000fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.op_type_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL NodeProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const NodeProto& this_ = static_cast<const NodeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL NodeProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const NodeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.NodeProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated string input = 1;
  for (int i = 0, n = this_._internal_input_size(); i < n; ++i) {
    const auto& s = this_._internal_input().Get(i);
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.input");
    target = stream->WriteString(1, s, target);
  }

  // repeated string output = 2;
  for (int i = 0, n = this_._internal_output_size(); i < n; ++i) {
    const auto& s = this_._internal_output().Get(i);
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.output");
    target = stream->WriteString(2, s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 3;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional string op_type = 4;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_op_type();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.op_type");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated .opencv_onnx.AttributeProto attribute = 5;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_attribute_size());
       i < n; i++) {
    const auto& repfield = this_._internal_attribute().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            5, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // optional string doc_string = 6;
  if ((cached_has_bits & 0x00000004U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.doc_string");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional string domain = 7;
  if ((cached_has_bits & 0x00000008U) != 0) {
    const ::std::string& _s = this_._internal_domain();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.NodeProto.domain");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.NodeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t NodeProto::ByteSizeLong(const MessageLite& base) {
  const NodeProto& this_ = static_cast<const NodeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t NodeProto::ByteSizeLong() const {
  const NodeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.NodeProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated string input = 1;
    {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_input().size());
      for (int i = 0, n = this_._internal_input().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_input().Get(i));
      }
    }
    // repeated string output = 2;
    {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_output().size());
      for (int i = 0, n = this_._internal_output().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_output().Get(i));
      }
    }
    // repeated .opencv_onnx.AttributeProto attribute = 5;
    {
      total_size += 1UL * this_._internal_attribute_size();
      for (const auto& msg : this_._internal_attribute()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000000fU) != 0) {
    // optional string name = 3;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string op_type = 4;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_op_type());
    }
    // optional string doc_string = 6;
    if ((cached_has_bits & 0x00000004U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional string domain = 7;
    if ((cached_has_bits & 0x00000008U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void NodeProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<NodeProto*>(&to_msg);
  auto& from = static_cast<const NodeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.NodeProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_input()->MergeFrom(from._internal_input());
  _this->_internal_mutable_output()->MergeFrom(from._internal_output());
  _this->_internal_mutable_attribute()->MergeFrom(
      from._internal_attribute());
  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000000fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_name(from._internal_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_op_type(from._internal_op_type());
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _this->_internal_set_domain(from._internal_domain());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void NodeProto::CopyFrom(const NodeProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.NodeProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void NodeProto::InternalSwap(NodeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.input_.InternalSwap(&other->_impl_.input_);
  _impl_.output_.InternalSwap(&other->_impl_.output_);
  _impl_.attribute_.InternalSwap(&other->_impl_.attribute_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.op_type_, &other->_impl_.op_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
}

::google::protobuf::Metadata NodeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class ModelProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<ModelProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ModelProto, _impl_._has_bits_);
};

ModelProto::ModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ModelProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.ModelProto)
}
PROTOBUF_NDEBUG_INLINE ModelProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::ModelProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        opset_import_{visibility, arena, from.opset_import_},
        metadata_props_{visibility, arena, from.metadata_props_},
        producer_name_(arena, from.producer_name_),
        producer_version_(arena, from.producer_version_),
        domain_(arena, from.domain_),
        doc_string_(arena, from.doc_string_) {}

ModelProto::ModelProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ModelProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ModelProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ModelProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.graph_ = ((cached_has_bits & 0x00000010U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.graph_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, ir_version_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, ir_version_),
           offsetof(Impl_, model_version_) -
               offsetof(Impl_, ir_version_) +
               sizeof(Impl_::model_version_));

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.ModelProto)
}
PROTOBUF_NDEBUG_INLINE ModelProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        opset_import_{visibility, arena},
        metadata_props_{visibility, arena},
        producer_name_(arena),
        producer_version_(arena),
        domain_(arena),
        doc_string_(arena) {}

inline void ModelProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, graph_),
           0,
           offsetof(Impl_, model_version_) -
               offsetof(Impl_, graph_) +
               sizeof(Impl_::model_version_));
}
ModelProto::~ModelProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.ModelProto)
  SharedDtor(*this);
}
inline void ModelProto::SharedDtor(MessageLite& self) {
  ModelProto& this_ = static_cast<ModelProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.producer_name_.Destroy();
  this_._impl_.producer_version_.Destroy();
  this_._impl_.domain_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.graph_;
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL ModelProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ModelProto(arena);
}
constexpr auto ModelProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.opset_import_) +
          decltype(ModelProto::_impl_.opset_import_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.metadata_props_) +
          decltype(ModelProto::_impl_.metadata_props_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(ModelProto), alignof(ModelProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&ModelProto::PlacementNew_,
                                 sizeof(ModelProto),
                                 alignof(ModelProto));
  }
}
constexpr auto ModelProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_ModelProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &ModelProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ModelProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ModelProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ModelProto>(), &ModelProto::ByteSizeLong,
              &ModelProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ModelProto, _impl_._cached_size_),
          false,
      },
      &ModelProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ModelProto_class_data_ =
        ModelProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ModelProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ModelProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ModelProto_class_data_.tc_table);
  return ModelProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 9, 3, 84, 2>
ModelProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ModelProto, _impl_._has_bits_),
    0, // no _extensions_
    14, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294958848,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    ModelProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::ModelProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional int64 ir_version = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ModelProto, _impl_.ir_version_), 5>(),
     {8, 5, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.ir_version_)}},
    // optional string producer_name = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_name_)}},
    // optional string producer_version = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 1, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_version_)}},
    // optional string domain = 4;
    {::_pbi::TcParser::FastSS1,
     {34, 2, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.domain_)}},
    // optional int64 model_version = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ModelProto, _impl_.model_version_), 6>(),
     {40, 6, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_)}},
    // optional string doc_string = 6;
    {::_pbi::TcParser::FastSS1,
     {50, 3, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.doc_string_)}},
    // optional .opencv_onnx.GraphProto graph = 7;
    {::_pbi::TcParser::FastMtS1,
     {58, 4, 0, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_)}},
    // repeated .opencv_onnx.OperatorSetIdProto opset_import = 8;
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 1, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.opset_import_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .opencv_onnx.StringStringEntryProto metadata_props = 14;
    {::_pbi::TcParser::FastMtR1,
     {114, 63, 2, PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.metadata_props_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int64 ir_version = 1;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.ir_version_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    // optional string producer_name = 2;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string producer_version = 3;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.producer_version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string domain = 4;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.domain_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional int64 model_version = 5;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    // optional string doc_string = 6;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional .opencv_onnx.GraphProto graph = 7;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .opencv_onnx.OperatorSetIdProto opset_import = 8;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.opset_import_), -1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .opencv_onnx.StringStringEntryProto metadata_props = 14;
    {PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.metadata_props_), -1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::GraphProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::OperatorSetIdProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::StringStringEntryProto>()},
  }},
  {{
    "\26\0\15\20\6\0\12\0\0\0\0\0\0\0\0\0"
    "opencv_onnx.ModelProto"
    "producer_name"
    "producer_version"
    "domain"
    "doc_string"
  }},
};
PROTOBUF_NOINLINE void ModelProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.ModelProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opset_import_.Clear();
  _impl_.metadata_props_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000001fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.producer_name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.producer_version_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000010U) != 0) {
      ABSL_DCHECK(_impl_.graph_ != nullptr);
      _impl_.graph_->Clear();
    }
  }
  if ((cached_has_bits & 0x00000060U) != 0) {
    ::memset(&_impl_.ir_version_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.model_version_) -
        reinterpret_cast<char*>(&_impl_.ir_version_)) + sizeof(_impl_.model_version_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ModelProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ModelProto& this_ = static_cast<const ModelProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ModelProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ModelProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.ModelProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 ir_version = 1;
  if ((cached_has_bits & 0x00000020U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_ir_version(), target);
  }

  // optional string producer_name = 2;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_producer_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ModelProto.producer_name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional string producer_version = 3;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_producer_version();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ModelProto.producer_version");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional string domain = 4;
  if ((cached_has_bits & 0x00000004U) != 0) {
    const ::std::string& _s = this_._internal_domain();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ModelProto.domain");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // optional int64 model_version = 5;
  if ((cached_has_bits & 0x00000040U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_model_version(), target);
  }

  // optional string doc_string = 6;
  if ((cached_has_bits & 0x00000008U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.ModelProto.doc_string");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional .opencv_onnx.GraphProto graph = 7;
  if ((cached_has_bits & 0x00000010U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.graph_, this_._impl_.graph_->GetCachedSize(), target,
        stream);
  }

  // repeated .opencv_onnx.OperatorSetIdProto opset_import = 8;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_opset_import_size());
       i < n; i++) {
    const auto& repfield = this_._internal_opset_import().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            8, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // repeated .opencv_onnx.StringStringEntryProto metadata_props = 14;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_metadata_props_size());
       i < n; i++) {
    const auto& repfield = this_._internal_metadata_props().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            14, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.ModelProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ModelProto::ByteSizeLong(const MessageLite& base) {
  const ModelProto& this_ = static_cast<const ModelProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ModelProto::ByteSizeLong() const {
  const ModelProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.ModelProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .opencv_onnx.OperatorSetIdProto opset_import = 8;
    {
      total_size += 1UL * this_._internal_opset_import_size();
      for (const auto& msg : this_._internal_opset_import()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.StringStringEntryProto metadata_props = 14;
    {
      total_size += 1UL * this_._internal_metadata_props_size();
      for (const auto& msg : this_._internal_metadata_props()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000007fU) != 0) {
    // optional string producer_name = 2;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_producer_name());
    }
    // optional string producer_version = 3;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_producer_version());
    }
    // optional string domain = 4;
    if ((cached_has_bits & 0x00000004U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional string doc_string = 6;
    if ((cached_has_bits & 0x00000008U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional .opencv_onnx.GraphProto graph = 7;
    if ((cached_has_bits & 0x00000010U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.graph_);
    }
    // optional int64 ir_version = 1;
    if ((cached_has_bits & 0x00000020U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_ir_version());
    }
    // optional int64 model_version = 5;
    if ((cached_has_bits & 0x00000040U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_model_version());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ModelProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ModelProto*>(&to_msg);
  auto& from = static_cast<const ModelProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.ModelProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_opset_import()->MergeFrom(
      from._internal_opset_import());
  _this->_internal_mutable_metadata_props()->MergeFrom(
      from._internal_metadata_props());
  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000007fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_producer_name(from._internal_producer_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_producer_version(from._internal_producer_version());
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if ((cached_has_bits & 0x00000010U) != 0) {
      ABSL_DCHECK(from._impl_.graph_ != nullptr);
      if (_this->_impl_.graph_ == nullptr) {
        _this->_impl_.graph_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.graph_);
      } else {
        _this->_impl_.graph_->MergeFrom(*from._impl_.graph_);
      }
    }
    if ((cached_has_bits & 0x00000020U) != 0) {
      _this->_impl_.ir_version_ = from._impl_.ir_version_;
    }
    if ((cached_has_bits & 0x00000040U) != 0) {
      _this->_impl_.model_version_ = from._impl_.model_version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ModelProto::CopyFrom(const ModelProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.ModelProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ModelProto::InternalSwap(ModelProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.opset_import_.InternalSwap(&other->_impl_.opset_import_);
  _impl_.metadata_props_.InternalSwap(&other->_impl_.metadata_props_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.producer_name_, &other->_impl_.producer_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.producer_version_, &other->_impl_.producer_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.model_version_)
      + sizeof(ModelProto::_impl_.model_version_)
      - PROTOBUF_FIELD_OFFSET(ModelProto, _impl_.graph_)>(
          reinterpret_cast<char*>(&_impl_.graph_),
          reinterpret_cast<char*>(&other->_impl_.graph_));
}

::google::protobuf::Metadata ModelProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class StringStringEntryProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<StringStringEntryProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_._has_bits_);
};

StringStringEntryProto::StringStringEntryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, StringStringEntryProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.StringStringEntryProto)
}
PROTOBUF_NDEBUG_INLINE StringStringEntryProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::StringStringEntryProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        key_(arena, from.key_),
        value_(arena, from.value_) {}

StringStringEntryProto::StringStringEntryProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const StringStringEntryProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, StringStringEntryProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  StringStringEntryProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.StringStringEntryProto)
}
PROTOBUF_NDEBUG_INLINE StringStringEntryProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        key_(arena),
        value_(arena) {}

inline void StringStringEntryProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
StringStringEntryProto::~StringStringEntryProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.StringStringEntryProto)
  SharedDtor(*this);
}
inline void StringStringEntryProto::SharedDtor(MessageLite& self) {
  StringStringEntryProto& this_ = static_cast<StringStringEntryProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.key_.Destroy();
  this_._impl_.value_.Destroy();
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL StringStringEntryProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) StringStringEntryProto(arena);
}
constexpr auto StringStringEntryProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(StringStringEntryProto),
                                            alignof(StringStringEntryProto));
}
constexpr auto StringStringEntryProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_StringStringEntryProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &StringStringEntryProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<StringStringEntryProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &StringStringEntryProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<StringStringEntryProto>(), &StringStringEntryProto::ByteSizeLong,
              &StringStringEntryProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_._cached_size_),
          false,
      },
      &StringStringEntryProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull StringStringEntryProto_class_data_ =
        StringStringEntryProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
StringStringEntryProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&StringStringEntryProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(StringStringEntryProto_class_data_.tc_table);
  return StringStringEntryProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 51, 2>
StringStringEntryProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    StringStringEntryProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::StringStringEntryProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string value = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 1, 0, PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.value_)}},
    // optional string key = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string key = 1;
    {PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.key_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string value = 2;
    {PROTOBUF_FIELD_OFFSET(StringStringEntryProto, _impl_.value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\42\3\5\0\0\0\0\0"
    "opencv_onnx.StringStringEntryProto"
    "key"
    "value"
  }},
};
PROTOBUF_NOINLINE void StringStringEntryProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.StringStringEntryProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.key_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.value_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL StringStringEntryProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const StringStringEntryProto& this_ = static_cast<const StringStringEntryProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL StringStringEntryProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const StringStringEntryProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.StringStringEntryProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string key = 1;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_key();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.StringStringEntryProto.key");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string value = 2;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_value();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.StringStringEntryProto.value");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.StringStringEntryProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t StringStringEntryProto::ByteSizeLong(const MessageLite& base) {
  const StringStringEntryProto& this_ = static_cast<const StringStringEntryProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t StringStringEntryProto::ByteSizeLong() const {
  const StringStringEntryProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.StringStringEntryProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    // optional string key = 1;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_key());
    }
    // optional string value = 2;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void StringStringEntryProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<StringStringEntryProto*>(&to_msg);
  auto& from = static_cast<const StringStringEntryProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.StringStringEntryProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_key(from._internal_key());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_value(from._internal_value());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void StringStringEntryProto::CopyFrom(const StringStringEntryProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.StringStringEntryProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void StringStringEntryProto::InternalSwap(StringStringEntryProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.key_, &other->_impl_.key_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.value_, &other->_impl_.value_, arena);
}

::google::protobuf::Metadata StringStringEntryProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class GraphProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<GraphProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GraphProto, _impl_._has_bits_);
};

GraphProto::GraphProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, GraphProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.GraphProto)
}
PROTOBUF_NDEBUG_INLINE GraphProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::GraphProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        node_{visibility, arena, from.node_},
        initializer_{visibility, arena, from.initializer_},
        input_{visibility, arena, from.input_},
        output_{visibility, arena, from.output_},
        value_info_{visibility, arena, from.value_info_},
        name_(arena, from.name_),
        doc_string_(arena, from.doc_string_) {}

GraphProto::GraphProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GraphProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, GraphProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GraphProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.GraphProto)
}
PROTOBUF_NDEBUG_INLINE GraphProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        node_{visibility, arena},
        initializer_{visibility, arena},
        input_{visibility, arena},
        output_{visibility, arena},
        value_info_{visibility, arena},
        name_(arena),
        doc_string_(arena) {}

inline void GraphProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GraphProto::~GraphProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.GraphProto)
  SharedDtor(*this);
}
inline void GraphProto::SharedDtor(MessageLite& self) {
  GraphProto& this_ = static_cast<GraphProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.doc_string_.Destroy();
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL GraphProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GraphProto(arena);
}
constexpr auto GraphProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.node_) +
          decltype(GraphProto::_impl_.node_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.initializer_) +
          decltype(GraphProto::_impl_.initializer_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.input_) +
          decltype(GraphProto::_impl_.input_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.output_) +
          decltype(GraphProto::_impl_.output_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.value_info_) +
          decltype(GraphProto::_impl_.value_info_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(GraphProto), alignof(GraphProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&GraphProto::PlacementNew_,
                                 sizeof(GraphProto),
                                 alignof(GraphProto));
  }
}
constexpr auto GraphProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_GraphProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &GraphProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<GraphProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GraphProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<GraphProto>(), &GraphProto::ByteSizeLong,
              &GraphProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GraphProto, _impl_._cached_size_),
          false,
      },
      &GraphProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull GraphProto_class_data_ =
        GraphProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GraphProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&GraphProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(GraphProto_class_data_.tc_table);
  return GraphProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 5, 45, 2>
GraphProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GraphProto, _impl_._has_bits_),
    0, // no _extensions_
    13, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294959596,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    GraphProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::GraphProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .opencv_onnx.NodeProto node = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.node_)}},
    // optional string name = 2;
    {::_pbi::TcParser::FastSS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.name_)}},
    // repeated .opencv_onnx.ValueInfoProto input = 11;
    {::_pbi::TcParser::FastMtR1,
     {90, 63, 2, PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.input_)}},
    // repeated .opencv_onnx.ValueInfoProto output = 12;
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 3, PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.output_)}},
    // repeated .opencv_onnx.TensorProto initializer = 5;
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.initializer_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .opencv_onnx.NodeProto node = 1;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.node_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string name = 2;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .opencv_onnx.TensorProto initializer = 5;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.initializer_), -1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string doc_string = 10;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // repeated .opencv_onnx.ValueInfoProto input = 11;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.input_), -1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .opencv_onnx.ValueInfoProto output = 12;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.output_), -1, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .opencv_onnx.ValueInfoProto value_info = 13;
    {PROTOBUF_FIELD_OFFSET(GraphProto, _impl_.value_info_), -1, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::NodeProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::ValueInfoProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::ValueInfoProto>()},
      {::_pbi::TcParser::GetTable<::opencv_onnx::ValueInfoProto>()},
  }},
  {{
    "\26\0\4\0\12\0\0\0"
    "opencv_onnx.GraphProto"
    "name"
    "doc_string"
  }},
};
PROTOBUF_NOINLINE void GraphProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.GraphProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.node_.Clear();
  _impl_.initializer_.Clear();
  _impl_.input_.Clear();
  _impl_.output_.Clear();
  _impl_.value_info_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL GraphProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const GraphProto& this_ = static_cast<const GraphProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL GraphProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const GraphProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.GraphProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .opencv_onnx.NodeProto node = 1;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_node_size());
       i < n; i++) {
    const auto& repfield = this_._internal_node().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            1, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 2;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.GraphProto.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .opencv_onnx.TensorProto initializer = 5;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_initializer_size());
       i < n; i++) {
    const auto& repfield = this_._internal_initializer().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            5, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // optional string doc_string = 10;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.GraphProto.doc_string");
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // repeated .opencv_onnx.ValueInfoProto input = 11;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_input_size());
       i < n; i++) {
    const auto& repfield = this_._internal_input().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            11, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // repeated .opencv_onnx.ValueInfoProto output = 12;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_output_size());
       i < n; i++) {
    const auto& repfield = this_._internal_output().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            12, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  // repeated .opencv_onnx.ValueInfoProto value_info = 13;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_value_info_size());
       i < n; i++) {
    const auto& repfield = this_._internal_value_info().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            13, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.GraphProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GraphProto::ByteSizeLong(const MessageLite& base) {
  const GraphProto& this_ = static_cast<const GraphProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GraphProto::ByteSizeLong() const {
  const GraphProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.GraphProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .opencv_onnx.NodeProto node = 1;
    {
      total_size += 1UL * this_._internal_node_size();
      for (const auto& msg : this_._internal_node()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.TensorProto initializer = 5;
    {
      total_size += 1UL * this_._internal_initializer_size();
      for (const auto& msg : this_._internal_initializer()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.ValueInfoProto input = 11;
    {
      total_size += 1UL * this_._internal_input_size();
      for (const auto& msg : this_._internal_input()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.ValueInfoProto output = 12;
    {
      total_size += 1UL * this_._internal_output_size();
      for (const auto& msg : this_._internal_output()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opencv_onnx.ValueInfoProto value_info = 13;
    {
      total_size += 1UL * this_._internal_value_info_size();
      for (const auto& msg : this_._internal_value_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    // optional string name = 2;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string doc_string = 10;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void GraphProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GraphProto*>(&to_msg);
  auto& from = static_cast<const GraphProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.GraphProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_node()->MergeFrom(
      from._internal_node());
  _this->_internal_mutable_initializer()->MergeFrom(
      from._internal_initializer());
  _this->_internal_mutable_input()->MergeFrom(
      from._internal_input());
  _this->_internal_mutable_output()->MergeFrom(
      from._internal_output());
  _this->_internal_mutable_value_info()->MergeFrom(
      from._internal_value_info());
  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_name(from._internal_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GraphProto::CopyFrom(const GraphProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.GraphProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GraphProto::InternalSwap(GraphProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.node_.InternalSwap(&other->_impl_.node_);
  _impl_.initializer_.InternalSwap(&other->_impl_.initializer_);
  _impl_.input_.InternalSwap(&other->_impl_.input_);
  _impl_.output_.InternalSwap(&other->_impl_.output_);
  _impl_.value_info_.InternalSwap(&other->_impl_.value_info_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
}

::google::protobuf::Metadata GraphProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TensorProto_Segment::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<TensorProto_Segment>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_._has_bits_);
};

TensorProto_Segment::TensorProto_Segment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_Segment_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TensorProto.Segment)
}
TensorProto_Segment::TensorProto_Segment(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TensorProto_Segment& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_Segment_class_data_.base()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE TensorProto_Segment::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void TensorProto_Segment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, begin_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::end_));
}
TensorProto_Segment::~TensorProto_Segment() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TensorProto.Segment)
  SharedDtor(*this);
}
inline void TensorProto_Segment::SharedDtor(MessageLite& self) {
  TensorProto_Segment& this_ = static_cast<TensorProto_Segment&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL TensorProto_Segment::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorProto_Segment(arena);
}
constexpr auto TensorProto_Segment::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TensorProto_Segment),
                                            alignof(TensorProto_Segment));
}
constexpr auto TensorProto_Segment::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TensorProto_Segment_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TensorProto_Segment::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorProto_Segment>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorProto_Segment::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorProto_Segment>(), &TensorProto_Segment::ByteSizeLong,
              &TensorProto_Segment::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_._cached_size_),
          false,
      },
      &TensorProto_Segment::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorProto_Segment_class_data_ =
        TensorProto_Segment::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto_Segment::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_Segment_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorProto_Segment_class_data_.tc_table);
  return TensorProto_Segment_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
TensorProto_Segment::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    TensorProto_Segment_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto_Segment>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional int64 end = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(TensorProto_Segment, _impl_.end_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.end_)}},
    // optional int64 begin = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(TensorProto_Segment, _impl_.begin_), 0>(),
     {8, 0, 0, PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.begin_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional int64 begin = 1;
    {PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.begin_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    // optional int64 end = 2;
    {PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.end_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void TensorProto_Segment::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TensorProto.Segment)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    ::memset(&_impl_.begin_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_) -
        reinterpret_cast<char*>(&_impl_.begin_)) + sizeof(_impl_.end_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TensorProto_Segment::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TensorProto_Segment& this_ = static_cast<const TensorProto_Segment&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TensorProto_Segment::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TensorProto_Segment& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TensorProto.Segment)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 begin = 1;
  if ((cached_has_bits & 0x00000001U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_begin(), target);
  }

  // optional int64 end = 2;
  if ((cached_has_bits & 0x00000002U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_end(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TensorProto.Segment)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorProto_Segment::ByteSizeLong(const MessageLite& base) {
  const TensorProto_Segment& this_ = static_cast<const TensorProto_Segment&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorProto_Segment::ByteSizeLong() const {
  const TensorProto_Segment& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TensorProto.Segment)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    // optional int64 begin = 1;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_begin());
    }
    // optional int64 end = 2;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_end());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorProto_Segment::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TensorProto_Segment*>(&to_msg);
  auto& from = static_cast<const TensorProto_Segment&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TensorProto.Segment)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_impl_.begin_ = from._impl_.begin_;
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TensorProto_Segment::CopyFrom(const TensorProto_Segment& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TensorProto.Segment)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TensorProto_Segment::InternalSwap(TensorProto_Segment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.end_)
      + sizeof(TensorProto_Segment::_impl_.end_)
      - PROTOBUF_FIELD_OFFSET(TensorProto_Segment, _impl_.begin_)>(
          reinterpret_cast<char*>(&_impl_.begin_),
          reinterpret_cast<char*>(&other->_impl_.begin_));
}

::google::protobuf::Metadata TensorProto_Segment::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TensorProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<TensorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TensorProto, _impl_._has_bits_);
};

TensorProto::TensorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TensorProto)
}
PROTOBUF_NDEBUG_INLINE TensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::TensorProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        dims_{visibility, arena, from.dims_},
        float_data_{visibility, arena, from.float_data_},
        int32_data_{visibility, arena, from.int32_data_},
        _int32_data_cached_byte_size_{0},
        string_data_{visibility, arena, from.string_data_},
        int64_data_{visibility, arena, from.int64_data_},
        _int64_data_cached_byte_size_{0},
        double_data_{visibility, arena, from.double_data_},
        uint64_data_{visibility, arena, from.uint64_data_},
        _uint64_data_cached_byte_size_{0},
        name_(arena, from.name_),
        raw_data_(arena, from.raw_data_),
        doc_string_(arena, from.doc_string_) {}

TensorProto::TensorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TensorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.segment_ = ((cached_has_bits & 0x00000008U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.segment_)
                : nullptr;
  _impl_.data_type_ = from._impl_.data_type_;

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.TensorProto)
}
PROTOBUF_NDEBUG_INLINE TensorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        dims_{visibility, arena},
        float_data_{visibility, arena},
        int32_data_{visibility, arena},
        _int32_data_cached_byte_size_{0},
        string_data_{visibility, arena},
        int64_data_{visibility, arena},
        _int64_data_cached_byte_size_{0},
        double_data_{visibility, arena},
        uint64_data_{visibility, arena},
        _uint64_data_cached_byte_size_{0},
        name_(arena),
        raw_data_(arena),
        doc_string_(arena) {}

inline void TensorProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, segment_),
           0,
           offsetof(Impl_, data_type_) -
               offsetof(Impl_, segment_) +
               sizeof(Impl_::data_type_));
}
TensorProto::~TensorProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TensorProto)
  SharedDtor(*this);
}
inline void TensorProto::SharedDtor(MessageLite& self) {
  TensorProto& this_ = static_cast<TensorProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.raw_data_.Destroy();
  this_._impl_.doc_string_.Destroy();
  delete this_._impl_.segment_;
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL TensorProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorProto(arena);
}
constexpr auto TensorProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.dims_) +
          decltype(TensorProto::_impl_.dims_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.float_data_) +
          decltype(TensorProto::_impl_.float_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int32_data_) +
          decltype(TensorProto::_impl_.int32_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.string_data_) +
          decltype(TensorProto::_impl_.string_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int64_data_) +
          decltype(TensorProto::_impl_.int64_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.double_data_) +
          decltype(TensorProto::_impl_.double_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.uint64_data_) +
          decltype(TensorProto::_impl_.uint64_data_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::CopyInit(
        sizeof(TensorProto), alignof(TensorProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&TensorProto::PlacementNew_,
                                 sizeof(TensorProto),
                                 alignof(TensorProto));
  }
}
constexpr auto TensorProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TensorProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TensorProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorProto>(), &TensorProto::ByteSizeLong,
              &TensorProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorProto, _impl_._cached_size_),
          false,
      },
      &TensorProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorProto_class_data_ =
        TensorProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorProto_class_data_.tc_table);
  return TensorProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 12, 2, 54, 2>
TensorProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TensorProto, _impl_._has_bits_),
    0, // no _extensions_
    12, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294963200,  // skipmap
    offsetof(decltype(_table_), field_entries),
    12,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    TensorProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated int64 dims = 1;
    {::_pbi::TcParser::FastV64R1,
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.dims_)}},
    // optional .opencv_onnx.TensorProto.DataType data_type = 2;
    {::_pbi::TcParser::FastEr0S1,
     {16, 4, 15, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_type_)}},
    // optional .opencv_onnx.TensorProto.Segment segment = 3;
    {::_pbi::TcParser::FastMtS1,
     {26, 3, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_)}},
    // repeated float float_data = 4 [packed = true];
    {::_pbi::TcParser::FastF32P1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.float_data_)}},
    // repeated int32 int32_data = 5 [packed = true];
    {::_pbi::TcParser::FastV32P1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int32_data_)}},
    // repeated bytes string_data = 6;
    {::_pbi::TcParser::FastBR1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.string_data_)}},
    // repeated int64 int64_data = 7 [packed = true];
    {::_pbi::TcParser::FastV64P1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int64_data_)}},
    // optional string name = 8;
    {::_pbi::TcParser::FastSS1,
     {66, 0, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.name_)}},
    // optional bytes raw_data = 9;
    {::_pbi::TcParser::FastBS1,
     {74, 1, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.raw_data_)}},
    // repeated double double_data = 10 [packed = true];
    {::_pbi::TcParser::FastF64P1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.double_data_)}},
    // repeated uint64 uint64_data = 11 [packed = true];
    {::_pbi::TcParser::FastV64P1,
     {90, 63, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.uint64_data_)}},
    // optional string doc_string = 12;
    {::_pbi::TcParser::FastSS1,
     {98, 2, 0, PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.doc_string_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated int64 dims = 1;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.dims_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)},
    // optional .opencv_onnx.TensorProto.DataType data_type = 2;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_type_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .opencv_onnx.TensorProto.Segment segment = 3;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated float float_data = 4 [packed = true];
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.float_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedFloat)},
    // repeated int32 int32_data = 5 [packed = true];
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int32_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    // repeated bytes string_data = 6;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.string_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    // repeated int64 int64_data = 7 [packed = true];
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.int64_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
    // optional string name = 8;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional bytes raw_data = 9;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.raw_data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // repeated double double_data = 10 [packed = true];
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.double_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)},
    // repeated uint64 uint64_data = 11 [packed = true];
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.uint64_data_), -1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    // optional string doc_string = 12;
    {PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.doc_string_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorProto_Segment>()},
      {0, 15},
  }},
  {{
    "\27\0\0\0\0\0\0\0\4\0\0\0\12\0\0\0"
    "opencv_onnx.TensorProto"
    "name"
    "doc_string"
  }},
};
PROTOBUF_NOINLINE void TensorProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TensorProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dims_.Clear();
  _impl_.float_data_.Clear();
  _impl_.int32_data_.Clear();
  _impl_.string_data_.Clear();
  _impl_.int64_data_.Clear();
  _impl_.double_data_.Clear();
  _impl_.uint64_data_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000000fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _impl_.raw_data_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _impl_.doc_string_.ClearNonDefaultToEmpty();
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      ABSL_DCHECK(_impl_.segment_ != nullptr);
      _impl_.segment_->Clear();
    }
  }
  _impl_.data_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TensorProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TensorProto& this_ = static_cast<const TensorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TensorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TensorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TensorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated int64 dims = 1;
  for (int i = 0, n = this_._internal_dims_size(); i < n; ++i) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        1, this_._internal_dims().Get(i), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .opencv_onnx.TensorProto.DataType data_type = 2;
  if ((cached_has_bits & 0x00000010U) != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_data_type(), target);
  }

  // optional .opencv_onnx.TensorProto.Segment segment = 3;
  if ((cached_has_bits & 0x00000008U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.segment_, this_._impl_.segment_->GetCachedSize(), target,
        stream);
  }

  // repeated float float_data = 4 [packed = true];
  if (this_._internal_float_data_size() > 0) {
    target = stream->WriteFixedPacked(4, this_._internal_float_data(), target);
  }

  // repeated int32 int32_data = 5 [packed = true];
  {
    int byte_size = this_._impl_._int32_data_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          5, this_._internal_int32_data(), byte_size, target);
    }
  }

  // repeated bytes string_data = 6;
  for (int i = 0, n = this_._internal_string_data_size(); i < n; ++i) {
    const auto& s = this_._internal_string_data().Get(i);
    target = stream->WriteBytes(6, s, target);
  }

  // repeated int64 int64_data = 7 [packed = true];
  {
    int byte_size = this_._impl_._int64_data_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          7, this_._internal_int64_data(), byte_size, target);
    }
  }

  // optional string name = 8;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.TensorProto.name");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // optional bytes raw_data = 9;
  if ((cached_has_bits & 0x00000002U) != 0) {
    const ::std::string& _s = this_._internal_raw_data();
    target = stream->WriteBytesMaybeAliased(9, _s, target);
  }

  // repeated double double_data = 10 [packed = true];
  if (this_._internal_double_data_size() > 0) {
    target = stream->WriteFixedPacked(10, this_._internal_double_data(), target);
  }

  // repeated uint64 uint64_data = 11 [packed = true];
  {
    int byte_size = this_._impl_._uint64_data_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          11, this_._internal_uint64_data(), byte_size, target);
    }
  }

  // optional string doc_string = 12;
  if ((cached_has_bits & 0x00000004U) != 0) {
    const ::std::string& _s = this_._internal_doc_string();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.TensorProto.doc_string");
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TensorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorProto::ByteSizeLong(const MessageLite& base) {
  const TensorProto& this_ = static_cast<const TensorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorProto::ByteSizeLong() const {
  const TensorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TensorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated int64 dims = 1;
    {
      ::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
          this_._internal_dims());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_dims_size());
      total_size += tag_size + data_size;
    }
    // repeated float float_data = 4 [packed = true];
    {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_float_data_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // repeated int32 int32_data = 5 [packed = true];
    {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_int32_data(), 1,
              this_._impl_._int32_data_cached_byte_size_);
    }
    // repeated bytes string_data = 6;
    {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_string_data().size());
      for (int i = 0, n = this_._internal_string_data().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
            this_._internal_string_data().Get(i));
      }
    }
    // repeated int64 int64_data = 7 [packed = true];
    {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_int64_data(), 1,
              this_._impl_._int64_data_cached_byte_size_);
    }
    // repeated double double_data = 10 [packed = true];
    {
      ::size_t data_size = ::size_t{8} *
          ::_pbi::FromIntSize(this_._internal_double_data_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // repeated uint64 uint64_data = 11 [packed = true];
    {
      total_size +=
          ::_pbi::WireFormatLite::UInt64SizeWithPackedTagSize(
              this_._internal_uint64_data(), 1,
              this_._impl_._uint64_data_cached_byte_size_);
    }
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000001fU) != 0) {
    // optional string name = 8;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional bytes raw_data = 9;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_raw_data());
    }
    // optional string doc_string = 12;
    if ((cached_has_bits & 0x00000004U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doc_string());
    }
    // optional .opencv_onnx.TensorProto.Segment segment = 3;
    if ((cached_has_bits & 0x00000008U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.segment_);
    }
    // optional .opencv_onnx.TensorProto.DataType data_type = 2;
    if ((cached_has_bits & 0x00000010U) != 0) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_data_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TensorProto*>(&to_msg);
  auto& from = static_cast<const TensorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TensorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_dims()->MergeFrom(from._internal_dims());
  _this->_internal_mutable_float_data()->MergeFrom(from._internal_float_data());
  _this->_internal_mutable_int32_data()->MergeFrom(from._internal_int32_data());
  _this->_internal_mutable_string_data()->MergeFrom(from._internal_string_data());
  _this->_internal_mutable_int64_data()->MergeFrom(from._internal_int64_data());
  _this->_internal_mutable_double_data()->MergeFrom(from._internal_double_data());
  _this->_internal_mutable_uint64_data()->MergeFrom(from._internal_uint64_data());
  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x0000001fU) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_name(from._internal_name());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_internal_set_raw_data(from._internal_raw_data());
    }
    if ((cached_has_bits & 0x00000004U) != 0) {
      _this->_internal_set_doc_string(from._internal_doc_string());
    }
    if ((cached_has_bits & 0x00000008U) != 0) {
      ABSL_DCHECK(from._impl_.segment_ != nullptr);
      if (_this->_impl_.segment_ == nullptr) {
        _this->_impl_.segment_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.segment_);
      } else {
        _this->_impl_.segment_->MergeFrom(*from._impl_.segment_);
      }
    }
    if ((cached_has_bits & 0x00000010U) != 0) {
      _this->_impl_.data_type_ = from._impl_.data_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TensorProto::CopyFrom(const TensorProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TensorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TensorProto::InternalSwap(TensorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.dims_.InternalSwap(&other->_impl_.dims_);
  _impl_.float_data_.InternalSwap(&other->_impl_.float_data_);
  _impl_.int32_data_.InternalSwap(&other->_impl_.int32_data_);
  _impl_.string_data_.InternalSwap(&other->_impl_.string_data_);
  _impl_.int64_data_.InternalSwap(&other->_impl_.int64_data_);
  _impl_.double_data_.InternalSwap(&other->_impl_.double_data_);
  _impl_.uint64_data_.InternalSwap(&other->_impl_.uint64_data_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.raw_data_, &other->_impl_.raw_data_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_string_, &other->_impl_.doc_string_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.data_type_)
      + sizeof(TensorProto::_impl_.data_type_)
      - PROTOBUF_FIELD_OFFSET(TensorProto, _impl_.segment_)>(
          reinterpret_cast<char*>(&_impl_.segment_),
          reinterpret_cast<char*>(&other->_impl_.segment_));
}

::google::protobuf::Metadata TensorProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TensorShapeProto_Dimension::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<TensorShapeProto_Dimension>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::opencv_onnx::TensorShapeProto_Dimension, _impl_._oneof_case_);
};

TensorShapeProto_Dimension::TensorShapeProto_Dimension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_Dimension_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TensorShapeProto.Dimension)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::TensorShapeProto_Dimension& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        denotation_(arena, from.denotation_),
        value_{},
        _oneof_case_{from._oneof_case_[0]} {}

TensorShapeProto_Dimension::TensorShapeProto_Dimension(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorShapeProto_Dimension& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_Dimension_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TensorShapeProto_Dimension* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (value_case()) {
    case VALUE_NOT_SET:
      break;
      case kDimValue:
        _impl_.value_.dim_value_ = from._impl_.value_.dim_value_;
        break;
      case kDimParam:
        new (&_impl_.value_.dim_param_) decltype(_impl_.value_.dim_param_){arena, from._impl_.value_.dim_param_};
        break;
  }

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.TensorShapeProto.Dimension)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        denotation_(arena),
        value_{},
        _oneof_case_{} {}

inline void TensorShapeProto_Dimension::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TensorShapeProto_Dimension::~TensorShapeProto_Dimension() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TensorShapeProto.Dimension)
  SharedDtor(*this);
}
inline void TensorShapeProto_Dimension::SharedDtor(MessageLite& self) {
  TensorShapeProto_Dimension& this_ = static_cast<TensorShapeProto_Dimension&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.denotation_.Destroy();
  if (this_.has_value()) {
    this_.clear_value();
  }
  this_._impl_.~Impl_();
}

void TensorShapeProto_Dimension::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:opencv_onnx.TensorShapeProto.Dimension)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (value_case()) {
    case kDimValue: {
      // No need to clear
      break;
    }
    case kDimParam: {
      _impl_.value_.dim_param_.Destroy();
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}


inline void* PROTOBUF_NONNULL TensorShapeProto_Dimension::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorShapeProto_Dimension(arena);
}
constexpr auto TensorShapeProto_Dimension::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TensorShapeProto_Dimension),
                                            alignof(TensorShapeProto_Dimension));
}
constexpr auto TensorShapeProto_Dimension::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TensorShapeProto_Dimension_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TensorShapeProto_Dimension::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorShapeProto_Dimension>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorShapeProto_Dimension::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorShapeProto_Dimension>(), &TensorShapeProto_Dimension::ByteSizeLong,
              &TensorShapeProto_Dimension::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_._cached_size_),
          false,
      },
      &TensorShapeProto_Dimension::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorShapeProto_Dimension_class_data_ =
        TensorShapeProto_Dimension::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorShapeProto_Dimension::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorShapeProto_Dimension_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorShapeProto_Dimension_class_data_.tc_table);
  return TensorShapeProto_Dimension_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 3, 0, 66, 2>
TensorShapeProto_Dimension::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_._has_bits_),
    0, // no _extensions_
    3, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    TensorShapeProto_Dimension_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TensorShapeProto_Dimension>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string denotation = 3;
    {::_pbi::TcParser::FastSS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.denotation_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int64 dim_value = 1;
    {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.value_.dim_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)},
    // string dim_param = 2;
    {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.value_.dim_param_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional string denotation = 3;
    {PROTOBUF_FIELD_OFFSET(TensorShapeProto_Dimension, _impl_.denotation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\46\0\11\12\0\0\0\0"
    "opencv_onnx.TensorShapeProto.Dimension"
    "dim_param"
    "denotation"
  }},
};
PROTOBUF_NOINLINE void TensorShapeProto_Dimension::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TensorShapeProto.Dimension)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    _impl_.denotation_.ClearNonDefaultToEmpty();
  }
  clear_value();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TensorShapeProto_Dimension::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TensorShapeProto_Dimension& this_ = static_cast<const TensorShapeProto_Dimension&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TensorShapeProto_Dimension::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TensorShapeProto_Dimension& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TensorShapeProto.Dimension)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (this_.value_case()) {
    case kDimValue: {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
              stream, this_._internal_dim_value(), target);
      break;
    }
    case kDimParam: {
      const ::std::string& _s = this_._internal_dim_param();
      ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                  "opencv_onnx.TensorShapeProto.Dimension.dim_param");
      target = stream->WriteStringMaybeAliased(2, _s, target);
      break;
    }
    default:
      break;
  }
  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string denotation = 3;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_denotation();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.TensorShapeProto.Dimension.denotation");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TensorShapeProto.Dimension)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorShapeProto_Dimension::ByteSizeLong(const MessageLite& base) {
  const TensorShapeProto_Dimension& this_ = static_cast<const TensorShapeProto_Dimension&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorShapeProto_Dimension::ByteSizeLong() const {
  const TensorShapeProto_Dimension& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TensorShapeProto.Dimension)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // optional string denotation = 3;
    cached_has_bits = this_._impl_._has_bits_[0];
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_denotation());
    }
  }
  switch (this_.value_case()) {
    // int64 dim_value = 1;
    case kDimValue: {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_dim_value());
      break;
    }
    // string dim_param = 2;
    case kDimParam: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dim_param());
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorShapeProto_Dimension::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TensorShapeProto_Dimension*>(&to_msg);
  auto& from = static_cast<const TensorShapeProto_Dimension&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TensorShapeProto.Dimension)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    _this->_internal_set_denotation(from._internal_denotation());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_value();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kDimValue: {
        _this->_impl_.value_.dim_value_ = from._impl_.value_.dim_value_;
        break;
      }
      case kDimParam: {
        if (oneof_needs_init) {
          _this->_impl_.value_.dim_param_.InitDefault();
        }
        _this->_impl_.value_.dim_param_.Set(from._internal_dim_param(), arena);
        break;
      }
      case VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TensorShapeProto_Dimension::CopyFrom(const TensorShapeProto_Dimension& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TensorShapeProto.Dimension)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TensorShapeProto_Dimension::InternalSwap(TensorShapeProto_Dimension* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.denotation_, &other->_impl_.denotation_, arena);
  swap(_impl_.value_, other->_impl_.value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata TensorShapeProto_Dimension::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TensorShapeProto::_Internal {
 public:
};

TensorShapeProto::TensorShapeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TensorShapeProto)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::TensorShapeProto& from_msg)
      : dim_{visibility, arena, from.dim_},
        _cached_size_{0} {}

TensorShapeProto::TensorShapeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TensorShapeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TensorShapeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TensorShapeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.TensorShapeProto)
}
PROTOBUF_NDEBUG_INLINE TensorShapeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : dim_{visibility, arena},
        _cached_size_{0} {}

inline void TensorShapeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TensorShapeProto::~TensorShapeProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TensorShapeProto)
  SharedDtor(*this);
}
inline void TensorShapeProto::SharedDtor(MessageLite& self) {
  TensorShapeProto& this_ = static_cast<TensorShapeProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL TensorShapeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TensorShapeProto(arena);
}
constexpr auto TensorShapeProto::InternalNewImpl_() {
  constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
      PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_.dim_) +
          decltype(TensorShapeProto::_impl_.dim_)::
              InternalGetArenaOffset(
                  ::google::protobuf::Message::internal_visibility()),
  });
  if (arena_bits.has_value()) {
    return ::google::protobuf::internal::MessageCreator::ZeroInit(
        sizeof(TensorShapeProto), alignof(TensorShapeProto), *arena_bits);
  } else {
    return ::google::protobuf::internal::MessageCreator(&TensorShapeProto::PlacementNew_,
                                 sizeof(TensorShapeProto),
                                 alignof(TensorShapeProto));
  }
}
constexpr auto TensorShapeProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TensorShapeProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TensorShapeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TensorShapeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TensorShapeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TensorShapeProto>(), &TensorShapeProto::ByteSizeLong,
              &TensorShapeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_._cached_size_),
          false,
      },
      &TensorShapeProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TensorShapeProto_class_data_ =
        TensorShapeProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TensorShapeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TensorShapeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TensorShapeProto_class_data_.tc_table);
  return TensorShapeProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
TensorShapeProto::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    TensorShapeProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TensorShapeProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .opencv_onnx.TensorShapeProto.Dimension dim = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_.dim_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .opencv_onnx.TensorShapeProto.Dimension dim = 1;
    {PROTOBUF_FIELD_OFFSET(TensorShapeProto, _impl_.dim_), 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorShapeProto_Dimension>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void TensorShapeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TensorShapeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dim_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TensorShapeProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TensorShapeProto& this_ = static_cast<const TensorShapeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TensorShapeProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TensorShapeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TensorShapeProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .opencv_onnx.TensorShapeProto.Dimension dim = 1;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this_._internal_dim_size());
       i < n; i++) {
    const auto& repfield = this_._internal_dim().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            1, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TensorShapeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TensorShapeProto::ByteSizeLong(const MessageLite& base) {
  const TensorShapeProto& this_ = static_cast<const TensorShapeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TensorShapeProto::ByteSizeLong() const {
  const TensorShapeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TensorShapeProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .opencv_onnx.TensorShapeProto.Dimension dim = 1;
    {
      total_size += 1UL * this_._internal_dim_size();
      for (const auto& msg : this_._internal_dim()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TensorShapeProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TensorShapeProto*>(&to_msg);
  auto& from = static_cast<const TensorShapeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TensorShapeProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_dim()->MergeFrom(
      from._internal_dim());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TensorShapeProto::CopyFrom(const TensorShapeProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TensorShapeProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TensorShapeProto::InternalSwap(TensorShapeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.dim_.InternalSwap(&other->_impl_.dim_);
}

::google::protobuf::Metadata TensorShapeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TypeProto_Tensor::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<TypeProto_Tensor>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_._has_bits_);
};

TypeProto_Tensor::TypeProto_Tensor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Tensor_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TypeProto.Tensor)
}
PROTOBUF_NDEBUG_INLINE TypeProto_Tensor::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::TypeProto_Tensor& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

TypeProto_Tensor::TypeProto_Tensor(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto_Tensor& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_Tensor_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TypeProto_Tensor* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.shape_ = ((cached_has_bits & 0x00000001U) != 0)
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.shape_)
                : nullptr;
  _impl_.elem_type_ = from._impl_.elem_type_;

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.TypeProto.Tensor)
}
PROTOBUF_NDEBUG_INLINE TypeProto_Tensor::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void TypeProto_Tensor::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, shape_),
           0,
           offsetof(Impl_, elem_type_) -
               offsetof(Impl_, shape_) +
               sizeof(Impl_::elem_type_));
}
TypeProto_Tensor::~TypeProto_Tensor() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TypeProto.Tensor)
  SharedDtor(*this);
}
inline void TypeProto_Tensor::SharedDtor(MessageLite& self) {
  TypeProto_Tensor& this_ = static_cast<TypeProto_Tensor&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.shape_;
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL TypeProto_Tensor::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto_Tensor(arena);
}
constexpr auto TypeProto_Tensor::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TypeProto_Tensor),
                                            alignof(TypeProto_Tensor));
}
constexpr auto TypeProto_Tensor::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TypeProto_Tensor_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TypeProto_Tensor::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto_Tensor>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto_Tensor::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto_Tensor>(), &TypeProto_Tensor::ByteSizeLong,
              &TypeProto_Tensor::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_._cached_size_),
          false,
      },
      &TypeProto_Tensor::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_Tensor_class_data_ =
        TypeProto_Tensor::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto_Tensor::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_Tensor_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_Tensor_class_data_.tc_table);
  return TypeProto_Tensor_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
TypeProto_Tensor::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    TypeProto_Tensor_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TypeProto_Tensor>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .opencv_onnx.TensorShapeProto shape = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.shape_)}},
    // optional .opencv_onnx.TensorProto.DataType elem_type = 1;
    {::_pbi::TcParser::FastEr0S1,
     {8, 1, 15, PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.elem_type_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .opencv_onnx.TensorProto.DataType elem_type = 1;
    {PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.elem_type_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional .opencv_onnx.TensorShapeProto shape = 2;
    {PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.shape_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TensorShapeProto>()},
      {0, 15},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void TypeProto_Tensor::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TypeProto.Tensor)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    ABSL_DCHECK(_impl_.shape_ != nullptr);
    _impl_.shape_->Clear();
  }
  _impl_.elem_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TypeProto_Tensor::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TypeProto_Tensor& this_ = static_cast<const TypeProto_Tensor&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TypeProto_Tensor::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TypeProto_Tensor& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TypeProto.Tensor)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .opencv_onnx.TensorProto.DataType elem_type = 1;
  if ((cached_has_bits & 0x00000002U) != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_elem_type(), target);
  }

  // optional .opencv_onnx.TensorShapeProto shape = 2;
  if ((cached_has_bits & 0x00000001U) != 0) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.shape_, this_._impl_.shape_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TypeProto.Tensor)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto_Tensor::ByteSizeLong(const MessageLite& base) {
  const TypeProto_Tensor& this_ = static_cast<const TypeProto_Tensor&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto_Tensor::ByteSizeLong() const {
  const TypeProto_Tensor& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TypeProto.Tensor)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    // optional .opencv_onnx.TensorShapeProto shape = 2;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.shape_);
    }
    // optional .opencv_onnx.TensorProto.DataType elem_type = 1;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_elem_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TypeProto_Tensor::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TypeProto_Tensor*>(&to_msg);
  auto& from = static_cast<const TypeProto_Tensor&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TypeProto.Tensor)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      ABSL_DCHECK(from._impl_.shape_ != nullptr);
      if (_this->_impl_.shape_ == nullptr) {
        _this->_impl_.shape_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.shape_);
      } else {
        _this->_impl_.shape_->MergeFrom(*from._impl_.shape_);
      }
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_impl_.elem_type_ = from._impl_.elem_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TypeProto_Tensor::CopyFrom(const TypeProto_Tensor& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TypeProto.Tensor)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TypeProto_Tensor::InternalSwap(TypeProto_Tensor* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.elem_type_)
      + sizeof(TypeProto_Tensor::_impl_.elem_type_)
      - PROTOBUF_FIELD_OFFSET(TypeProto_Tensor, _impl_.shape_)>(
          reinterpret_cast<char*>(&_impl_.shape_),
          reinterpret_cast<char*>(&other->_impl_.shape_));
}

::google::protobuf::Metadata TypeProto_Tensor::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class TypeProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<TypeProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TypeProto, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::opencv_onnx::TypeProto, _impl_._oneof_case_);
};

void TypeProto::set_allocated_tensor_type(::opencv_onnx::TypeProto_Tensor* PROTOBUF_NULLABLE tensor_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_value();
  if (tensor_type) {
    ::google::protobuf::Arena* submessage_arena = tensor_type->GetArena();
    if (message_arena != submessage_arena) {
      tensor_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, tensor_type, submessage_arena);
    }
    set_has_tensor_type();
    _impl_.value_.tensor_type_ = tensor_type;
  }
  // @@protoc_insertion_point(field_set_allocated:opencv_onnx.TypeProto.tensor_type)
}
TypeProto::TypeProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.TypeProto)
}
PROTOBUF_NDEBUG_INLINE TypeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::TypeProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        denotation_(arena, from.denotation_),
        value_{},
        _oneof_case_{from._oneof_case_[0]} {}

TypeProto::TypeProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TypeProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TypeProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TypeProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (value_case()) {
    case VALUE_NOT_SET:
      break;
      case kTensorType:
        _impl_.value_.tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.tensor_type_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.TypeProto)
}
PROTOBUF_NDEBUG_INLINE TypeProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        denotation_(arena),
        value_{},
        _oneof_case_{} {}

inline void TypeProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TypeProto::~TypeProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.TypeProto)
  SharedDtor(*this);
}
inline void TypeProto::SharedDtor(MessageLite& self) {
  TypeProto& this_ = static_cast<TypeProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.denotation_.Destroy();
  if (this_.has_value()) {
    this_.clear_value();
  }
  this_._impl_.~Impl_();
}

void TypeProto::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:opencv_onnx.TypeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (value_case()) {
    case kTensorType: {
      if (GetArena() == nullptr) {
        delete _impl_.value_.tensor_type_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.tensor_type_);
      }
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}


inline void* PROTOBUF_NONNULL TypeProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TypeProto(arena);
}
constexpr auto TypeProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TypeProto),
                                            alignof(TypeProto));
}
constexpr auto TypeProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_TypeProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &TypeProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TypeProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TypeProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TypeProto>(), &TypeProto::ByteSizeLong,
              &TypeProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TypeProto, _impl_._cached_size_),
          false,
      },
      &TypeProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TypeProto_class_data_ =
        TypeProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TypeProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TypeProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TypeProto_class_data_.tc_table);
  return TypeProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 2, 1, 40, 2>
TypeProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TypeProto, _impl_._has_bits_),
    0, // no _extensions_
    6, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967262,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    TypeProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::TypeProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string denotation = 6;
    {::_pbi::TcParser::FastSS1,
     {50, 0, 0, PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.denotation_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .opencv_onnx.TypeProto.Tensor tensor_type = 1;
    {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.value_.tensor_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional string denotation = 6;
    {PROTOBUF_FIELD_OFFSET(TypeProto, _impl_.denotation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::opencv_onnx::TypeProto_Tensor>()},
  }},
  {{
    "\25\0\12\0\0\0\0\0"
    "opencv_onnx.TypeProto"
    "denotation"
  }},
};
PROTOBUF_NOINLINE void TypeProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.TypeProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    _impl_.denotation_.ClearNonDefaultToEmpty();
  }
  clear_value();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL TypeProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const TypeProto& this_ = static_cast<const TypeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL TypeProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const TypeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.TypeProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .opencv_onnx.TypeProto.Tensor tensor_type = 1;
  if (this_.value_case() == kTensorType) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.value_.tensor_type_, this_._impl_.value_.tensor_type_->GetCachedSize(), target,
        stream);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string denotation = 6;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_denotation();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.TypeProto.denotation");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.TypeProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TypeProto::ByteSizeLong(const MessageLite& base) {
  const TypeProto& this_ = static_cast<const TypeProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TypeProto::ByteSizeLong() const {
  const TypeProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.TypeProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // optional string denotation = 6;
    cached_has_bits = this_._impl_._has_bits_[0];
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_denotation());
    }
  }
  switch (this_.value_case()) {
    // .opencv_onnx.TypeProto.Tensor tensor_type = 1;
    case kTensorType: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.tensor_type_);
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TypeProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TypeProto*>(&to_msg);
  auto& from = static_cast<const TypeProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.TypeProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    _this->_internal_set_denotation(from._internal_denotation());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_value();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kTensorType: {
        if (oneof_needs_init) {
          _this->_impl_.value_.tensor_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_.tensor_type_);
        } else {
          _this->_impl_.value_.tensor_type_->MergeFrom(*from._impl_.value_.tensor_type_);
        }
        break;
      }
      case VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TypeProto::CopyFrom(const TypeProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.TypeProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TypeProto::InternalSwap(TypeProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.denotation_, &other->_impl_.denotation_, arena);
  swap(_impl_.value_, other->_impl_.value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata TypeProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

class OperatorSetIdProto::_Internal {
 public:
  using HasBits =
      decltype(::std::declval<OperatorSetIdProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_._has_bits_);
};

OperatorSetIdProto::OperatorSetIdProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, OperatorSetIdProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opencv_onnx.OperatorSetIdProto)
}
PROTOBUF_NDEBUG_INLINE OperatorSetIdProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opencv_onnx::OperatorSetIdProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        domain_(arena, from.domain_) {}

OperatorSetIdProto::OperatorSetIdProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const OperatorSetIdProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, OperatorSetIdProto_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OperatorSetIdProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.version_ = from._impl_.version_;

  // @@protoc_insertion_point(copy_constructor:opencv_onnx.OperatorSetIdProto)
}
PROTOBUF_NDEBUG_INLINE OperatorSetIdProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        domain_(arena) {}

inline void OperatorSetIdProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.version_ = {};
}
OperatorSetIdProto::~OperatorSetIdProto() {
  // @@protoc_insertion_point(destructor:opencv_onnx.OperatorSetIdProto)
  SharedDtor(*this);
}
inline void OperatorSetIdProto::SharedDtor(MessageLite& self) {
  OperatorSetIdProto& this_ = static_cast<OperatorSetIdProto&>(self);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.domain_.Destroy();
  this_._impl_.~Impl_();
}

inline void* PROTOBUF_NONNULL OperatorSetIdProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OperatorSetIdProto(arena);
}
constexpr auto OperatorSetIdProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OperatorSetIdProto),
                                            alignof(OperatorSetIdProto));
}
constexpr auto OperatorSetIdProto::InternalGenerateClassData_() {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &_OperatorSetIdProto_default_instance_._instance,
          &_table_.header,
          nullptr,  // OnDemandRegisterArenaDtor
          nullptr,  // IsInitialized
          &OperatorSetIdProto::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<OperatorSetIdProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &OperatorSetIdProto::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<OperatorSetIdProto>(), &OperatorSetIdProto::ByteSizeLong,
              &OperatorSetIdProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_._cached_size_),
          false,
      },
      &OperatorSetIdProto::kDescriptorMethods,
      &descriptor_table_opencv_2donnx_2eproto,
      nullptr,  // tracker
  };
}

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull OperatorSetIdProto_class_data_ =
        OperatorSetIdProto::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OperatorSetIdProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&OperatorSetIdProto_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(OperatorSetIdProto_class_data_.tc_table);
  return OperatorSetIdProto_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 45, 2>
OperatorSetIdProto::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    OperatorSetIdProto_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::opencv_onnx::OperatorSetIdProto>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional int64 version = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(OperatorSetIdProto, _impl_.version_), 1>(),
     {16, 1, 0, PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.version_)}},
    // optional string domain = 1;
    {::_pbi::TcParser::FastSS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.domain_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string domain = 1;
    {PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
    // optional int64 version = 2;
    {PROTOBUF_FIELD_OFFSET(OperatorSetIdProto, _impl_.version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
  }},
  // no aux_entries
  {{
    "\36\6\0\0\0\0\0\0"
    "opencv_onnx.OperatorSetIdProto"
    "domain"
  }},
};
PROTOBUF_NOINLINE void OperatorSetIdProto::Clear() {
// @@protoc_insertion_point(message_clear_start:opencv_onnx.OperatorSetIdProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000001U) != 0) {
    _impl_.domain_.ClearNonDefaultToEmpty();
  }
  _impl_.version_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL OperatorSetIdProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const OperatorSetIdProto& this_ = static_cast<const OperatorSetIdProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL OperatorSetIdProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const OperatorSetIdProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    this_.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:opencv_onnx.OperatorSetIdProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string domain = 1;
  if ((cached_has_bits & 0x00000001U) != 0) {
    const ::std::string& _s = this_._internal_domain();
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
                                "opencv_onnx.OperatorSetIdProto.domain");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional int64 version = 2;
  if ((cached_has_bits & 0x00000002U) != 0) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_version(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opencv_onnx.OperatorSetIdProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OperatorSetIdProto::ByteSizeLong(const MessageLite& base) {
  const OperatorSetIdProto& this_ = static_cast<const OperatorSetIdProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OperatorSetIdProto::ByteSizeLong() const {
  const OperatorSetIdProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opencv_onnx.OperatorSetIdProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    // optional string domain = 1;
    if ((cached_has_bits & 0x00000001U) != 0) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // optional int64 version = 2;
    if ((cached_has_bits & 0x00000002U) != 0) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_version());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void OperatorSetIdProto::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<OperatorSetIdProto*>(&to_msg);
  auto& from = static_cast<const OperatorSetIdProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenVerifyHasBitConsistency()) {
    from.VerifyHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opencv_onnx.OperatorSetIdProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if ((cached_has_bits & 0x00000003U) != 0) {
    if ((cached_has_bits & 0x00000001U) != 0) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if ((cached_has_bits & 0x00000002U) != 0) {
      _this->_impl_.version_ = from._impl_.version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void OperatorSetIdProto::CopyFrom(const OperatorSetIdProto& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:opencv_onnx.OperatorSetIdProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void OperatorSetIdProto::InternalSwap(OperatorSetIdProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  swap(_impl_.version_, other->_impl_.version_);
}

::google::protobuf::Metadata OperatorSetIdProto::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace opencv_onnx
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
    _static_init2_ [[maybe_unused]] =
        (::_pbi::AddDescriptors(&descriptor_table_opencv_2donnx_2eproto),
         ::std::false_type{});
#include "google/protobuf/port_undef.inc"
