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

#include "steamnetworkingsockets_messages.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;

inline constexpr CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        debug_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        reason_code_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvous_ConnectionClosedDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_default_instance_;

inline constexpr CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        msg_num_{::uint64_t{0u}},
        flags_{0u},
        lane_idx_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvous_ApplicationMessageDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_default_instance_;

inline constexpr CMsgSteamNetworkingICESessionSummary::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        local_candidate_types_{0u},
        remote_candidate_types_{0u},
        initial_route_kind_{0u},
        initial_ping_{0u},
        negotiation_ms_{0u},
        initial_score_{0u},
        failure_reason_code_{0u},
        selected_seconds_{0u},
        user_settings_{0u},
        ice_enable_var_{0u},
        local_candidate_types_allowed_{0u},
        best_route_kind_{0u},
        best_ping_{0u},
        best_score_{0u},
        best_time_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingICESessionSummaryDefaultTypeInternal _CMsgSteamNetworkingICESessionSummary_default_instance_;

inline constexpr CMsgSteamDatagramSessionCryptInfoSigned::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        info_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        signature_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramSessionCryptInfoSignedDefaultTypeInternal _CMsgSteamDatagramSessionCryptInfoSigned_default_instance_;

inline constexpr CMsgSteamDatagramSessionCryptInfo::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        ciphers_{},
        key_data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        key_type_{static_cast< ::CMsgSteamDatagramSessionCryptInfo_EKeyType >(0)},
        protocol_version_{0u},
        nonce_{::uint64_t{0u}} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramSessionCryptInfoDefaultTypeInternal _CMsgSteamDatagramSessionCryptInfo_default_instance_;

inline constexpr CMsgSteamDatagramLinkLifetimeStats::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        multipath_packets_recv_sequenced_{},
        multipath_packets_recv_later_{},
        packets_sent_{::uint64_t{0u}},
        kb_sent_{::uint64_t{0u}},
        packets_recv_{::uint64_t{0u}},
        kb_recv_{::uint64_t{0u}},
        packets_recv_sequenced_{::uint64_t{0u}},
        packets_recv_dropped_{::uint64_t{0u}},
        connected_seconds_{0u},
        multipath_send_enabled_{0u},
        packets_recv_out_of_order_{::uint64_t{0u}},
        packets_recv_duplicate_{::uint64_t{0u}},
        packets_recv_lurch_{::uint64_t{0u}},
        packets_recv_out_of_order_corrected_{::uint64_t{0u}},
        quality_histogram_100_{0u},
        quality_histogram_99_{0u},
        quality_histogram_97_{0u},
        quality_histogram_95_{0u},
        quality_histogram_90_{0u},
        quality_histogram_75_{0u},
        quality_histogram_50_{0u},
        quality_histogram_1_{0u},
        quality_histogram_dead_{0u},
        quality_ntile_2nd_{0u},
        quality_ntile_5th_{0u},
        quality_ntile_25th_{0u},
        quality_ntile_50th_{0u},
        ping_ntile_5th_{0u},
        ping_ntile_50th_{0u},
        ping_ntile_75th_{0u},
        ping_histogram_25_{0u},
        ping_histogram_50_{0u},
        ping_histogram_75_{0u},
        ping_histogram_100_{0u},
        ping_histogram_125_{0u},
        ping_histogram_150_{0u},
        ping_histogram_200_{0u},
        ping_histogram_300_{0u},
        ping_histogram_max_{0u},
        ping_ntile_95th_{0u},
        ping_ntile_98th_{0u},
        jitter_histogram_negligible_{0u},
        jitter_histogram_1_{0u},
        jitter_histogram_2_{0u},
        jitter_histogram_5_{0u},
        jitter_histogram_10_{0u},
        jitter_histogram_20_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramLinkLifetimeStatsDefaultTypeInternal _CMsgSteamDatagramLinkLifetimeStats_default_instance_;

inline constexpr CMsgSteamDatagramLinkInstantaneousStats::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        out_packets_per_sec_x10_{0u},
        out_bytes_per_sec_{0u},
        in_packets_per_sec_x10_{0u},
        in_bytes_per_sec_{0u},
        ping_ms_{0u},
        packets_dropped_pct_{0u},
        packets_weird_sequence_pct_{0u},
        peak_jitter_usec_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramLinkInstantaneousStatsDefaultTypeInternal _CMsgSteamDatagramLinkInstantaneousStats_default_instance_;

inline constexpr CMsgSteamDatagramDiagnostic::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        severity_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramDiagnosticDefaultTypeInternal _CMsgSteamDatagramDiagnostic_default_instance_;

inline constexpr CMsgICERendezvous_Auth::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        pwd_frag_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgICERendezvous_AuthDefaultTypeInternal _CMsgICERendezvous_Auth_default_instance_;

inline constexpr CMsgICECandidate::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        candidate_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgICECandidateDefaultTypeInternal _CMsgICECandidate_default_instance_;

inline constexpr CMsgSteamNetworkingP2PRendezvous_ConnectRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        from_fakeip_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        crypt_{nullptr},
        cert_{nullptr},
        to_virtual_port_{0u},
        from_virtual_port_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvous_ConnectRequestDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_ConnectRequest_default_instance_;

inline constexpr CMsgSteamNetworkingP2PRendezvous_ConnectOK::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        crypt_{nullptr},
        cert_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvous_ConnectOKDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_ConnectOK_default_instance_;

inline constexpr CMsgSteamDatagramConnectionQuality::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        instantaneous_{nullptr},
        lifetime_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamDatagramConnectionQualityDefaultTypeInternal _CMsgSteamDatagramConnectionQuality_default_instance_;

inline constexpr CMsgICERendezvous::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        add_candidate_{nullptr},
        auth_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgICERendezvousDefaultTypeInternal _CMsgICERendezvous_default_instance_;

inline constexpr CMsgSteamNetworkingP2PRendezvous_ReliableMessage::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        ice_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvous_ReliableMessageDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_ReliableMessage_default_instance_;

inline constexpr CMsgSteamNetworkingP2PRendezvous::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        reliable_messages_{},
        application_messages_{},
        sdr_routes_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        from_identity_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        to_identity_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        hosted_server_ticket_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        connect_request_{nullptr},
        connect_ok_{nullptr},
        connection_closed_{nullptr},
        to_connection_id_{0u},
        ack_peer_routes_revision_{0u},
        ice_enabled_{false},
        from_connection_id_{0u},
        ack_reliable_msg_{0u},
        first_reliable_msg_{0u} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSteamNetworkingP2PRendezvousDefaultTypeInternal _CMsgSteamNetworkingP2PRendezvous_default_instance_;
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_steamnetworkingsockets_5fmessages_2eproto[2];
static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
    file_level_service_descriptors_steamnetworkingsockets_5fmessages_2eproto = nullptr;
const ::uint32_t
    TableStruct_steamnetworkingsockets_5fmessages_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_.key_type_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_.key_data_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_.nonce_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_.protocol_version_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfo, _impl_.ciphers_),
        2,
        1,
        4,
        3,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfoSigned, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfoSigned, _impl_.info_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramSessionCryptInfoSigned, _impl_.signature_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramDiagnostic, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramDiagnostic, _impl_.severity_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramDiagnostic, _impl_.text_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_._has_bits_),
        11, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_packets_per_sec_x10_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_bytes_per_sec_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_packets_per_sec_x10_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_bytes_per_sec_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.ping_ms_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_dropped_pct_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_weird_sequence_pct_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkInstantaneousStats, _impl_.peak_jitter_usec_),
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_._has_bits_),
        50, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.connected_seconds_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_sent_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_sent_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_recv_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_sequenced_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_dropped_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_corrected_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_duplicate_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_lurch_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_sequenced_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_later_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_send_enabled_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_100_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_99_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_97_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_95_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_90_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_75_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_50_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_1_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_dead_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_2nd_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_5th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_25th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_50th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_25_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_50_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_75_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_100_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_125_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_150_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_200_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_300_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_max_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_5th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_50th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_75th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_95th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_98th_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_negligible_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_1_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_2_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_5_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_10_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_20_),
        8,
        2,
        3,
        4,
        5,
        6,
        7,
        10,
        13,
        11,
        12,
        0,
        1,
        9,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        27,
        28,
        29,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramConnectionQuality, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramConnectionQuality, _impl_.instantaneous_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamDatagramConnectionQuality, _impl_.lifetime_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgICECandidate, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgICECandidate, _impl_.candidate_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgICERendezvous_Auth, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgICERendezvous_Auth, _impl_.pwd_frag_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgICERendezvous, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgICERendezvous, _impl_.auth_),
        PROTOBUF_FIELD_OFFSET(::CMsgICERendezvous, _impl_.add_candidate_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.crypt_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.cert_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.to_virtual_port_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_virtual_port_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_fakeip_),
        1,
        2,
        3,
        4,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.crypt_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.cert_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.debug_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.reason_code_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ReliableMessage, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ReliableMessage, _impl_.ice_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_._has_bits_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.data_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.msg_num_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.flags_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.lane_idx_),
        0,
        1,
        2,
        3,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_._has_bits_),
        18, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.from_identity_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.from_connection_id_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.to_identity_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.to_connection_id_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.sdr_routes_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.ack_peer_routes_revision_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.ice_enabled_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.hosted_server_ticket_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.connect_request_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.connect_ok_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.connection_closed_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.ack_reliable_msg_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.first_reliable_msg_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.reliable_messages_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingP2PRendezvous, _impl_.application_messages_),
        3,
        12,
        4,
        9,
        2,
        10,
        11,
        5,
        6,
        7,
        8,
        13,
        14,
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_._has_bits_),
        18, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.failure_reason_code_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.remote_candidate_types_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.initial_route_kind_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.initial_ping_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.initial_score_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.negotiation_ms_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.best_route_kind_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.best_ping_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.best_score_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.best_time_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.selected_seconds_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.user_settings_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.ice_enable_var_),
        PROTOBUF_FIELD_OFFSET(::CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_allowed_),
        6,
        0,
        1,
        2,
        3,
        5,
        4,
        11,
        12,
        13,
        14,
        7,
        8,
        9,
        10,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::CMsgSteamDatagramSessionCryptInfo)},
        {13, sizeof(::CMsgSteamDatagramSessionCryptInfoSigned)},
        {20, sizeof(::CMsgSteamDatagramDiagnostic)},
        {27, sizeof(::CMsgSteamDatagramLinkInstantaneousStats)},
        {46, sizeof(::CMsgSteamDatagramLinkLifetimeStats)},
        {143, sizeof(::CMsgSteamDatagramConnectionQuality)},
        {150, sizeof(::CMsgICECandidate)},
        {155, sizeof(::CMsgICERendezvous_Auth)},
        {160, sizeof(::CMsgICERendezvous)},
        {167, sizeof(::CMsgSteamNetworkingP2PRendezvous_ConnectRequest)},
        {180, sizeof(::CMsgSteamNetworkingP2PRendezvous_ConnectOK)},
        {187, sizeof(::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed)},
        {194, sizeof(::CMsgSteamNetworkingP2PRendezvous_ReliableMessage)},
        {199, sizeof(::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage)},
        {210, sizeof(::CMsgSteamNetworkingP2PRendezvous)},
        {243, sizeof(::CMsgSteamNetworkingICESessionSummary)},
};
static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
    &::_CMsgSteamDatagramSessionCryptInfo_default_instance_._instance,
    &::_CMsgSteamDatagramSessionCryptInfoSigned_default_instance_._instance,
    &::_CMsgSteamDatagramDiagnostic_default_instance_._instance,
    &::_CMsgSteamDatagramLinkInstantaneousStats_default_instance_._instance,
    &::_CMsgSteamDatagramLinkLifetimeStats_default_instance_._instance,
    &::_CMsgSteamDatagramConnectionQuality_default_instance_._instance,
    &::_CMsgICECandidate_default_instance_._instance,
    &::_CMsgICERendezvous_Auth_default_instance_._instance,
    &::_CMsgICERendezvous_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_ConnectRequest_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_ConnectOK_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_ReliableMessage_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_default_instance_._instance,
    &::_CMsgSteamNetworkingP2PRendezvous_default_instance_._instance,
    &::_CMsgSteamNetworkingICESessionSummary_default_instance_._instance,
};
const char descriptor_table_protodef_steamnetworkingsockets_5fmessages_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n%steamnetworkingsockets_messages.proto\032"
    "+steamnetworkingsockets_messages_certs.p"
    "roto\"\367\001\n!CMsgSteamDatagramSessionCryptIn"
    "fo\022=\n\010key_type\030\001 \001(\0162+.CMsgSteamDatagram"
    "SessionCryptInfo.EKeyType\022\020\n\010key_data\030\002 "
    "\001(\014\022\r\n\005nonce\030\003 \001(\006\022\030\n\020protocol_version\030\004"
    " \001(\r\022/\n\007ciphers\030\005 \003(\0162\036.ESteamNetworking"
    "SocketsCipher\"\'\n\010EKeyType\022\013\n\007INVALID\020\000\022\016"
    "\n\nCURVE25519\020\001\"J\n\'CMsgSteamDatagramSessi"
    "onCryptInfoSigned\022\014\n\004info\030\001 \001(\014\022\021\n\tsigna"
    "ture\030\002 \001(\014\"=\n\033CMsgSteamDatagramDiagnosti"
    "c\022\020\n\010severity\030\001 \001(\r\022\014\n\004text\030\002 \001(\t\"\213\002\n\'CM"
    "sgSteamDatagramLinkInstantaneousStats\022\037\n"
    "\027out_packets_per_sec_x10\030\001 \001(\r\022\031\n\021out_by"
    "tes_per_sec\030\002 \001(\r\022\036\n\026in_packets_per_sec_"
    "x10\030\003 \001(\r\022\030\n\020in_bytes_per_sec\030\004 \001(\r\022\017\n\007p"
    "ing_ms\030\005 \001(\r\022\033\n\023packets_dropped_pct\030\006 \001("
    "\r\022\"\n\032packets_weird_sequence_pct\030\007 \001(\r\022\030\n"
    "\020peak_jitter_usec\030\010 \001(\r\"\355\n\n\"CMsgSteamDat"
    "agramLinkLifetimeStats\022\031\n\021connected_seco"
    "nds\030\002 \001(\r\022\024\n\014packets_sent\030\003 \001(\004\022\017\n\007kb_se"
    "nt\030\004 \001(\004\022\024\n\014packets_recv\030\005 \001(\004\022\017\n\007kb_rec"
    "v\030\006 \001(\004\022\036\n\026packets_recv_sequenced\030\007 \001(\004\022"
    "\034\n\024packets_recv_dropped\030\010 \001(\004\022!\n\031packets"
    "_recv_out_of_order\030\t \001(\004\022+\n#packets_recv"
    "_out_of_order_corrected\030\017 \001(\004\022\036\n\026packets"
    "_recv_duplicate\030\n \001(\004\022\032\n\022packets_recv_lu"
    "rch\030\013 \001(\004\022(\n multipath_packets_recv_sequ"
    "enced\030\014 \003(\004\022$\n\034multipath_packets_recv_la"
    "ter\030\r \003(\004\022\036\n\026multipath_send_enabled\030\016 \001("
    "\r\022\035\n\025quality_histogram_100\030\025 \001(\r\022\034\n\024qual"
    "ity_histogram_99\030\026 \001(\r\022\034\n\024quality_histog"
    "ram_97\030\027 \001(\r\022\034\n\024quality_histogram_95\030\030 \001"
    "(\r\022\034\n\024quality_histogram_90\030\031 \001(\r\022\034\n\024qual"
    "ity_histogram_75\030\032 \001(\r\022\034\n\024quality_histog"
    "ram_50\030\033 \001(\r\022\033\n\023quality_histogram_1\030\034 \001("
    "\r\022\036\n\026quality_histogram_dead\030\035 \001(\r\022\031\n\021qua"
    "lity_ntile_2nd\030\036 \001(\r\022\031\n\021quality_ntile_5t"
    "h\030\037 \001(\r\022\032\n\022quality_ntile_25th\030  \001(\r\022\032\n\022q"
    "uality_ntile_50th\030! \001(\r\022\031\n\021ping_histogra"
    "m_25\030) \001(\r\022\031\n\021ping_histogram_50\030* \001(\r\022\031\n"
    "\021ping_histogram_75\030+ \001(\r\022\032\n\022ping_histogr"
    "am_100\030, \001(\r\022\032\n\022ping_histogram_125\030- \001(\r"
    "\022\032\n\022ping_histogram_150\030. \001(\r\022\032\n\022ping_his"
    "togram_200\030/ \001(\r\022\032\n\022ping_histogram_300\0300"
    " \001(\r\022\032\n\022ping_histogram_max\0301 \001(\r\022\026\n\016ping"
    "_ntile_5th\0302 \001(\r\022\027\n\017ping_ntile_50th\0303 \001("
    "\r\022\027\n\017ping_ntile_75th\0304 \001(\r\022\027\n\017ping_ntile"
    "_95th\0305 \001(\r\022\027\n\017ping_ntile_98th\0306 \001(\r\022#\n\033"
    "jitter_histogram_negligible\030= \001(\r\022\032\n\022jit"
    "ter_histogram_1\030> \001(\r\022\032\n\022jitter_histogra"
    "m_2\030\? \001(\r\022\032\n\022jitter_histogram_5\030@ \001(\r\022\033\n"
    "\023jitter_histogram_10\030A \001(\r\022\033\n\023jitter_his"
    "togram_20\030B \001(\r\"\234\001\n\"CMsgSteamDatagramCon"
    "nectionQuality\022\?\n\rinstantaneous\030\001 \001(\0132(."
    "CMsgSteamDatagramLinkInstantaneousStats\022"
    "5\n\010lifetime\030\002 \001(\0132#.CMsgSteamDatagramLin"
    "kLifetimeStats\"%\n\020CMsgICECandidate\022\021\n\tca"
    "ndidate\030\003 \001(\t\"~\n\021CMsgICERendezvous\022%\n\004au"
    "th\030\002 \001(\0132\027.CMsgICERendezvous.Auth\022(\n\radd"
    "_candidate\030\001 \001(\0132\021.CMsgICECandidate\032\030\n\004A"
    "uth\022\020\n\010pwd_frag\030\001 \001(\t\"\243\t\n CMsgSteamNetwo"
    "rkingP2PRendezvous\022\025\n\rfrom_identity\030\010 \001("
    "\t\022\032\n\022from_connection_id\030\t \001(\007\022\023\n\013to_iden"
    "tity\030\n \001(\t\022\030\n\020to_connection_id\030\001 \001(\007\022\022\n\n"
    "sdr_routes\030\002 \001(\014\022 \n\030ack_peer_routes_revi"
    "sion\030\003 \001(\r\022\023\n\013ice_enabled\030\007 \001(\010\022\034\n\024hoste"
    "d_server_ticket\030\016 \001(\014\022I\n\017connect_request"
    "\030\004 \001(\01320.CMsgSteamNetworkingP2PRendezvou"
    "s.ConnectRequest\022\?\n\nconnect_ok\030\005 \001(\0132+.C"
    "MsgSteamNetworkingP2PRendezvous.ConnectO"
    "K\022M\n\021connection_closed\030\006 \001(\01322.CMsgSteam"
    "NetworkingP2PRendezvous.ConnectionClosed"
    "\022\030\n\020ack_reliable_msg\030\013 \001(\r\022\032\n\022first_reli"
    "able_msg\030\014 \001(\r\022L\n\021reliable_messages\030\r \003("
    "\01321.CMsgSteamNetworkingP2PRendezvous.Rel"
    "iableMessage\022R\n\024application_messages\030\017 \003"
    "(\01324.CMsgSteamNetworkingP2PRendezvous.Ap"
    "plicationMessage\032\305\001\n\016ConnectRequest\0227\n\005c"
    "rypt\030\006 \001(\0132(.CMsgSteamDatagramSessionCry"
    "ptInfoSigned\0221\n\004cert\030\007 \001(\0132#.CMsgSteamDa"
    "tagramCertificateSigned\022\027\n\017to_virtual_po"
    "rt\030\t \001(\r\022\031\n\021from_virtual_port\030\n \001(\r\022\023\n\013f"
    "rom_fakeip\030\013 \001(\t\032w\n\tConnectOK\0227\n\005crypt\030\005"
    " \001(\0132(.CMsgSteamDatagramSessionCryptInfo"
    "Signed\0221\n\004cert\030\006 \001(\0132#.CMsgSteamDatagram"
    "CertificateSigned\0326\n\020ConnectionClosed\022\r\n"
    "\005debug\030\005 \001(\t\022\023\n\013reason_code\030\006 \001(\r\0322\n\017Rel"
    "iableMessage\022\037\n\003ice\030\001 \001(\0132\022.CMsgICERende"
    "zvous\032T\n\022ApplicationMessage\022\014\n\004data\030\001 \001("
    "\014\022\017\n\007msg_num\030\002 \001(\004\022\r\n\005flags\030\003 \001(\r\022\020\n\010lan"
    "e_idx\030\004 \001(\r\"\246\003\n$CMsgSteamNetworkingICESe"
    "ssionSummary\022\033\n\023failure_reason_code\030\007 \001("
    "\r\022\035\n\025local_candidate_types\030\001 \001(\r\022\036\n\026remo"
    "te_candidate_types\030\002 \001(\r\022\032\n\022initial_rout"
    "e_kind\030\003 \001(\r\022\024\n\014initial_ping\030\004 \001(\r\022\025\n\rin"
    "itial_score\030\006 \001(\r\022\026\n\016negotiation_ms\030\005 \001("
    "\r\022\027\n\017best_route_kind\030\020 \001(\r\022\021\n\tbest_ping\030"
    "\021 \001(\r\022\022\n\nbest_score\030\022 \001(\r\022\021\n\tbest_time\030\023"
    " \001(\r\022\030\n\020selected_seconds\030\014 \001(\r\022\025\n\ruser_s"
    "ettings\030\r \001(\r\022\026\n\016ice_enable_var\030\016 \001(\r\022%\n"
    "\035local_candidate_types_allowed\030\017 \001(\r*\247\001\n"
    "\035ESteamNetworkingSocketsCipher\022+\n\'k_ESte"
    "amNetworkingSocketsCipher_INVALID\020\000\022(\n$k"
    "_ESteamNetworkingSocketsCipher_NULL\020\001\022/\n"
    "+k_ESteamNetworkingSocketsCipher_AES_256"
    "_GCM\020\002B\005H\001\200\001\000"
};
static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
    descriptor_table_steamnetworkingsockets_5fmessages_2eproto_deps[1] = {
        &::descriptor_table_steamnetworkingsockets_5fmessages_5fcerts_2eproto,
};
static ::absl::once_flag descriptor_table_steamnetworkingsockets_5fmessages_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_steamnetworkingsockets_5fmessages_2eproto = {
    false,
    false,
    4253,
    descriptor_table_protodef_steamnetworkingsockets_5fmessages_2eproto,
    "steamnetworkingsockets_messages.proto",
    &descriptor_table_steamnetworkingsockets_5fmessages_2eproto_once,
    descriptor_table_steamnetworkingsockets_5fmessages_2eproto_deps,
    1,
    16,
    schemas,
    file_default_instances,
    TableStruct_steamnetworkingsockets_5fmessages_2eproto::offsets,
    file_level_enum_descriptors_steamnetworkingsockets_5fmessages_2eproto,
    file_level_service_descriptors_steamnetworkingsockets_5fmessages_2eproto,
};
const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CMsgSteamDatagramSessionCryptInfo_EKeyType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_steamnetworkingsockets_5fmessages_2eproto);
  return file_level_enum_descriptors_steamnetworkingsockets_5fmessages_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t CMsgSteamDatagramSessionCryptInfo_EKeyType_internal_data_[] = {
    131072u, 0u, };
const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL ESteamNetworkingSocketsCipher_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_steamnetworkingsockets_5fmessages_2eproto);
  return file_level_enum_descriptors_steamnetworkingsockets_5fmessages_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t ESteamNetworkingSocketsCipher_internal_data_[] = {
    196608u, 0u, };
// ===================================================================

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

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

CMsgSteamDatagramSessionCryptInfo::CMsgSteamDatagramSessionCryptInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamDatagramSessionCryptInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramSessionCryptInfo_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamDatagramSessionCryptInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, key_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, key_type_),
           offsetof(Impl_, nonce_) -
               offsetof(Impl_, key_type_) +
               sizeof(Impl_::nonce_));

  // @@protoc_insertion_point(copy_constructor:CMsgSteamDatagramSessionCryptInfo)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamDatagramSessionCryptInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        ciphers_{visibility, arena},
        key_data_(arena) {}

inline void CMsgSteamDatagramSessionCryptInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, key_type_),
           0,
           offsetof(Impl_, nonce_) -
               offsetof(Impl_, key_type_) +
               sizeof(Impl_::nonce_));
}
CMsgSteamDatagramSessionCryptInfo::~CMsgSteamDatagramSessionCryptInfo() {
  // @@protoc_insertion_point(destructor:CMsgSteamDatagramSessionCryptInfo)
  SharedDtor(*this);
}
inline void CMsgSteamDatagramSessionCryptInfo::SharedDtor(MessageLite& self) {
  CMsgSteamDatagramSessionCryptInfo& this_ = static_cast<CMsgSteamDatagramSessionCryptInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.key_data_.Destroy();
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramSessionCryptInfo_class_data_ =
        CMsgSteamDatagramSessionCryptInfo::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramSessionCryptInfo::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramSessionCryptInfo_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramSessionCryptInfo_class_data_.tc_table);
  return CMsgSteamDatagramSessionCryptInfo_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2>
CMsgSteamDatagramSessionCryptInfo::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    CMsgSteamDatagramSessionCryptInfo_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramSessionCryptInfo>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1;
    {::_pbi::TcParser::FastEr0S1,
     {8, 2, 1,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.key_type_)}},
    // optional bytes key_data = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.key_data_)}},
    // optional fixed64 nonce = 3;
    {::_pbi::TcParser::FastF64S1,
     {25, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.nonce_)}},
    // optional uint32 protocol_version = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramSessionCryptInfo, _impl_.protocol_version_), 3>(),
     {32, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.protocol_version_)}},
    // repeated .ESteamNetworkingSocketsCipher ciphers = 5;
    {::_pbi::TcParser::FastEr0R1,
     {40, 0, 2,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.ciphers_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.key_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    // optional bytes key_data = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.key_data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional fixed64 nonce = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.nonce_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
    // optional uint32 protocol_version = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.protocol_version_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // repeated .ESteamNetworkingSocketsCipher ciphers = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.ciphers_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
  }},
  {{
      {0, 1},
      {0, 2},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramSessionCryptInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramSessionCryptInfo)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _impl_.ciphers_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.key_data_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.key_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.nonce_) -
        reinterpret_cast<char*>(&_impl_.key_type_)) + sizeof(_impl_.nonce_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_key_type(), target);
  }

  // optional bytes key_data = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_key_data();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // optional fixed64 nonce = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
        3, this_._internal_nonce(), target);
  }

  // optional uint32 protocol_version = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_protocol_version(), target);
  }

  // repeated .ESteamNetworkingSocketsCipher ciphers = 5;
  if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_ciphers_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          5, static_cast<::ESteamNetworkingSocketsCipher>(this_._internal_ciphers().Get(i)),
          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:CMsgSteamDatagramSessionCryptInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramSessionCryptInfo::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramSessionCryptInfo& this_ = static_cast<const CMsgSteamDatagramSessionCryptInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramSessionCryptInfo::ByteSizeLong() const {
  const CMsgSteamDatagramSessionCryptInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramSessionCryptInfo)
  ::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];
  total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .ESteamNetworkingSocketsCipher ciphers = 5;
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_ciphers());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_ciphers_size());
      total_size += data_size + tag_size;
    }
    // optional bytes key_data = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_key_data());
    }
    // optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_key_type());
    }
    // optional uint32 protocol_version = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_protocol_version());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_ciphers()->MergeFrom(from._internal_ciphers());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_key_data(from._internal_key_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.key_type_ = from._impl_.key_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.protocol_version_ = from._impl_.protocol_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.nonce_ = from._impl_.nonce_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamDatagramSessionCryptInfo::InternalSwap(CMsgSteamDatagramSessionCryptInfo* 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_.ciphers_.InternalSwap(&other->_impl_.ciphers_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.key_data_, &other->_impl_.key_data_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.nonce_)
      + sizeof(CMsgSteamDatagramSessionCryptInfo::_impl_.nonce_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfo, _impl_.key_type_)>(
          reinterpret_cast<char*>(&_impl_.key_type_),
          reinterpret_cast<char*>(&other->_impl_.key_type_));
}

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

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

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

CMsgSteamDatagramSessionCryptInfoSigned::CMsgSteamDatagramSessionCryptInfoSigned(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamDatagramSessionCryptInfoSigned& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramSessionCryptInfoSigned_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamDatagramSessionCryptInfoSigned* 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:CMsgSteamDatagramSessionCryptInfoSigned)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamDatagramSessionCryptInfoSigned::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        info_(arena),
        signature_(arena) {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramSessionCryptInfoSigned_class_data_ =
        CMsgSteamDatagramSessionCryptInfoSigned::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramSessionCryptInfoSigned::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramSessionCryptInfoSigned_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramSessionCryptInfoSigned_class_data_.tc_table);
  return CMsgSteamDatagramSessionCryptInfoSigned_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
CMsgSteamDatagramSessionCryptInfoSigned::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfoSigned, _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
    CMsgSteamDatagramSessionCryptInfoSigned_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramSessionCryptInfoSigned>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional bytes signature = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfoSigned, _impl_.signature_)}},
    // optional bytes info = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfoSigned, _impl_.info_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional bytes info = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfoSigned, _impl_.info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional bytes signature = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramSessionCryptInfoSigned, _impl_.signature_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramSessionCryptInfoSigned::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramSessionCryptInfoSigned)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.info_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.signature_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bytes info = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_info();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // optional bytes signature = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_signature();
    target = stream->WriteBytesMaybeAliased(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:CMsgSteamDatagramSessionCryptInfoSigned)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramSessionCryptInfoSigned::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramSessionCryptInfoSigned& this_ = static_cast<const CMsgSteamDatagramSessionCryptInfoSigned&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramSessionCryptInfoSigned::ByteSizeLong() const {
  const CMsgSteamDatagramSessionCryptInfoSigned& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramSessionCryptInfoSigned)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional bytes info = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_info());
    }
    // optional bytes signature = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_signature());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_info(from._internal_info());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_signature(from._internal_signature());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamDatagramSessionCryptInfoSigned::InternalSwap(CMsgSteamDatagramSessionCryptInfoSigned* 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_.info_, &other->_impl_.info_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.signature_, &other->_impl_.signature_, arena);
}

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

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

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

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

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

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramDiagnostic_class_data_ =
        CMsgSteamDatagramDiagnostic::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramDiagnostic::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramDiagnostic_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramDiagnostic_class_data_.tc_table);
  return CMsgSteamDatagramDiagnostic_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
CMsgSteamDatagramDiagnostic::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramDiagnostic, _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
    CMsgSteamDatagramDiagnostic_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramDiagnostic>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string text = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramDiagnostic, _impl_.text_)}},
    // optional uint32 severity = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramDiagnostic, _impl_.severity_), 1>(),
     {8, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramDiagnostic, _impl_.severity_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional uint32 severity = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramDiagnostic, _impl_.severity_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional string text = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramDiagnostic, _impl_.text_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramDiagnostic::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramDiagnostic)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.text_.ClearNonDefaultToEmpty();
  }
  _impl_.severity_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 severity = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_severity(), target);
  }

  // optional string text = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_text();
    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:CMsgSteamDatagramDiagnostic)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramDiagnostic::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramDiagnostic& this_ = static_cast<const CMsgSteamDatagramDiagnostic&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramDiagnostic::ByteSizeLong() const {
  const CMsgSteamDatagramDiagnostic& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramDiagnostic)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string text = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
    // optional uint32 severity = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_severity());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.severity_ = from._impl_.severity_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamDatagramDiagnostic::InternalSwap(CMsgSteamDatagramDiagnostic* 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_.text_, &other->_impl_.text_, arena);
  swap(_impl_.severity_, other->_impl_.severity_);
}

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

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

CMsgSteamDatagramLinkInstantaneousStats::CMsgSteamDatagramLinkInstantaneousStats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramLinkInstantaneousStats_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:CMsgSteamDatagramLinkInstantaneousStats)
}
CMsgSteamDatagramLinkInstantaneousStats::CMsgSteamDatagramLinkInstantaneousStats(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamDatagramLinkInstantaneousStats& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramLinkInstantaneousStats_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 CMsgSteamDatagramLinkInstantaneousStats::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramLinkInstantaneousStats_class_data_ =
        CMsgSteamDatagramLinkInstantaneousStats::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramLinkInstantaneousStats::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramLinkInstantaneousStats_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramLinkInstantaneousStats_class_data_.tc_table);
  return CMsgSteamDatagramLinkInstantaneousStats_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 0, 0, 2>
CMsgSteamDatagramLinkInstantaneousStats::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgSteamDatagramLinkInstantaneousStats_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramLinkInstantaneousStats>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional uint32 peak_jitter_usec = 8;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.peak_jitter_usec_), 7>(),
     {64, 7, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.peak_jitter_usec_)}},
    // optional uint32 out_packets_per_sec_x10 = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_packets_per_sec_x10_), 0>(),
     {8, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_packets_per_sec_x10_)}},
    // optional uint32 out_bytes_per_sec = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_bytes_per_sec_), 1>(),
     {16, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_bytes_per_sec_)}},
    // optional uint32 in_packets_per_sec_x10 = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_packets_per_sec_x10_), 2>(),
     {24, 2, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_packets_per_sec_x10_)}},
    // optional uint32 in_bytes_per_sec = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_bytes_per_sec_), 3>(),
     {32, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_bytes_per_sec_)}},
    // optional uint32 ping_ms = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.ping_ms_), 4>(),
     {40, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.ping_ms_)}},
    // optional uint32 packets_dropped_pct = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_dropped_pct_), 5>(),
     {48, 5, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_dropped_pct_)}},
    // optional uint32 packets_weird_sequence_pct = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_weird_sequence_pct_), 6>(),
     {56, 6, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_weird_sequence_pct_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional uint32 out_packets_per_sec_x10 = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_packets_per_sec_x10_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 out_bytes_per_sec = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_bytes_per_sec_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 in_packets_per_sec_x10 = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_packets_per_sec_x10_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 in_bytes_per_sec = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.in_bytes_per_sec_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ms = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.ping_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 packets_dropped_pct = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_dropped_pct_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 packets_weird_sequence_pct = 7;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.packets_weird_sequence_pct_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 peak_jitter_usec = 8;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.peak_jitter_usec_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramLinkInstantaneousStats::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramLinkInstantaneousStats)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.out_packets_per_sec_x10_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.peak_jitter_usec_) -
        reinterpret_cast<char*>(&_impl_.out_packets_per_sec_x10_)) + sizeof(_impl_.peak_jitter_usec_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 out_packets_per_sec_x10 = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_out_packets_per_sec_x10(), target);
  }

  // optional uint32 out_bytes_per_sec = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_out_bytes_per_sec(), target);
  }

  // optional uint32 in_packets_per_sec_x10 = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_in_packets_per_sec_x10(), target);
  }

  // optional uint32 in_bytes_per_sec = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_in_bytes_per_sec(), target);
  }

  // optional uint32 ping_ms = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_ping_ms(), target);
  }

  // optional uint32 packets_dropped_pct = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_packets_dropped_pct(), target);
  }

  // optional uint32 packets_weird_sequence_pct = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_packets_weird_sequence_pct(), target);
  }

  // optional uint32 peak_jitter_usec = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_peak_jitter_usec(), 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:CMsgSteamDatagramLinkInstantaneousStats)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramLinkInstantaneousStats::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramLinkInstantaneousStats& this_ = static_cast<const CMsgSteamDatagramLinkInstantaneousStats&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramLinkInstantaneousStats::ByteSizeLong() const {
  const CMsgSteamDatagramLinkInstantaneousStats& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramLinkInstantaneousStats)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional uint32 out_packets_per_sec_x10 = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_out_packets_per_sec_x10());
    }
    // optional uint32 out_bytes_per_sec = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_out_bytes_per_sec());
    }
    // optional uint32 in_packets_per_sec_x10 = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_in_packets_per_sec_x10());
    }
    // optional uint32 in_bytes_per_sec = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_in_bytes_per_sec());
    }
    // optional uint32 ping_ms = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ping_ms());
    }
    // optional uint32 packets_dropped_pct = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_packets_dropped_pct());
    }
    // optional uint32 packets_weird_sequence_pct = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_packets_weird_sequence_pct());
    }
    // optional uint32 peak_jitter_usec = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_peak_jitter_usec());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.out_packets_per_sec_x10_ = from._impl_.out_packets_per_sec_x10_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.out_bytes_per_sec_ = from._impl_.out_bytes_per_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.in_packets_per_sec_x10_ = from._impl_.in_packets_per_sec_x10_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.in_bytes_per_sec_ = from._impl_.in_bytes_per_sec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.ping_ms_ = from._impl_.ping_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.packets_dropped_pct_ = from._impl_.packets_dropped_pct_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.packets_weird_sequence_pct_ = from._impl_.packets_weird_sequence_pct_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.peak_jitter_usec_ = from._impl_.peak_jitter_usec_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamDatagramLinkInstantaneousStats::InternalSwap(CMsgSteamDatagramLinkInstantaneousStats* 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(CMsgSteamDatagramLinkInstantaneousStats, _impl_.peak_jitter_usec_)
      + sizeof(CMsgSteamDatagramLinkInstantaneousStats::_impl_.peak_jitter_usec_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkInstantaneousStats, _impl_.out_packets_per_sec_x10_)>(
          reinterpret_cast<char*>(&_impl_.out_packets_per_sec_x10_),
          reinterpret_cast<char*>(&other->_impl_.out_packets_per_sec_x10_));
}

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

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

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

CMsgSteamDatagramLinkLifetimeStats::CMsgSteamDatagramLinkLifetimeStats(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamDatagramLinkLifetimeStats& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramLinkLifetimeStats_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamDatagramLinkLifetimeStats* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, packets_sent_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, packets_sent_),
           offsetof(Impl_, jitter_histogram_20_) -
               offsetof(Impl_, packets_sent_) +
               sizeof(Impl_::jitter_histogram_20_));

  // @@protoc_insertion_point(copy_constructor:CMsgSteamDatagramLinkLifetimeStats)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamDatagramLinkLifetimeStats::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        multipath_packets_recv_sequenced_{visibility, arena},
        multipath_packets_recv_later_{visibility, arena} {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramLinkLifetimeStats_class_data_ =
        CMsgSteamDatagramLinkLifetimeStats::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramLinkLifetimeStats::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramLinkLifetimeStats_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramLinkLifetimeStats_class_data_.tc_table);
  return CMsgSteamDatagramLinkLifetimeStats_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 47, 0, 0, 11>
CMsgSteamDatagramLinkLifetimeStats::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_._has_bits_),
    0, // no _extensions_
    66, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    1015809,  // skipmap
    offsetof(decltype(_table_), field_entries),
    47,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgSteamDatagramLinkLifetimeStats_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramLinkLifetimeStats>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional uint32 connected_seconds = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.connected_seconds_), 8>(),
     {16, 8, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.connected_seconds_)}},
    // optional uint64 packets_sent = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_sent_), 2>(),
     {24, 2, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_sent_)}},
    // optional uint64 kb_sent = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_sent_), 3>(),
     {32, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_sent_)}},
    // optional uint64 packets_recv = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_), 4>(),
     {40, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_)}},
    // optional uint64 kb_recv = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_recv_), 5>(),
     {48, 5, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_recv_)}},
    // optional uint64 packets_recv_sequenced = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_sequenced_), 6>(),
     {56, 6, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_sequenced_)}},
    // optional uint64 packets_recv_dropped = 8;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_dropped_), 7>(),
     {64, 7, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_dropped_)}},
    // optional uint64 packets_recv_out_of_order = 9;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_), 10>(),
     {72, 10, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_)}},
    // optional uint64 packets_recv_duplicate = 10;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_duplicate_), 11>(),
     {80, 11, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_duplicate_)}},
    // optional uint64 packets_recv_lurch = 11;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_lurch_), 12>(),
     {88, 12, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_lurch_)}},
    // repeated uint64 multipath_packets_recv_sequenced = 12;
    {::_pbi::TcParser::FastV64R1,
     {96, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_sequenced_)}},
    // repeated uint64 multipath_packets_recv_later = 13;
    {::_pbi::TcParser::FastV64R1,
     {104, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_later_)}},
    // optional uint32 multipath_send_enabled = 14;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_send_enabled_), 9>(),
     {112, 9, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_send_enabled_)}},
    // optional uint64 packets_recv_out_of_order_corrected = 15;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_corrected_), 13>(),
     {120, 13, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_corrected_)}},
    // optional uint32 quality_ntile_25th = 32;
    {::_pbi::TcParser::FastV32S2,
     {640, 25, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_25th_)}},
    // optional uint32 quality_ntile_50th = 33;
    {::_pbi::TcParser::FastV32S2,
     {648, 26, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_50th_)}},
    // optional uint32 ping_ntile_5th = 50;
    {::_pbi::TcParser::FastV32S2,
     {912, 27, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_5th_)}},
    // optional uint32 ping_ntile_50th = 51;
    {::_pbi::TcParser::FastV32S2,
     {920, 28, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_50th_)}},
    // optional uint32 ping_ntile_75th = 52;
    {::_pbi::TcParser::FastV32S2,
     {928, 29, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_75th_)}},
    // optional uint32 quality_histogram_100 = 21;
    {::_pbi::TcParser::FastV32S2,
     {424, 14, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_100_)}},
    // optional uint32 quality_histogram_99 = 22;
    {::_pbi::TcParser::FastV32S2,
     {432, 15, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_99_)}},
    // optional uint32 quality_histogram_97 = 23;
    {::_pbi::TcParser::FastV32S2,
     {440, 16, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_97_)}},
    // optional uint32 quality_histogram_95 = 24;
    {::_pbi::TcParser::FastV32S2,
     {448, 17, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_95_)}},
    // optional uint32 quality_histogram_90 = 25;
    {::_pbi::TcParser::FastV32S2,
     {456, 18, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_90_)}},
    // optional uint32 quality_histogram_75 = 26;
    {::_pbi::TcParser::FastV32S2,
     {464, 19, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_75_)}},
    // optional uint32 quality_histogram_50 = 27;
    {::_pbi::TcParser::FastV32S2,
     {472, 20, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_50_)}},
    // optional uint32 quality_histogram_1 = 28;
    {::_pbi::TcParser::FastV32S2,
     {480, 21, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_1_)}},
    // optional uint32 quality_histogram_dead = 29;
    {::_pbi::TcParser::FastV32S2,
     {488, 22, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_dead_)}},
    // optional uint32 quality_ntile_2nd = 30;
    {::_pbi::TcParser::FastV32S2,
     {496, 23, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_2nd_)}},
    // optional uint32 quality_ntile_5th = 31;
    {::_pbi::TcParser::FastV32S2,
     {504, 24, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_5th_)}},
  }}, {{
    33, 0, 3,
    254, 26,
    4032, 35,
    65532, 45,
    65535, 65535
  }}, {{
    // optional uint32 connected_seconds = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.connected_seconds_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint64 packets_sent = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_sent_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 kb_sent = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_sent_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 kb_recv = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.kb_recv_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv_sequenced = 7;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_sequenced_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv_dropped = 8;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_dropped_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv_out_of_order = 9;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv_duplicate = 10;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_duplicate_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint64 packets_recv_lurch = 11;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_lurch_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // repeated uint64 multipath_packets_recv_sequenced = 12;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_sequenced_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt64)},
    // repeated uint64 multipath_packets_recv_later = 13;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_packets_recv_later_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt64)},
    // optional uint32 multipath_send_enabled = 14;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.multipath_send_enabled_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint64 packets_recv_out_of_order_corrected = 15;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.packets_recv_out_of_order_corrected_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint32 quality_histogram_100 = 21;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_100_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_99 = 22;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_99_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_97 = 23;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_97_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_95 = 24;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_95_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_90 = 25;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_90_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_75 = 26;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_75_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_50 = 27;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_50_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_1 = 28;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_1_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_histogram_dead = 29;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_histogram_dead_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_ntile_2nd = 30;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_2nd_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_ntile_5th = 31;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_5th_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_ntile_25th = 32;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_25th_), _Internal::kHasBitsOffset + 25, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 quality_ntile_50th = 33;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.quality_ntile_50th_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_25 = 41;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_25_), _Internal::kHasBitsOffset + 30, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_50 = 42;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_50_), _Internal::kHasBitsOffset + 31, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_75 = 43;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_75_), _Internal::kHasBitsOffset + 32, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_100 = 44;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_100_), _Internal::kHasBitsOffset + 33, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_125 = 45;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_125_), _Internal::kHasBitsOffset + 34, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_150 = 46;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_150_), _Internal::kHasBitsOffset + 35, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_200 = 47;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_200_), _Internal::kHasBitsOffset + 36, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_300 = 48;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_300_), _Internal::kHasBitsOffset + 37, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_histogram_max = 49;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_histogram_max_), _Internal::kHasBitsOffset + 38, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ntile_5th = 50;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_5th_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ntile_50th = 51;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_50th_), _Internal::kHasBitsOffset + 28, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ntile_75th = 52;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_75th_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ntile_95th = 53;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_95th_), _Internal::kHasBitsOffset + 39, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ping_ntile_98th = 54;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.ping_ntile_98th_), _Internal::kHasBitsOffset + 40, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_negligible = 61;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_negligible_), _Internal::kHasBitsOffset + 41, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_1 = 62;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_1_), _Internal::kHasBitsOffset + 42, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_2 = 63;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_2_), _Internal::kHasBitsOffset + 43, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_5 = 64;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_5_), _Internal::kHasBitsOffset + 44, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_10 = 65;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_10_), _Internal::kHasBitsOffset + 45, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 jitter_histogram_20 = 66;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramLinkLifetimeStats, _impl_.jitter_histogram_20_), _Internal::kHasBitsOffset + 46, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramLinkLifetimeStats::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramLinkLifetimeStats)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _impl_.multipath_packets_recv_sequenced_.Clear();
    }
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      _impl_.multipath_packets_recv_later_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000fcU)) {
    ::memset(&_impl_.packets_sent_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.packets_recv_dropped_) -
        reinterpret_cast<char*>(&_impl_.packets_sent_)) + sizeof(_impl_.packets_recv_dropped_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.connected_seconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.quality_histogram_99_) -
        reinterpret_cast<char*>(&_impl_.connected_seconds_)) + sizeof(_impl_.quality_histogram_99_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.quality_histogram_97_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.quality_ntile_2nd_) -
        reinterpret_cast<char*>(&_impl_.quality_histogram_97_)) + sizeof(_impl_.quality_ntile_2nd_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    ::memset(&_impl_.quality_ntile_5th_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.ping_histogram_50_) -
        reinterpret_cast<char*>(&_impl_.quality_ntile_5th_)) + sizeof(_impl_.ping_histogram_50_));
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.ping_histogram_75_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.ping_ntile_95th_) -
        reinterpret_cast<char*>(&_impl_.ping_histogram_75_)) + sizeof(_impl_.ping_ntile_95th_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.ping_ntile_98th_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.jitter_histogram_20_) -
        reinterpret_cast<char*>(&_impl_.ping_ntile_98th_)) + sizeof(_impl_.jitter_histogram_20_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 connected_seconds = 2;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_connected_seconds(), target);
  }

  // optional uint64 packets_sent = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_packets_sent(), target);
  }

  // optional uint64 kb_sent = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_kb_sent(), target);
  }

  // optional uint64 packets_recv = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_packets_recv(), target);
  }

  // optional uint64 kb_recv = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this_._internal_kb_recv(), target);
  }

  // optional uint64 packets_recv_sequenced = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this_._internal_packets_recv_sequenced(), target);
  }

  // optional uint64 packets_recv_dropped = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        8, this_._internal_packets_recv_dropped(), target);
  }

  // optional uint64 packets_recv_out_of_order = 9;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        9, this_._internal_packets_recv_out_of_order(), target);
  }

  // optional uint64 packets_recv_duplicate = 10;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        10, this_._internal_packets_recv_duplicate(), target);
  }

  // optional uint64 packets_recv_lurch = 11;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        11, this_._internal_packets_recv_lurch(), target);
  }

  // repeated uint64 multipath_packets_recv_sequenced = 12;
  if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_multipath_packets_recv_sequenced_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
          12, this_._internal_multipath_packets_recv_sequenced().Get(i), target);
    }
  }

  // repeated uint64 multipath_packets_recv_later = 13;
  if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_multipath_packets_recv_later_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
          13, this_._internal_multipath_packets_recv_later().Get(i), target);
    }
  }

  // optional uint32 multipath_send_enabled = 14;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        14, this_._internal_multipath_send_enabled(), target);
  }

  // optional uint64 packets_recv_out_of_order_corrected = 15;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        15, this_._internal_packets_recv_out_of_order_corrected(), target);
  }

  // optional uint32 quality_histogram_100 = 21;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        21, this_._internal_quality_histogram_100(), target);
  }

  // optional uint32 quality_histogram_99 = 22;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        22, this_._internal_quality_histogram_99(), target);
  }

  // optional uint32 quality_histogram_97 = 23;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        23, this_._internal_quality_histogram_97(), target);
  }

  // optional uint32 quality_histogram_95 = 24;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        24, this_._internal_quality_histogram_95(), target);
  }

  // optional uint32 quality_histogram_90 = 25;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        25, this_._internal_quality_histogram_90(), target);
  }

  // optional uint32 quality_histogram_75 = 26;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        26, this_._internal_quality_histogram_75(), target);
  }

  // optional uint32 quality_histogram_50 = 27;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        27, this_._internal_quality_histogram_50(), target);
  }

  // optional uint32 quality_histogram_1 = 28;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        28, this_._internal_quality_histogram_1(), target);
  }

  // optional uint32 quality_histogram_dead = 29;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        29, this_._internal_quality_histogram_dead(), target);
  }

  // optional uint32 quality_ntile_2nd = 30;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        30, this_._internal_quality_ntile_2nd(), target);
  }

  // optional uint32 quality_ntile_5th = 31;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        31, this_._internal_quality_ntile_5th(), target);
  }

  // optional uint32 quality_ntile_25th = 32;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        32, this_._internal_quality_ntile_25th(), target);
  }

  // optional uint32 quality_ntile_50th = 33;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        33, this_._internal_quality_ntile_50th(), target);
  }

  // optional uint32 ping_histogram_25 = 41;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        41, this_._internal_ping_histogram_25(), target);
  }

  // optional uint32 ping_histogram_50 = 42;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        42, this_._internal_ping_histogram_50(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional uint32 ping_histogram_75 = 43;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        43, this_._internal_ping_histogram_75(), target);
  }

  // optional uint32 ping_histogram_100 = 44;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        44, this_._internal_ping_histogram_100(), target);
  }

  // optional uint32 ping_histogram_125 = 45;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        45, this_._internal_ping_histogram_125(), target);
  }

  // optional uint32 ping_histogram_150 = 46;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        46, this_._internal_ping_histogram_150(), target);
  }

  // optional uint32 ping_histogram_200 = 47;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        47, this_._internal_ping_histogram_200(), target);
  }

  // optional uint32 ping_histogram_300 = 48;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        48, this_._internal_ping_histogram_300(), target);
  }

  // optional uint32 ping_histogram_max = 49;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        49, this_._internal_ping_histogram_max(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 ping_ntile_5th = 50;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        50, this_._internal_ping_ntile_5th(), target);
  }

  // optional uint32 ping_ntile_50th = 51;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        51, this_._internal_ping_ntile_50th(), target);
  }

  // optional uint32 ping_ntile_75th = 52;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        52, this_._internal_ping_ntile_75th(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // optional uint32 ping_ntile_95th = 53;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        53, this_._internal_ping_ntile_95th(), target);
  }

  // optional uint32 ping_ntile_98th = 54;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        54, this_._internal_ping_ntile_98th(), target);
  }

  // optional uint32 jitter_histogram_negligible = 61;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        61, this_._internal_jitter_histogram_negligible(), target);
  }

  // optional uint32 jitter_histogram_1 = 62;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        62, this_._internal_jitter_histogram_1(), target);
  }

  // optional uint32 jitter_histogram_2 = 63;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        63, this_._internal_jitter_histogram_2(), target);
  }

  // optional uint32 jitter_histogram_5 = 64;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        64, this_._internal_jitter_histogram_5(), target);
  }

  // optional uint32 jitter_histogram_10 = 65;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        65, this_._internal_jitter_histogram_10(), target);
  }

  // optional uint32 jitter_histogram_20 = 66;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        66, this_._internal_jitter_histogram_20(), 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:CMsgSteamDatagramLinkLifetimeStats)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramLinkLifetimeStats::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramLinkLifetimeStats& this_ = static_cast<const CMsgSteamDatagramLinkLifetimeStats&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramLinkLifetimeStats::ByteSizeLong() const {
  const CMsgSteamDatagramLinkLifetimeStats& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramLinkLifetimeStats)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated uint64 multipath_packets_recv_sequenced = 12;
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
          this_._internal_multipath_packets_recv_sequenced());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_multipath_packets_recv_sequenced_size());
      total_size += tag_size + data_size;
    }
    // repeated uint64 multipath_packets_recv_later = 13;
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
          this_._internal_multipath_packets_recv_later());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_multipath_packets_recv_later_size());
      total_size += tag_size + data_size;
    }
    // optional uint64 packets_sent = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_sent());
    }
    // optional uint64 kb_sent = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_kb_sent());
    }
    // optional uint64 packets_recv = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv());
    }
    // optional uint64 kb_recv = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_kb_recv());
    }
    // optional uint64 packets_recv_sequenced = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_sequenced());
    }
    // optional uint64 packets_recv_dropped = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_dropped());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // optional uint32 connected_seconds = 2;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_connected_seconds());
    }
    // optional uint32 multipath_send_enabled = 14;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_multipath_send_enabled());
    }
    // optional uint64 packets_recv_out_of_order = 9;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_out_of_order());
    }
    // optional uint64 packets_recv_duplicate = 10;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_duplicate());
    }
    // optional uint64 packets_recv_lurch = 11;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_lurch());
    }
    // optional uint64 packets_recv_out_of_order_corrected = 15;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_packets_recv_out_of_order_corrected());
    }
    // optional uint32 quality_histogram_100 = 21;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_100());
    }
    // optional uint32 quality_histogram_99 = 22;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_99());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // optional uint32 quality_histogram_97 = 23;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_97());
    }
    // optional uint32 quality_histogram_95 = 24;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_95());
    }
    // optional uint32 quality_histogram_90 = 25;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_90());
    }
    // optional uint32 quality_histogram_75 = 26;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_75());
    }
    // optional uint32 quality_histogram_50 = 27;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_50());
    }
    // optional uint32 quality_histogram_1 = 28;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_1());
    }
    // optional uint32 quality_histogram_dead = 29;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_histogram_dead());
    }
    // optional uint32 quality_ntile_2nd = 30;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_ntile_2nd());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    // optional uint32 quality_ntile_5th = 31;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_ntile_5th());
    }
    // optional uint32 quality_ntile_25th = 32;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_ntile_25th());
    }
    // optional uint32 quality_ntile_50th = 33;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_quality_ntile_50th());
    }
    // optional uint32 ping_ntile_5th = 50;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_ntile_5th());
    }
    // optional uint32 ping_ntile_50th = 51;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_ntile_50th());
    }
    // optional uint32 ping_ntile_75th = 52;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_ntile_75th());
    }
    // optional uint32 ping_histogram_25 = 41;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_25());
    }
    // optional uint32 ping_histogram_50 = 42;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_50());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional uint32 ping_histogram_75 = 43;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_75());
    }
    // optional uint32 ping_histogram_100 = 44;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_100());
    }
    // optional uint32 ping_histogram_125 = 45;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_125());
    }
    // optional uint32 ping_histogram_150 = 46;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_150());
    }
    // optional uint32 ping_histogram_200 = 47;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_200());
    }
    // optional uint32 ping_histogram_300 = 48;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_300());
    }
    // optional uint32 ping_histogram_max = 49;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_histogram_max());
    }
    // optional uint32 ping_ntile_95th = 53;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_ntile_95th());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // optional uint32 ping_ntile_98th = 54;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_ping_ntile_98th());
    }
    // optional uint32 jitter_histogram_negligible = 61;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_negligible());
    }
    // optional uint32 jitter_histogram_1 = 62;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_1());
    }
    // optional uint32 jitter_histogram_2 = 63;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_2());
    }
    // optional uint32 jitter_histogram_5 = 64;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_5());
    }
    // optional uint32 jitter_histogram_10 = 65;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_10());
    }
    // optional uint32 jitter_histogram_20 = 66;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_jitter_histogram_20());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_multipath_packets_recv_sequenced()->MergeFrom(from._internal_multipath_packets_recv_sequenced());
    }
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_multipath_packets_recv_later()->MergeFrom(from._internal_multipath_packets_recv_later());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.packets_sent_ = from._impl_.packets_sent_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.kb_sent_ = from._impl_.kb_sent_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.packets_recv_ = from._impl_.packets_recv_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.kb_recv_ = from._impl_.kb_recv_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.packets_recv_sequenced_ = from._impl_.packets_recv_sequenced_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.packets_recv_dropped_ = from._impl_.packets_recv_dropped_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.connected_seconds_ = from._impl_.connected_seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.multipath_send_enabled_ = from._impl_.multipath_send_enabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.packets_recv_out_of_order_ = from._impl_.packets_recv_out_of_order_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.packets_recv_duplicate_ = from._impl_.packets_recv_duplicate_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.packets_recv_lurch_ = from._impl_.packets_recv_lurch_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.packets_recv_out_of_order_corrected_ = from._impl_.packets_recv_out_of_order_corrected_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.quality_histogram_100_ = from._impl_.quality_histogram_100_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.quality_histogram_99_ = from._impl_.quality_histogram_99_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.quality_histogram_97_ = from._impl_.quality_histogram_97_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.quality_histogram_95_ = from._impl_.quality_histogram_95_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.quality_histogram_90_ = from._impl_.quality_histogram_90_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.quality_histogram_75_ = from._impl_.quality_histogram_75_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.quality_histogram_50_ = from._impl_.quality_histogram_50_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.quality_histogram_1_ = from._impl_.quality_histogram_1_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.quality_histogram_dead_ = from._impl_.quality_histogram_dead_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.quality_ntile_2nd_ = from._impl_.quality_ntile_2nd_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.quality_ntile_5th_ = from._impl_.quality_ntile_5th_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_impl_.quality_ntile_25th_ = from._impl_.quality_ntile_25th_;
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_impl_.quality_ntile_50th_ = from._impl_.quality_ntile_50th_;
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_impl_.ping_ntile_5th_ = from._impl_.ping_ntile_5th_;
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_impl_.ping_ntile_50th_ = from._impl_.ping_ntile_50th_;
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_impl_.ping_ntile_75th_ = from._impl_.ping_ntile_75th_;
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_impl_.ping_histogram_25_ = from._impl_.ping_histogram_25_;
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_impl_.ping_histogram_50_ = from._impl_.ping_histogram_50_;
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.ping_histogram_75_ = from._impl_.ping_histogram_75_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.ping_histogram_100_ = from._impl_.ping_histogram_100_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.ping_histogram_125_ = from._impl_.ping_histogram_125_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.ping_histogram_150_ = from._impl_.ping_histogram_150_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.ping_histogram_200_ = from._impl_.ping_histogram_200_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.ping_histogram_300_ = from._impl_.ping_histogram_300_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.ping_histogram_max_ = from._impl_.ping_histogram_max_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.ping_ntile_95th_ = from._impl_.ping_ntile_95th_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.ping_ntile_98th_ = from._impl_.ping_ntile_98th_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.jitter_histogram_negligible_ = from._impl_.jitter_histogram_negligible_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.jitter_histogram_1_ = from._impl_.jitter_histogram_1_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.jitter_histogram_2_ = from._impl_.jitter_histogram_2_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.jitter_histogram_5_ = from._impl_.jitter_histogram_5_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.jitter_histogram_10_ = from._impl_.jitter_histogram_10_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.jitter_histogram_20_ = from._impl_.jitter_histogram_20_;
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


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

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

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

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

CMsgSteamDatagramConnectionQuality::CMsgSteamDatagramConnectionQuality(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamDatagramConnectionQuality& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamDatagramConnectionQuality_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamDatagramConnectionQuality* 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_.instantaneous_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.instantaneous_)
                : nullptr;
  _impl_.lifetime_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.lifetime_)
                : nullptr;

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

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamDatagramConnectionQuality_class_data_ =
        CMsgSteamDatagramConnectionQuality::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamDatagramConnectionQuality::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamDatagramConnectionQuality_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamDatagramConnectionQuality_class_data_.tc_table);
  return CMsgSteamDatagramConnectionQuality_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
CMsgSteamDatagramConnectionQuality::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _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),
    CMsgSteamDatagramConnectionQuality_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamDatagramConnectionQuality>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _impl_.lifetime_)}},
    // optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _impl_.instantaneous_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _impl_.instantaneous_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _impl_.lifetime_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramLinkInstantaneousStats>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramLinkLifetimeStats>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamDatagramConnectionQuality::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamDatagramConnectionQuality)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.instantaneous_ != nullptr);
      _impl_.instantaneous_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.lifetime_ != nullptr);
      _impl_.lifetime_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.instantaneous_, this_._impl_.instantaneous_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.lifetime_, this_._impl_.lifetime_->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:CMsgSteamDatagramConnectionQuality)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamDatagramConnectionQuality::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamDatagramConnectionQuality& this_ = static_cast<const CMsgSteamDatagramConnectionQuality&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamDatagramConnectionQuality::ByteSizeLong() const {
  const CMsgSteamDatagramConnectionQuality& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamDatagramConnectionQuality)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.instantaneous_);
    }
    // optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.lifetime_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

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


void CMsgSteamDatagramConnectionQuality::InternalSwap(CMsgSteamDatagramConnectionQuality* 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(CMsgSteamDatagramConnectionQuality, _impl_.lifetime_)
      + sizeof(CMsgSteamDatagramConnectionQuality::_impl_.lifetime_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamDatagramConnectionQuality, _impl_.instantaneous_)>(
          reinterpret_cast<char*>(&_impl_.instantaneous_),
          reinterpret_cast<char*>(&other->_impl_.instantaneous_));
}

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

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

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

CMsgICECandidate::CMsgICECandidate(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgICECandidate& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgICECandidate_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgICECandidate* 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:CMsgICECandidate)
}
PROTOBUF_NDEBUG_INLINE CMsgICECandidate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        candidate_(arena) {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgICECandidate_class_data_ =
        CMsgICECandidate::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgICECandidate::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgICECandidate_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgICECandidate_class_data_.tc_table);
  return CMsgICECandidate_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
CMsgICECandidate::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgICECandidate, _impl_._has_bits_),
    0, // no _extensions_
    3, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967291,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgICECandidate_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgICECandidate>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string candidate = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgICECandidate, _impl_.candidate_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string candidate = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgICECandidate, _impl_.candidate_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgICECandidate::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgICECandidate)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.candidate_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string candidate = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_candidate();
    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:CMsgICECandidate)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgICECandidate::ByteSizeLong(const MessageLite& base) {
  const CMsgICECandidate& this_ = static_cast<const CMsgICECandidate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgICECandidate::ByteSizeLong() const {
  const CMsgICECandidate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgICECandidate)
  ::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 candidate = 3;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_candidate());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_candidate(from._internal_candidate());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgICECandidate::InternalSwap(CMsgICECandidate* 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_.candidate_, &other->_impl_.candidate_, arena);
}

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

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

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

CMsgICERendezvous_Auth::CMsgICERendezvous_Auth(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgICERendezvous_Auth& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgICERendezvous_Auth_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgICERendezvous_Auth* 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:CMsgICERendezvous.Auth)
}
PROTOBUF_NDEBUG_INLINE CMsgICERendezvous_Auth::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        pwd_frag_(arena) {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgICERendezvous_Auth_class_data_ =
        CMsgICERendezvous_Auth::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgICERendezvous_Auth::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgICERendezvous_Auth_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgICERendezvous_Auth_class_data_.tc_table);
  return CMsgICERendezvous_Auth_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
CMsgICERendezvous_Auth::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgICERendezvous_Auth, _impl_._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
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgICERendezvous_Auth_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgICERendezvous_Auth>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional string pwd_frag = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgICERendezvous_Auth, _impl_.pwd_frag_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string pwd_frag = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgICERendezvous_Auth, _impl_.pwd_frag_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgICERendezvous_Auth::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgICERendezvous.Auth)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.pwd_frag_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string pwd_frag = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_pwd_frag();
    target = stream->WriteStringMaybeAliased(1, _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:CMsgICERendezvous.Auth)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgICERendezvous_Auth::ByteSizeLong(const MessageLite& base) {
  const CMsgICERendezvous_Auth& this_ = static_cast<const CMsgICERendezvous_Auth&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgICERendezvous_Auth::ByteSizeLong() const {
  const CMsgICERendezvous_Auth& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgICERendezvous.Auth)
  ::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 pwd_frag = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_pwd_frag());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_pwd_frag(from._internal_pwd_frag());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgICERendezvous_Auth::InternalSwap(CMsgICERendezvous_Auth* 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_.pwd_frag_, &other->_impl_.pwd_frag_, arena);
}

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

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

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

CMsgICERendezvous::CMsgICERendezvous(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgICERendezvous& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgICERendezvous_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgICERendezvous* 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_.add_candidate_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.add_candidate_)
                : nullptr;
  _impl_.auth_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.auth_)
                : nullptr;

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

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgICERendezvous_class_data_ =
        CMsgICERendezvous::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgICERendezvous::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgICERendezvous_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgICERendezvous_class_data_.tc_table);
  return CMsgICERendezvous_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
CMsgICERendezvous::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _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),
    CMsgICERendezvous_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgICERendezvous>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .CMsgICERendezvous.Auth auth = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1,
      PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _impl_.auth_)}},
    // optional .CMsgICECandidate add_candidate = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _impl_.add_candidate_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgICECandidate add_candidate = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _impl_.add_candidate_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgICERendezvous.Auth auth = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _impl_.auth_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgICECandidate>()},
      {::_pbi::TcParser::GetTable<::CMsgICERendezvous_Auth>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgICERendezvous::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgICERendezvous)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.add_candidate_ != nullptr);
      _impl_.add_candidate_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.auth_ != nullptr);
      _impl_.auth_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgICECandidate add_candidate = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.add_candidate_, this_._impl_.add_candidate_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgICERendezvous.Auth auth = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.auth_, this_._impl_.auth_->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:CMsgICERendezvous)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgICERendezvous::ByteSizeLong(const MessageLite& base) {
  const CMsgICERendezvous& this_ = static_cast<const CMsgICERendezvous&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgICERendezvous::ByteSizeLong() const {
  const CMsgICERendezvous& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgICERendezvous)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .CMsgICECandidate add_candidate = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.add_candidate_);
    }
    // optional .CMsgICERendezvous.Auth auth = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.auth_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

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


void CMsgICERendezvous::InternalSwap(CMsgICERendezvous* 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(CMsgICERendezvous, _impl_.auth_)
      + sizeof(CMsgICERendezvous::_impl_.auth_)
      - PROTOBUF_FIELD_OFFSET(CMsgICERendezvous, _impl_.add_candidate_)>(
          reinterpret_cast<char*>(&_impl_.add_candidate_),
          reinterpret_cast<char*>(&other->_impl_.add_candidate_));
}

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

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

void CMsgSteamNetworkingP2PRendezvous_ConnectRequest::clear_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cert_ != nullptr) _impl_.cert_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
CMsgSteamNetworkingP2PRendezvous_ConnectRequest::CMsgSteamNetworkingP2PRendezvous_ConnectRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous_ConnectRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::CMsgSteamNetworkingP2PRendezvous_ConnectRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        from_fakeip_(arena, from.from_fakeip_) {}

CMsgSteamNetworkingP2PRendezvous_ConnectRequest::CMsgSteamNetworkingP2PRendezvous_ConnectRequest(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamNetworkingP2PRendezvous_ConnectRequest& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamNetworkingP2PRendezvous_ConnectRequest* 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_.crypt_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.crypt_)
                : nullptr;
  _impl_.cert_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.cert_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, to_virtual_port_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, to_virtual_port_),
           offsetof(Impl_, from_virtual_port_) -
               offsetof(Impl_, to_virtual_port_) +
               sizeof(Impl_::from_virtual_port_));

  // @@protoc_insertion_point(copy_constructor:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous_ConnectRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        from_fakeip_(arena) {}

inline void CMsgSteamNetworkingP2PRendezvous_ConnectRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, crypt_),
           0,
           offsetof(Impl_, from_virtual_port_) -
               offsetof(Impl_, crypt_) +
               sizeof(Impl_::from_virtual_port_));
}
CMsgSteamNetworkingP2PRendezvous_ConnectRequest::~CMsgSteamNetworkingP2PRendezvous_ConnectRequest() {
  // @@protoc_insertion_point(destructor:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
  SharedDtor(*this);
}
inline void CMsgSteamNetworkingP2PRendezvous_ConnectRequest::SharedDtor(MessageLite& self) {
  CMsgSteamNetworkingP2PRendezvous_ConnectRequest& this_ = static_cast<CMsgSteamNetworkingP2PRendezvous_ConnectRequest&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.from_fakeip_.Destroy();
  delete this_._impl_.crypt_;
  delete this_._impl_.cert_;
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_ =
        CMsgSteamNetworkingP2PRendezvous_ConnectRequest::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous_ConnectRequest::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2>
CMsgSteamNetworkingP2PRendezvous_ConnectRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_._has_bits_),
    0, // no _extensions_
    11, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965407,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    CMsgSteamNetworkingP2PRendezvous_ConnectRequest_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional uint32 to_virtual_port = 9;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.to_virtual_port_), 3>(),
     {72, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.to_virtual_port_)}},
    // optional uint32 from_virtual_port = 10;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_virtual_port_), 4>(),
     {80, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_virtual_port_)}},
    // optional string from_fakeip = 11;
    {::_pbi::TcParser::FastBS1,
     {90, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_fakeip_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.crypt_)}},
    // optional .CMsgSteamDatagramCertificateSigned cert = 7;
    {::_pbi::TcParser::FastMtS1,
     {58, 2, 1,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.cert_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.crypt_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgSteamDatagramCertificateSigned cert = 7;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.cert_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional uint32 to_virtual_port = 9;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.to_virtual_port_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 from_virtual_port = 10;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_virtual_port_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional string from_fakeip = 11;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_fakeip_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramSessionCryptInfoSigned>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramCertificateSigned>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous_ConnectRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.from_fakeip_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.crypt_ != nullptr);
      _impl_.crypt_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.cert_ != nullptr);
      _impl_.cert_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.to_virtual_port_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.from_virtual_port_) -
        reinterpret_cast<char*>(&_impl_.to_virtual_port_)) + sizeof(_impl_.from_virtual_port_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.crypt_, this_._impl_.crypt_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgSteamDatagramCertificateSigned cert = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.cert_, this_._impl_.cert_->GetCachedSize(), target,
        stream);
  }

  // optional uint32 to_virtual_port = 9;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this_._internal_to_virtual_port(), target);
  }

  // optional uint32 from_virtual_port = 10;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this_._internal_from_virtual_port(), target);
  }

  // optional string from_fakeip = 11;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_from_fakeip();
    target = stream->WriteStringMaybeAliased(11, _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:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectRequest::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous_ConnectRequest& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous_ConnectRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectRequest::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous_ConnectRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous.ConnectRequest)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // optional string from_fakeip = 11;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_from_fakeip());
    }
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.crypt_);
    }
    // optional .CMsgSteamDatagramCertificateSigned cert = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cert_);
    }
    // optional uint32 to_virtual_port = 9;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_to_virtual_port());
    }
    // optional uint32 from_virtual_port = 10;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_from_virtual_port());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_from_fakeip(from._internal_from_fakeip());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.crypt_ != nullptr);
      if (_this->_impl_.crypt_ == nullptr) {
        _this->_impl_.crypt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.crypt_);
      } else {
        _this->_impl_.crypt_->MergeFrom(*from._impl_.crypt_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.cert_ != nullptr);
      if (_this->_impl_.cert_ == nullptr) {
        _this->_impl_.cert_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.cert_);
      } else {
        _this->_impl_.cert_->MergeFrom(*from._impl_.cert_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.to_virtual_port_ = from._impl_.to_virtual_port_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.from_virtual_port_ = from._impl_.from_virtual_port_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamNetworkingP2PRendezvous_ConnectRequest::InternalSwap(CMsgSteamNetworkingP2PRendezvous_ConnectRequest* 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_.from_fakeip_, &other->_impl_.from_fakeip_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.from_virtual_port_)
      + sizeof(CMsgSteamNetworkingP2PRendezvous_ConnectRequest::_impl_.from_virtual_port_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectRequest, _impl_.crypt_)>(
          reinterpret_cast<char*>(&_impl_.crypt_),
          reinterpret_cast<char*>(&other->_impl_.crypt_));
}

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

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

void CMsgSteamNetworkingP2PRendezvous_ConnectOK::clear_cert() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cert_ != nullptr) _impl_.cert_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
CMsgSteamNetworkingP2PRendezvous_ConnectOK::CMsgSteamNetworkingP2PRendezvous_ConnectOK(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:CMsgSteamNetworkingP2PRendezvous.ConnectOK)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous_ConnectOK::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::CMsgSteamNetworkingP2PRendezvous_ConnectOK& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CMsgSteamNetworkingP2PRendezvous_ConnectOK::CMsgSteamNetworkingP2PRendezvous_ConnectOK(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamNetworkingP2PRendezvous_ConnectOK& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamNetworkingP2PRendezvous_ConnectOK* 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_.crypt_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.crypt_)
                : nullptr;
  _impl_.cert_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.cert_)
                : nullptr;

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

inline void CMsgSteamNetworkingP2PRendezvous_ConnectOK::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, crypt_),
           0,
           offsetof(Impl_, cert_) -
               offsetof(Impl_, crypt_) +
               sizeof(Impl_::cert_));
}
CMsgSteamNetworkingP2PRendezvous_ConnectOK::~CMsgSteamNetworkingP2PRendezvous_ConnectOK() {
  // @@protoc_insertion_point(destructor:CMsgSteamNetworkingP2PRendezvous.ConnectOK)
  SharedDtor(*this);
}
inline void CMsgSteamNetworkingP2PRendezvous_ConnectOK::SharedDtor(MessageLite& self) {
  CMsgSteamNetworkingP2PRendezvous_ConnectOK& this_ = static_cast<CMsgSteamNetworkingP2PRendezvous_ConnectOK&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.crypt_;
  delete this_._impl_.cert_;
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_ =
        CMsgSteamNetworkingP2PRendezvous_ConnectOK::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous_ConnectOK::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
CMsgSteamNetworkingP2PRendezvous_ConnectOK::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_._has_bits_),
    0, // no _extensions_
    6, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967247,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    CMsgSteamNetworkingP2PRendezvous_ConnectOK_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectOK>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .CMsgSteamDatagramCertificateSigned cert = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 1, 1,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.cert_)}},
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.crypt_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.crypt_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgSteamDatagramCertificateSigned cert = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.cert_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramSessionCryptInfoSigned>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamDatagramCertificateSigned>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous_ConnectOK::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous.ConnectOK)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.crypt_ != nullptr);
      _impl_.crypt_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.cert_ != nullptr);
      _impl_.cert_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.crypt_, this_._impl_.crypt_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgSteamDatagramCertificateSigned cert = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.cert_, this_._impl_.cert_->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:CMsgSteamNetworkingP2PRendezvous.ConnectOK)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectOK::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous_ConnectOK& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous_ConnectOK&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectOK::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous_ConnectOK& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous.ConnectOK)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.crypt_);
    }
    // optional .CMsgSteamDatagramCertificateSigned cert = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cert_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

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


void CMsgSteamNetworkingP2PRendezvous_ConnectOK::InternalSwap(CMsgSteamNetworkingP2PRendezvous_ConnectOK* 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(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.cert_)
      + sizeof(CMsgSteamNetworkingP2PRendezvous_ConnectOK::_impl_.cert_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectOK, _impl_.crypt_)>(
          reinterpret_cast<char*>(&_impl_.crypt_),
          reinterpret_cast<char*>(&other->_impl_.crypt_));
}

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:CMsgSteamNetworkingP2PRendezvous.ConnectionClosed)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        debug_(arena) {}

inline void CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.reason_code_ = {};
}
CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::~CMsgSteamNetworkingP2PRendezvous_ConnectionClosed() {
  // @@protoc_insertion_point(destructor:CMsgSteamNetworkingP2PRendezvous.ConnectionClosed)
  SharedDtor(*this);
}
inline void CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::SharedDtor(MessageLite& self) {
  CMsgSteamNetworkingP2PRendezvous_ConnectionClosed& this_ = static_cast<CMsgSteamNetworkingP2PRendezvous_ConnectionClosed&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.debug_.Destroy();
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_class_data_ =
        CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_._has_bits_),
    0, // no _extensions_
    6, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967247,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgSteamNetworkingP2PRendezvous_ConnectionClosed_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional uint32 reason_code = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.reason_code_), 1>(),
     {48, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.reason_code_)}},
    // optional string debug = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.debug_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional string debug = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.debug_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional uint32 reason_code = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed, _impl_.reason_code_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous.ConnectionClosed)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.debug_.ClearNonDefaultToEmpty();
  }
  _impl_.reason_code_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string debug = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_debug();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // optional uint32 reason_code = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_reason_code(), 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:CMsgSteamNetworkingP2PRendezvous.ConnectionClosed)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous_ConnectionClosed& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous_ConnectionClosed&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous_ConnectionClosed& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous.ConnectionClosed)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string debug = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_debug());
    }
    // optional uint32 reason_code = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_reason_code());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_debug(from._internal_debug());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.reason_code_ = from._impl_.reason_code_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamNetworkingP2PRendezvous_ConnectionClosed::InternalSwap(CMsgSteamNetworkingP2PRendezvous_ConnectionClosed* 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_.debug_, &other->_impl_.debug_, arena);
  swap(_impl_.reason_code_, other->_impl_.reason_code_);
}

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

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

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

CMsgSteamNetworkingP2PRendezvous_ReliableMessage::CMsgSteamNetworkingP2PRendezvous_ReliableMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamNetworkingP2PRendezvous_ReliableMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamNetworkingP2PRendezvous_ReliableMessage* 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_.ice_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.ice_)
                : nullptr;

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

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_ =
        CMsgSteamNetworkingP2PRendezvous_ReliableMessage::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous_ReliableMessage::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
CMsgSteamNetworkingP2PRendezvous_ReliableMessage::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ReliableMessage, _impl_._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),
    CMsgSteamNetworkingP2PRendezvous_ReliableMessage_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ReliableMessage>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional .CMsgICERendezvous ice = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ReliableMessage, _impl_.ice_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional .CMsgICERendezvous ice = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ReliableMessage, _impl_.ice_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgICERendezvous>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous_ReliableMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous.ReliableMessage)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.ice_ != nullptr);
    _impl_.ice_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .CMsgICERendezvous ice = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.ice_, this_._impl_.ice_->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:CMsgSteamNetworkingP2PRendezvous.ReliableMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous_ReliableMessage::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous_ReliableMessage& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous_ReliableMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous_ReliableMessage::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous_ReliableMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous.ReliableMessage)
  ::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 .CMsgICERendezvous ice = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ice_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

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

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


void CMsgSteamNetworkingP2PRendezvous_ReliableMessage::InternalSwap(CMsgSteamNetworkingP2PRendezvous_ReliableMessage* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.ice_, other->_impl_.ice_);
}

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

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

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

CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamNetworkingP2PRendezvous_ApplicationMessage& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamNetworkingP2PRendezvous_ApplicationMessage* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, msg_num_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, msg_num_),
           offsetof(Impl_, lane_idx_) -
               offsetof(Impl_, msg_num_) +
               sizeof(Impl_::lane_idx_));

  // @@protoc_insertion_point(copy_constructor:CMsgSteamNetworkingP2PRendezvous.ApplicationMessage)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        data_(arena) {}

inline void CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, msg_num_),
           0,
           offsetof(Impl_, lane_idx_) -
               offsetof(Impl_, msg_num_) +
               sizeof(Impl_::lane_idx_));
}
CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::~CMsgSteamNetworkingP2PRendezvous_ApplicationMessage() {
  // @@protoc_insertion_point(destructor:CMsgSteamNetworkingP2PRendezvous.ApplicationMessage)
  SharedDtor(*this);
}
inline void CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::SharedDtor(MessageLite& self) {
  CMsgSteamNetworkingP2PRendezvous_ApplicationMessage& this_ = static_cast<CMsgSteamNetworkingP2PRendezvous_ApplicationMessage&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.data_.Destroy();
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_ =
        CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgSteamNetworkingP2PRendezvous_ApplicationMessage_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional uint32 lane_idx = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.lane_idx_), 3>(),
     {32, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.lane_idx_)}},
    // optional bytes data = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.data_)}},
    // optional uint64 msg_num = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.msg_num_), 1>(),
     {16, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.msg_num_)}},
    // optional uint32 flags = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.flags_), 2>(),
     {24, 2, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.flags_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional bytes data = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.data_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional uint64 msg_num = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.msg_num_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    // optional uint32 flags = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.flags_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 lane_idx = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.lane_idx_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous.ApplicationMessage)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.data_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.msg_num_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.lane_idx_) -
        reinterpret_cast<char*>(&_impl_.msg_num_)) + sizeof(_impl_.lane_idx_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bytes data = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_data();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // optional uint64 msg_num = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_msg_num(), target);
  }

  // optional uint32 flags = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_flags(), target);
  }

  // optional uint32 lane_idx = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_lane_idx(), 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:CMsgSteamNetworkingP2PRendezvous.ApplicationMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous_ApplicationMessage& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous_ApplicationMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous_ApplicationMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous.ApplicationMessage)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // optional bytes data = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_data());
    }
    // optional uint64 msg_num = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_msg_num());
    }
    // optional uint32 flags = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_flags());
    }
    // optional uint32 lane_idx = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_lane_idx());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_data(from._internal_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.msg_num_ = from._impl_.msg_num_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.flags_ = from._impl_.flags_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.lane_idx_ = from._impl_.lane_idx_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::InternalSwap(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage* 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_.data_, &other->_impl_.data_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.lane_idx_)
      + sizeof(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage::_impl_.lane_idx_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous_ApplicationMessage, _impl_.msg_num_)>(
          reinterpret_cast<char*>(&_impl_.msg_num_),
          reinterpret_cast<char*>(&other->_impl_.msg_num_));
}

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

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

CMsgSteamNetworkingP2PRendezvous::CMsgSteamNetworkingP2PRendezvous(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:CMsgSteamNetworkingP2PRendezvous)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::CMsgSteamNetworkingP2PRendezvous& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        reliable_messages_{visibility, arena, from.reliable_messages_},
        application_messages_{visibility, arena, from.application_messages_},
        sdr_routes_(arena, from.sdr_routes_),
        from_identity_(arena, from.from_identity_),
        to_identity_(arena, from.to_identity_),
        hosted_server_ticket_(arena, from.hosted_server_ticket_) {}

CMsgSteamNetworkingP2PRendezvous::CMsgSteamNetworkingP2PRendezvous(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CMsgSteamNetworkingP2PRendezvous& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingP2PRendezvous_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CMsgSteamNetworkingP2PRendezvous* 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_.connect_request_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connect_request_)
                : nullptr;
  _impl_.connect_ok_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connect_ok_)
                : nullptr;
  _impl_.connection_closed_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connection_closed_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, to_connection_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, to_connection_id_),
           offsetof(Impl_, first_reliable_msg_) -
               offsetof(Impl_, to_connection_id_) +
               sizeof(Impl_::first_reliable_msg_));

  // @@protoc_insertion_point(copy_constructor:CMsgSteamNetworkingP2PRendezvous)
}
PROTOBUF_NDEBUG_INLINE CMsgSteamNetworkingP2PRendezvous::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        reliable_messages_{visibility, arena},
        application_messages_{visibility, arena},
        sdr_routes_(arena),
        from_identity_(arena),
        to_identity_(arena),
        hosted_server_ticket_(arena) {}

inline void CMsgSteamNetworkingP2PRendezvous::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, connect_request_),
           0,
           offsetof(Impl_, first_reliable_msg_) -
               offsetof(Impl_, connect_request_) +
               sizeof(Impl_::first_reliable_msg_));
}
CMsgSteamNetworkingP2PRendezvous::~CMsgSteamNetworkingP2PRendezvous() {
  // @@protoc_insertion_point(destructor:CMsgSteamNetworkingP2PRendezvous)
  SharedDtor(*this);
}
inline void CMsgSteamNetworkingP2PRendezvous::SharedDtor(MessageLite& self) {
  CMsgSteamNetworkingP2PRendezvous& this_ = static_cast<CMsgSteamNetworkingP2PRendezvous&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.sdr_routes_.Destroy();
  this_._impl_.from_identity_.Destroy();
  this_._impl_.to_identity_.Destroy();
  this_._impl_.hosted_server_ticket_.Destroy();
  delete this_._impl_.connect_request_;
  delete this_._impl_.connect_ok_;
  delete this_._impl_.connection_closed_;
  this_._impl_.~Impl_();
}

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingP2PRendezvous_class_data_ =
        CMsgSteamNetworkingP2PRendezvous::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingP2PRendezvous::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingP2PRendezvous_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingP2PRendezvous_class_data_.tc_table);
  return CMsgSteamNetworkingP2PRendezvous_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 15, 5, 0, 2>
CMsgSteamNetworkingP2PRendezvous::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_._has_bits_),
    0, // no _extensions_
    15, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294934528,  // skipmap
    offsetof(decltype(_table_), field_entries),
    15,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    CMsgSteamNetworkingP2PRendezvous_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // optional fixed32 to_connection_id = 1;
    {::_pbi::TcParser::FastF32S1,
     {13, 9, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.to_connection_id_)}},
    // optional bytes sdr_routes = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 2, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.sdr_routes_)}},
    // optional uint32 ack_peer_routes_revision = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_peer_routes_revision_), 10>(),
     {24, 10, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_peer_routes_revision_)}},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 6, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connect_request_)}},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 7, 1,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connect_ok_)}},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 8, 2,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connection_closed_)}},
    // optional bool ice_enabled = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CMsgSteamNetworkingP2PRendezvous, _impl_.ice_enabled_), 11>(),
     {56, 11, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ice_enabled_)}},
    // optional string from_identity = 8;
    {::_pbi::TcParser::FastBS1,
     {66, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.from_identity_)}},
    // optional fixed32 from_connection_id = 9;
    {::_pbi::TcParser::FastF32S1,
     {77, 12, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.from_connection_id_)}},
    // optional string to_identity = 10;
    {::_pbi::TcParser::FastBS1,
     {82, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.to_identity_)}},
    // optional uint32 ack_reliable_msg = 11;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_reliable_msg_), 13>(),
     {88, 13, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_reliable_msg_)}},
    // optional uint32 first_reliable_msg = 12;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingP2PRendezvous, _impl_.first_reliable_msg_), 14>(),
     {96, 14, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.first_reliable_msg_)}},
    // repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
    {::_pbi::TcParser::FastMtR1,
     {106, 0, 3,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.reliable_messages_)}},
    // optional bytes hosted_server_ticket = 14;
    {::_pbi::TcParser::FastBS1,
     {114, 5, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.hosted_server_ticket_)}},
    // repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
    {::_pbi::TcParser::FastMtR1,
     {122, 1, 4,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.application_messages_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional fixed32 to_connection_id = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.to_connection_id_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    // optional bytes sdr_routes = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.sdr_routes_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional uint32 ack_peer_routes_revision = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_peer_routes_revision_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connect_request_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connect_ok_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connection_closed_), _Internal::kHasBitsOffset + 8, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional bool ice_enabled = 7;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ice_enabled_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    // optional string from_identity = 8;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.from_identity_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional fixed32 from_connection_id = 9;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.from_connection_id_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    // optional string to_identity = 10;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.to_identity_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // optional uint32 ack_reliable_msg = 11;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.ack_reliable_msg_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 first_reliable_msg = 12;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.first_reliable_msg_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.reliable_messages_), _Internal::kHasBitsOffset + 0, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // optional bytes hosted_server_ticket = 14;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.hosted_server_ticket_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    // repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.application_messages_), _Internal::kHasBitsOffset + 1, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }},
  {{
      {::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectRequest>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectOK>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ConnectionClosed>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ReliableMessage>()},
      {::_pbi::TcParser::GetTable<::CMsgSteamNetworkingP2PRendezvous_ApplicationMessage>()},
  }},
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingP2PRendezvous::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingP2PRendezvous)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _impl_.reliable_messages_.Clear();
    }
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      _impl_.application_messages_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.sdr_routes_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.from_identity_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.to_identity_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.hosted_server_ticket_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.connect_request_ != nullptr);
      _impl_.connect_request_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.connect_ok_ != nullptr);
      _impl_.connect_ok_->Clear();
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    ABSL_DCHECK(_impl_.connection_closed_ != nullptr);
    _impl_.connection_closed_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007e00U)) {
    ::memset(&_impl_.to_connection_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.first_reliable_msg_) -
        reinterpret_cast<char*>(&_impl_.to_connection_id_)) + sizeof(_impl_.first_reliable_msg_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional fixed32 to_connection_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        1, this_._internal_to_connection_id(), target);
  }

  // optional bytes sdr_routes = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_sdr_routes();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // optional uint32 ack_peer_routes_revision = 3;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_ack_peer_routes_revision(), target);
  }

  // optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.connect_request_, this_._impl_.connect_request_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.connect_ok_, this_._impl_.connect_ok_->GetCachedSize(), target,
        stream);
  }

  // optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.connection_closed_, this_._impl_.connection_closed_->GetCachedSize(), target,
        stream);
  }

  // optional bool ice_enabled = 7;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_ice_enabled(), target);
  }

  // optional string from_identity = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_from_identity();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // optional fixed32 from_connection_id = 9;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        9, this_._internal_from_connection_id(), target);
  }

  // optional string to_identity = 10;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_to_identity();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // optional uint32 ack_reliable_msg = 11;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        11, this_._internal_ack_reliable_msg(), target);
  }

  // optional uint32 first_reliable_msg = 12;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this_._internal_first_reliable_msg(), target);
  }

  // repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
  if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_reliable_messages_size());
         i < n; i++) {
      const auto& repfield = this_._internal_reliable_messages().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              13, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional bytes hosted_server_ticket = 14;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_hosted_server_ticket();
    target = stream->WriteBytesMaybeAliased(14, _s, target);
  }

  // repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
  if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_application_messages_size());
         i < n; i++) {
      const auto& repfield = this_._internal_application_messages().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              15, 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:CMsgSteamNetworkingP2PRendezvous)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingP2PRendezvous::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingP2PRendezvous& this_ = static_cast<const CMsgSteamNetworkingP2PRendezvous&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingP2PRendezvous::ByteSizeLong() const {
  const CMsgSteamNetworkingP2PRendezvous& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingP2PRendezvous)
  ::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];
  total_size += ::absl::popcount(0x00001200U & cached_has_bits) * 5;
  total_size += static_cast<bool>(0x00000800U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_reliable_messages_size();
      for (const auto& msg : this_._internal_reliable_messages()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_application_messages_size();
      for (const auto& msg : this_._internal_application_messages()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional bytes sdr_routes = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_sdr_routes());
    }
    // optional string from_identity = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_from_identity());
    }
    // optional string to_identity = 10;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_to_identity());
    }
    // optional bytes hosted_server_ticket = 14;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_hosted_server_ticket());
    }
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.connect_request_);
    }
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.connect_ok_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00006500U)) {
    // optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.connection_closed_);
    }
    // optional uint32 ack_peer_routes_revision = 3;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ack_peer_routes_revision());
    }
    // optional uint32 ack_reliable_msg = 11;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ack_reliable_msg());
    }
    // optional uint32 first_reliable_msg = 12;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_first_reliable_msg());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_reliable_messages()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_reliable_messages());
    }
    if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_application_messages()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_application_messages());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_sdr_routes(from._internal_sdr_routes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_from_identity(from._internal_from_identity());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_to_identity(from._internal_to_identity());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_hosted_server_ticket(from._internal_hosted_server_ticket());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.connect_request_ != nullptr);
      if (_this->_impl_.connect_request_ == nullptr) {
        _this->_impl_.connect_request_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connect_request_);
      } else {
        _this->_impl_.connect_request_->MergeFrom(*from._impl_.connect_request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.connect_ok_ != nullptr);
      if (_this->_impl_.connect_ok_ == nullptr) {
        _this->_impl_.connect_ok_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connect_ok_);
      } else {
        _this->_impl_.connect_ok_->MergeFrom(*from._impl_.connect_ok_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.connection_closed_ != nullptr);
      if (_this->_impl_.connection_closed_ == nullptr) {
        _this->_impl_.connection_closed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.connection_closed_);
      } else {
        _this->_impl_.connection_closed_->MergeFrom(*from._impl_.connection_closed_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.to_connection_id_ = from._impl_.to_connection_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.ack_peer_routes_revision_ = from._impl_.ack_peer_routes_revision_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.ice_enabled_ = from._impl_.ice_enabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.from_connection_id_ = from._impl_.from_connection_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.ack_reliable_msg_ = from._impl_.ack_reliable_msg_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.first_reliable_msg_ = from._impl_.first_reliable_msg_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamNetworkingP2PRendezvous::InternalSwap(CMsgSteamNetworkingP2PRendezvous* 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_.reliable_messages_.InternalSwap(&other->_impl_.reliable_messages_);
  _impl_.application_messages_.InternalSwap(&other->_impl_.application_messages_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sdr_routes_, &other->_impl_.sdr_routes_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.from_identity_, &other->_impl_.from_identity_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.to_identity_, &other->_impl_.to_identity_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.hosted_server_ticket_, &other->_impl_.hosted_server_ticket_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.first_reliable_msg_)
      + sizeof(CMsgSteamNetworkingP2PRendezvous::_impl_.first_reliable_msg_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingP2PRendezvous, _impl_.connect_request_)>(
          reinterpret_cast<char*>(&_impl_.connect_request_),
          reinterpret_cast<char*>(&other->_impl_.connect_request_));
}

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

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

CMsgSteamNetworkingICESessionSummary::CMsgSteamNetworkingICESessionSummary(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingICESessionSummary_class_data_.base()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:CMsgSteamNetworkingICESessionSummary)
}
CMsgSteamNetworkingICESessionSummary::CMsgSteamNetworkingICESessionSummary(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CMsgSteamNetworkingICESessionSummary& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CMsgSteamNetworkingICESessionSummary_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 CMsgSteamNetworkingICESessionSummary::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

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

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CMsgSteamNetworkingICESessionSummary_class_data_ =
        CMsgSteamNetworkingICESessionSummary::InternalGenerateClassData_();

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CMsgSteamNetworkingICESessionSummary::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CMsgSteamNetworkingICESessionSummary_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CMsgSteamNetworkingICESessionSummary_class_data_.tc_table);
  return CMsgSteamNetworkingICESessionSummary_class_data_.base();
}
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 15, 0, 0, 2>
CMsgSteamNetworkingICESessionSummary::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_._has_bits_),
    0, // no _extensions_
    19, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294444928,  // skipmap
    offsetof(decltype(_table_), field_entries),
    15,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    CMsgSteamNetworkingICESessionSummary_class_data_.base(),
    nullptr,  // post_loop_handler
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::CMsgSteamNetworkingICESessionSummary>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // optional uint32 best_route_kind = 16;
    {::_pbi::TcParser::FastV32S2,
     {384, 11, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.best_route_kind_)}},
    // optional uint32 local_candidate_types = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_), 0>(),
     {8, 0, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_)}},
    // optional uint32 remote_candidate_types = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.remote_candidate_types_), 1>(),
     {16, 1, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.remote_candidate_types_)}},
    // optional uint32 initial_route_kind = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.initial_route_kind_), 2>(),
     {24, 2, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_route_kind_)}},
    // optional uint32 initial_ping = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.initial_ping_), 3>(),
     {32, 3, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_ping_)}},
    // optional uint32 negotiation_ms = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.negotiation_ms_), 4>(),
     {40, 4, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.negotiation_ms_)}},
    // optional uint32 initial_score = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.initial_score_), 5>(),
     {48, 5, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_score_)}},
    // optional uint32 failure_reason_code = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.failure_reason_code_), 6>(),
     {56, 6, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.failure_reason_code_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // optional uint32 selected_seconds = 12;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.selected_seconds_), 7>(),
     {96, 7, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.selected_seconds_)}},
    // optional uint32 user_settings = 13;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.user_settings_), 8>(),
     {104, 8, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.user_settings_)}},
    // optional uint32 ice_enable_var = 14;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.ice_enable_var_), 9>(),
     {112, 9, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.ice_enable_var_)}},
    // optional uint32 local_candidate_types_allowed = 15;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_allowed_), 10>(),
     {120, 10, 0,
      PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_allowed_)}},
  }}, {{
    65535, 65535
  }}, {{
    // optional uint32 local_candidate_types = 1;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 remote_candidate_types = 2;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.remote_candidate_types_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 initial_route_kind = 3;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_route_kind_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 initial_ping = 4;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_ping_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 negotiation_ms = 5;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.negotiation_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 initial_score = 6;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.initial_score_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 failure_reason_code = 7;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.failure_reason_code_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 selected_seconds = 12;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.selected_seconds_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 user_settings = 13;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.user_settings_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 ice_enable_var = 14;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.ice_enable_var_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 local_candidate_types_allowed = 15;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_allowed_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 best_route_kind = 16;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.best_route_kind_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 best_ping = 17;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.best_ping_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 best_score = 18;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.best_score_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    // optional uint32 best_time = 19;
    {PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.best_time_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
  }},
  // no aux_entries
  {{
  }},
};
PROTOBUF_NOINLINE void CMsgSteamNetworkingICESessionSummary::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSteamNetworkingICESessionSummary)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.local_candidate_types_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.selected_seconds_) -
        reinterpret_cast<char*>(&_impl_.local_candidate_types_)) + sizeof(_impl_.selected_seconds_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.user_settings_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.best_time_) -
        reinterpret_cast<char*>(&_impl_.user_settings_)) + sizeof(_impl_.best_time_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 local_candidate_types = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_local_candidate_types(), target);
  }

  // optional uint32 remote_candidate_types = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_remote_candidate_types(), target);
  }

  // optional uint32 initial_route_kind = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_initial_route_kind(), target);
  }

  // optional uint32 initial_ping = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_initial_ping(), target);
  }

  // optional uint32 negotiation_ms = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_negotiation_ms(), target);
  }

  // optional uint32 initial_score = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_initial_score(), target);
  }

  // optional uint32 failure_reason_code = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_failure_reason_code(), target);
  }

  // optional uint32 selected_seconds = 12;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this_._internal_selected_seconds(), target);
  }

  // optional uint32 user_settings = 13;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        13, this_._internal_user_settings(), target);
  }

  // optional uint32 ice_enable_var = 14;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        14, this_._internal_ice_enable_var(), target);
  }

  // optional uint32 local_candidate_types_allowed = 15;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this_._internal_local_candidate_types_allowed(), target);
  }

  // optional uint32 best_route_kind = 16;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this_._internal_best_route_kind(), target);
  }

  // optional uint32 best_ping = 17;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        17, this_._internal_best_ping(), target);
  }

  // optional uint32 best_score = 18;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        18, this_._internal_best_score(), target);
  }

  // optional uint32 best_time = 19;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        19, this_._internal_best_time(), 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:CMsgSteamNetworkingICESessionSummary)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CMsgSteamNetworkingICESessionSummary::ByteSizeLong(const MessageLite& base) {
  const CMsgSteamNetworkingICESessionSummary& this_ = static_cast<const CMsgSteamNetworkingICESessionSummary&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CMsgSteamNetworkingICESessionSummary::ByteSizeLong() const {
  const CMsgSteamNetworkingICESessionSummary& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:CMsgSteamNetworkingICESessionSummary)
  ::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 (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional uint32 local_candidate_types = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_local_candidate_types());
    }
    // optional uint32 remote_candidate_types = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_remote_candidate_types());
    }
    // optional uint32 initial_route_kind = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_initial_route_kind());
    }
    // optional uint32 initial_ping = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_initial_ping());
    }
    // optional uint32 negotiation_ms = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_negotiation_ms());
    }
    // optional uint32 initial_score = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_initial_score());
    }
    // optional uint32 failure_reason_code = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_failure_reason_code());
    }
    // optional uint32 selected_seconds = 12;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_selected_seconds());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // optional uint32 user_settings = 13;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_user_settings());
    }
    // optional uint32 ice_enable_var = 14;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ice_enable_var());
    }
    // optional uint32 local_candidate_types_allowed = 15;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_local_candidate_types_allowed());
    }
    // optional uint32 best_route_kind = 16;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_best_route_kind());
    }
    // optional uint32 best_ping = 17;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_best_ping());
    }
    // optional uint32 best_score = 18;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_best_score());
    }
    // optional uint32 best_time = 19;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_best_time());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.local_candidate_types_ = from._impl_.local_candidate_types_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.remote_candidate_types_ = from._impl_.remote_candidate_types_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.initial_route_kind_ = from._impl_.initial_route_kind_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.initial_ping_ = from._impl_.initial_ping_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.negotiation_ms_ = from._impl_.negotiation_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.initial_score_ = from._impl_.initial_score_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.failure_reason_code_ = from._impl_.failure_reason_code_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.selected_seconds_ = from._impl_.selected_seconds_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.user_settings_ = from._impl_.user_settings_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.ice_enable_var_ = from._impl_.ice_enable_var_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.local_candidate_types_allowed_ = from._impl_.local_candidate_types_allowed_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.best_route_kind_ = from._impl_.best_route_kind_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.best_ping_ = from._impl_.best_ping_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.best_score_ = from._impl_.best_score_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.best_time_ = from._impl_.best_time_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CMsgSteamNetworkingICESessionSummary::InternalSwap(CMsgSteamNetworkingICESessionSummary* 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(CMsgSteamNetworkingICESessionSummary, _impl_.best_time_)
      + sizeof(CMsgSteamNetworkingICESessionSummary::_impl_.best_time_)
      - PROTOBUF_FIELD_OFFSET(CMsgSteamNetworkingICESessionSummary, _impl_.local_candidate_types_)>(
          reinterpret_cast<char*>(&_impl_.local_candidate_types_),
          reinterpret_cast<char*>(&other->_impl_.local_candidate_types_));
}

::google::protobuf::Metadata CMsgSteamNetworkingICESessionSummary::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
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_steamnetworkingsockets_5fmessages_2eproto),
         ::std::false_type{});
#include "google/protobuf/port_undef.inc"
