// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: gcsdk_gcmessages.proto

#include "gcsdk_gcmessages.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.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)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

PROTOBUF_CONSTEXPR CMsgSOIDOwner::CMsgSOIDOwner(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.id_)*/uint64_t{0u}
  , /*decltype(_impl_.type_)*/0u} {}
struct CMsgSOIDOwnerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOIDOwnerDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOIDOwnerDefaultTypeInternal() {}
  union {
    CMsgSOIDOwner _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOIDOwnerDefaultTypeInternal _CMsgSOIDOwner_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOSingleObject::CMsgSOSingleObject(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.object_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.owner_soid_)*/nullptr
  , /*decltype(_impl_.version_)*/uint64_t{0u}
  , /*decltype(_impl_.type_id_)*/0} {}
struct CMsgSOSingleObjectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOSingleObjectDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOSingleObjectDefaultTypeInternal() {}
  union {
    CMsgSOSingleObject _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOSingleObjectDefaultTypeInternal _CMsgSOSingleObject_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOMultipleObjects_SingleObject::CMsgSOMultipleObjects_SingleObject(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.object_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.type_id_)*/0} {}
struct CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal() {}
  union {
    CMsgSOMultipleObjects_SingleObject _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal _CMsgSOMultipleObjects_SingleObject_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOMultipleObjects::CMsgSOMultipleObjects(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.objects_modified_)*/{}
  , /*decltype(_impl_.owner_soid_)*/nullptr
  , /*decltype(_impl_.version_)*/uint64_t{0u}} {}
struct CMsgSOMultipleObjectsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOMultipleObjectsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOMultipleObjectsDefaultTypeInternal() {}
  union {
    CMsgSOMultipleObjects _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOMultipleObjectsDefaultTypeInternal _CMsgSOMultipleObjects_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheSubscribed_SubscribedType::CMsgSOCacheSubscribed_SubscribedType(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.object_data_)*/{}
  , /*decltype(_impl_.type_id_)*/0} {}
struct CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal() {}
  union {
    CMsgSOCacheSubscribed_SubscribedType _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal _CMsgSOCacheSubscribed_SubscribedType_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheSubscribed::CMsgSOCacheSubscribed(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.objects_)*/{}
  , /*decltype(_impl_.owner_soid_)*/nullptr
  , /*decltype(_impl_.version_)*/uint64_t{0u}} {}
struct CMsgSOCacheSubscribedDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheSubscribedDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheSubscribedDefaultTypeInternal() {}
  union {
    CMsgSOCacheSubscribed _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheSubscribedDefaultTypeInternal _CMsgSOCacheSubscribed_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheUnsubscribed::CMsgSOCacheUnsubscribed(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.owner_soid_)*/nullptr} {}
struct CMsgSOCacheUnsubscribedDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheUnsubscribedDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheUnsubscribedDefaultTypeInternal() {}
  union {
    CMsgSOCacheUnsubscribed _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheUnsubscribedDefaultTypeInternal _CMsgSOCacheUnsubscribed_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionCheck::CMsgSOCacheSubscriptionCheck(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.owner_soid_)*/nullptr
  , /*decltype(_impl_.version_)*/uint64_t{0u}} {}
struct CMsgSOCacheSubscriptionCheckDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionCheckDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheSubscriptionCheckDefaultTypeInternal() {}
  union {
    CMsgSOCacheSubscriptionCheck _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheSubscriptionCheckDefaultTypeInternal _CMsgSOCacheSubscriptionCheck_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionRefresh::CMsgSOCacheSubscriptionRefresh(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.owner_soid_)*/nullptr} {}
struct CMsgSOCacheSubscriptionRefreshDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionRefreshDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheSubscriptionRefreshDefaultTypeInternal() {}
  union {
    CMsgSOCacheSubscriptionRefresh _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheSubscriptionRefreshDefaultTypeInternal _CMsgSOCacheSubscriptionRefresh_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheVersion::CMsgSOCacheVersion(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.version_)*/uint64_t{0u}} {}
struct CMsgSOCacheVersionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheVersionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheVersionDefaultTypeInternal() {}
  union {
    CMsgSOCacheVersion _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheVersionDefaultTypeInternal _CMsgSOCacheVersion_default_instance_;
PROTOBUF_CONSTEXPR CMsgAccountDetails::CMsgAccountDetails(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.account_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.valid_)*/false
  , /*decltype(_impl_.public_profile_)*/false
  , /*decltype(_impl_.public_inventory_)*/false
  , /*decltype(_impl_.vac_banned_)*/false
  , /*decltype(_impl_.cyber_cafe_)*/false
  , /*decltype(_impl_.school_account_)*/false
  , /*decltype(_impl_.free_trial_account_)*/false
  , /*decltype(_impl_.subscribed_)*/false
  , /*decltype(_impl_.low_violence_)*/false
  , /*decltype(_impl_.limited_)*/false
  , /*decltype(_impl_.trusted_)*/false
  , /*decltype(_impl_.account_locked_)*/false
  , /*decltype(_impl_.package_)*/0u
  , /*decltype(_impl_.time_cached_)*/0u
  , /*decltype(_impl_.community_banned_)*/false
  , /*decltype(_impl_.trade_banned_)*/false
  , /*decltype(_impl_.eligible_for_community_market_)*/false} {}
struct CMsgAccountDetailsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgAccountDetailsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgAccountDetailsDefaultTypeInternal() {}
  union {
    CMsgAccountDetails _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgAccountDetailsDefaultTypeInternal _CMsgAccountDetails_default_instance_;
PROTOBUF_CONSTEXPR CMsgGCMultiplexMessage::CMsgGCMultiplexMessage(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.steamids_)*/{}
  , /*decltype(_impl_.payload_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.msgtype_)*/0u
  , /*decltype(_impl_.replytogc_)*/false} {}
struct CMsgGCMultiplexMessageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgGCMultiplexMessageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgGCMultiplexMessageDefaultTypeInternal() {}
  union {
    CMsgGCMultiplexMessage _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgGCMultiplexMessageDefaultTypeInternal _CMsgGCMultiplexMessage_default_instance_;
PROTOBUF_CONSTEXPR CMsgGCMultiplexMessage_Response::CMsgGCMultiplexMessage_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.msgtype_)*/0u} {}
struct CMsgGCMultiplexMessage_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgGCMultiplexMessage_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgGCMultiplexMessage_ResponseDefaultTypeInternal() {}
  union {
    CMsgGCMultiplexMessage_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgGCMultiplexMessage_ResponseDefaultTypeInternal _CMsgGCMultiplexMessage_Response_default_instance_;
PROTOBUF_CONSTEXPR CGCToGCMsgMasterAck::CGCToGCMsgMasterAck(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.dir_index_)*/0u
  , /*decltype(_impl_.gc_type_)*/0u} {}
struct CGCToGCMsgMasterAckDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGCToGCMsgMasterAckDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGCToGCMsgMasterAckDefaultTypeInternal() {}
  union {
    CGCToGCMsgMasterAck _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGCToGCMsgMasterAckDefaultTypeInternal _CGCToGCMsgMasterAck_default_instance_;
PROTOBUF_CONSTEXPR CGCToGCMsgMasterAck_Response::CGCToGCMsgMasterAck_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.eresult_)*/2} {}
struct CGCToGCMsgMasterAck_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGCToGCMsgMasterAck_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGCToGCMsgMasterAck_ResponseDefaultTypeInternal() {}
  union {
    CGCToGCMsgMasterAck_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGCToGCMsgMasterAck_ResponseDefaultTypeInternal _CGCToGCMsgMasterAck_Response_default_instance_;
PROTOBUF_CONSTEXPR CGCToGCMsgMasterStartupComplete::CGCToGCMsgMasterStartupComplete(
    ::_pbi::ConstantInitialized) {}
struct CGCToGCMsgMasterStartupCompleteDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGCToGCMsgMasterStartupCompleteDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGCToGCMsgMasterStartupCompleteDefaultTypeInternal() {}
  union {
    CGCToGCMsgMasterStartupComplete _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGCToGCMsgMasterStartupCompleteDefaultTypeInternal _CGCToGCMsgMasterStartupComplete_default_instance_;
PROTOBUF_CONSTEXPR CGCToGCMsgRouted::CGCToGCMsgRouted(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.net_message_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sender_id_)*/uint64_t{0u}
  , /*decltype(_impl_.msg_type_)*/0u
  , /*decltype(_impl_.ip_)*/0u} {}
struct CGCToGCMsgRoutedDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGCToGCMsgRoutedDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGCToGCMsgRoutedDefaultTypeInternal() {}
  union {
    CGCToGCMsgRouted _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGCToGCMsgRoutedDefaultTypeInternal _CGCToGCMsgRouted_default_instance_;
PROTOBUF_CONSTEXPR CGCToGCMsgRoutedReply::CGCToGCMsgRoutedReply(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.net_message_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.msg_type_)*/0u} {}
struct CGCToGCMsgRoutedReplyDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGCToGCMsgRoutedReplyDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGCToGCMsgRoutedReplyDefaultTypeInternal() {}
  union {
    CGCToGCMsgRoutedReply _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGCToGCMsgRoutedReplyDefaultTypeInternal _CGCToGCMsgRoutedReply_default_instance_;
PROTOBUF_CONSTEXPR CMsgGCUpdateSessionIP::CMsgGCUpdateSessionIP(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.steamid_)*/uint64_t{0u}
  , /*decltype(_impl_.ip_)*/0u} {}
struct CMsgGCUpdateSessionIPDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgGCUpdateSessionIPDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgGCUpdateSessionIPDefaultTypeInternal() {}
  union {
    CMsgGCUpdateSessionIP _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgGCUpdateSessionIPDefaultTypeInternal _CMsgGCUpdateSessionIP_default_instance_;
PROTOBUF_CONSTEXPR CMsgGCRequestSessionIP::CMsgGCRequestSessionIP(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.steamid_)*/uint64_t{0u}} {}
struct CMsgGCRequestSessionIPDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgGCRequestSessionIPDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgGCRequestSessionIPDefaultTypeInternal() {}
  union {
    CMsgGCRequestSessionIP _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgGCRequestSessionIPDefaultTypeInternal _CMsgGCRequestSessionIP_default_instance_;
PROTOBUF_CONSTEXPR CMsgGCRequestSessionIPResponse::CMsgGCRequestSessionIPResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.ip_)*/0u} {}
struct CMsgGCRequestSessionIPResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgGCRequestSessionIPResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgGCRequestSessionIPResponseDefaultTypeInternal() {}
  union {
    CMsgGCRequestSessionIPResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgGCRequestSessionIPResponseDefaultTypeInternal _CMsgGCRequestSessionIPResponse_default_instance_;
PROTOBUF_CONSTEXPR CMsgSOCacheHaveVersion::CMsgSOCacheHaveVersion(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.soid_)*/nullptr
  , /*decltype(_impl_.version_)*/uint64_t{0u}} {}
struct CMsgSOCacheHaveVersionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSOCacheHaveVersionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSOCacheHaveVersionDefaultTypeInternal() {}
  union {
    CMsgSOCacheHaveVersion _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSOCacheHaveVersionDefaultTypeInternal _CMsgSOCacheHaveVersion_default_instance_;
PROTOBUF_CONSTEXPR CMsgClientHello::CMsgClientHello(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.socache_have_versions_)*/{}
  , /*decltype(_impl_.version_)*/0u
  , /*decltype(_impl_.client_session_need_)*/0u
  , /*decltype(_impl_.client_launcher_)*/0u
  , /*decltype(_impl_.partner_srcid_)*/0u
  , /*decltype(_impl_.partner_accountid_)*/0u
  , /*decltype(_impl_.partner_accountflags_)*/0u
  , /*decltype(_impl_.partner_accountbalance_)*/0u
  , /*decltype(_impl_.steam_launcher_)*/0u} {}
struct CMsgClientHelloDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgClientHelloDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgClientHelloDefaultTypeInternal() {}
  union {
    CMsgClientHello _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgClientHelloDefaultTypeInternal _CMsgClientHello_default_instance_;
PROTOBUF_CONSTEXPR CMsgServerHello::CMsgServerHello(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.socache_have_versions_)*/{}
  , /*decltype(_impl_.legacy_steamdatagram_routing_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.steamdatagram_login_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.version_)*/0u
  , /*decltype(_impl_.legacy_client_session_need_)*/0u
  , /*decltype(_impl_.client_launcher_)*/0u
  , /*decltype(_impl_.required_internal_addr_)*/0u
  , /*decltype(_impl_.socache_control_)*/0u} {}
struct CMsgServerHelloDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgServerHelloDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgServerHelloDefaultTypeInternal() {}
  union {
    CMsgServerHello _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgServerHelloDefaultTypeInternal _CMsgServerHello_default_instance_;
PROTOBUF_CONSTEXPR CMsgClientWelcome_Location::CMsgClientWelcome_Location(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.country_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.latitude_)*/0
  , /*decltype(_impl_.longitude_)*/0} {}
struct CMsgClientWelcome_LocationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgClientWelcome_LocationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgClientWelcome_LocationDefaultTypeInternal() {}
  union {
    CMsgClientWelcome_Location _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgClientWelcome_LocationDefaultTypeInternal _CMsgClientWelcome_Location_default_instance_;
PROTOBUF_CONSTEXPR CMsgClientWelcome::CMsgClientWelcome(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.outofdate_subscribed_caches_)*/{}
  , /*decltype(_impl_.uptodate_subscribed_caches_)*/{}
  , /*decltype(_impl_.game_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.game_data2_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.balance_url_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.txn_country_code_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.location_)*/nullptr
  , /*decltype(_impl_.version_)*/0u
  , /*decltype(_impl_.rtime32_gc_welcome_timestamp_)*/0u
  , /*decltype(_impl_.currency_)*/0u
  , /*decltype(_impl_.balance_)*/0u} {}
struct CMsgClientWelcomeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgClientWelcomeDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgClientWelcomeDefaultTypeInternal() {}
  union {
    CMsgClientWelcome _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgClientWelcomeDefaultTypeInternal _CMsgClientWelcome_default_instance_;
PROTOBUF_CONSTEXPR CMsgConnectionStatus::CMsgConnectionStatus(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.status_)*/0
  , /*decltype(_impl_.client_session_need_)*/0u
  , /*decltype(_impl_.queue_position_)*/0
  , /*decltype(_impl_.queue_size_)*/0
  , /*decltype(_impl_.wait_seconds_)*/0
  , /*decltype(_impl_.estimated_wait_seconds_remaining_)*/0} {}
struct CMsgConnectionStatusDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgConnectionStatusDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgConnectionStatusDefaultTypeInternal() {}
  union {
    CMsgConnectionStatus _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgConnectionStatusDefaultTypeInternal _CMsgConnectionStatus_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.item_description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.gameitemid_)*/0u
  , /*decltype(_impl_.one_per_account_)*/false} {}
struct CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal() {}
  union {
    CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.descriptions_)*/{}
  , /*decltype(_impl_.language_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal() {}
  union {
    CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request::CWorkshop_PopulateItemDescriptions_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.languages_)*/{}
  , /*decltype(_impl_.appid_)*/0u} {}
struct CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal() {}
  union {
    CWorkshop_PopulateItemDescriptions_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_GetContributors_Request::CWorkshop_GetContributors_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.appid_)*/0u
  , /*decltype(_impl_.gameitemid_)*/0u} {}
struct CWorkshop_GetContributors_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_GetContributors_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_GetContributors_RequestDefaultTypeInternal() {}
  union {
    CWorkshop_GetContributors_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_GetContributors_RequestDefaultTypeInternal _CWorkshop_GetContributors_Request_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_GetContributors_Response::CWorkshop_GetContributors_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.contributors_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CWorkshop_GetContributors_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_GetContributors_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_GetContributors_ResponseDefaultTypeInternal() {}
  union {
    CWorkshop_GetContributors_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_GetContributors_ResponseDefaultTypeInternal _CWorkshop_GetContributors_Response_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.rule_description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.workshop_file_id_)*/uint64_t{0u}
  , /*decltype(_impl_.revenue_percentage_)*/0
  , /*decltype(_impl_.rule_type_)*/1u} {}
struct CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal() {}
  union {
    CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.rule_description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.workshop_file_id_)*/uint64_t{0u}} {}
struct CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal() {}
  union {
    CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.rule_description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.account_id_)*/0u
  , /*decltype(_impl_.revenue_percentage_)*/0} {}
struct CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal() {}
  union {
    CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request::CWorkshop_SetItemPaymentRules_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.associated_workshop_files_)*/{}
  , /*decltype(_impl_.partner_accounts_)*/{}
  , /*decltype(_impl_.associated_workshop_file_for_direct_payments_)*/nullptr
  , /*decltype(_impl_.appid_)*/0u
  , /*decltype(_impl_.gameitemid_)*/0u
  , /*decltype(_impl_.validate_only_)*/false
  , /*decltype(_impl_.make_workshop_files_subscribable_)*/false} {}
struct CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal() {}
  union {
    CWorkshop_SetItemPaymentRules_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Response::CWorkshop_SetItemPaymentRules_Response(
    ::_pbi::ConstantInitialized) {}
struct CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal() {}
  union {
    CWorkshop_SetItemPaymentRules_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Response_default_instance_;
PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Request::CGameServers_AggregationQuery_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.group_fields_)*/{}
  , /*decltype(_impl_.filter_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CGameServers_AggregationQuery_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGameServers_AggregationQuery_RequestDefaultTypeInternal() {}
  union {
    CGameServers_AggregationQuery_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGameServers_AggregationQuery_RequestDefaultTypeInternal _CGameServers_AggregationQuery_Request_default_instance_;
PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Response_Group::CGameServers_AggregationQuery_Response_Group(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.group_values_)*/{}
  , /*decltype(_impl_.servers_empty_)*/0u
  , /*decltype(_impl_.servers_full_)*/0u
  , /*decltype(_impl_.servers_total_)*/0u
  , /*decltype(_impl_.players_humans_)*/0u
  , /*decltype(_impl_.players_bots_)*/0u
  , /*decltype(_impl_.player_capacity_)*/0u} {}
struct CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal() {}
  union {
    CGameServers_AggregationQuery_Response_Group _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal _CGameServers_AggregationQuery_Response_Group_default_instance_;
PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Response::CGameServers_AggregationQuery_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.groups_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CGameServers_AggregationQuery_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CGameServers_AggregationQuery_ResponseDefaultTypeInternal() {}
  union {
    CGameServers_AggregationQuery_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CGameServers_AggregationQuery_ResponseDefaultTypeInternal _CGameServers_AggregationQuery_Response_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_Request::CWorkshop_AddSpecialPayment_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.date_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.appid_)*/0u
  , /*decltype(_impl_.gameitemid_)*/0u
  , /*decltype(_impl_.payment_us_usd_)*/uint64_t{0u}
  , /*decltype(_impl_.payment_row_usd_)*/uint64_t{0u}} {}
struct CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal() {}
  union {
    CWorkshop_AddSpecialPayment_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal _CWorkshop_AddSpecialPayment_Request_default_instance_;
PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_Response::CWorkshop_AddSpecialPayment_Response(
    ::_pbi::ConstantInitialized) {}
struct CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal() {}
  union {
    CWorkshop_AddSpecialPayment_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal _CWorkshop_AddSpecialPayment_Response_default_instance_;
PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_Token::CProductInfo_SetRichPresenceLocalization_Request_Token(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.token_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.value_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal() {}
  union {
    CProductInfo_SetRichPresenceLocalization_Request_Token _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_Token_default_instance_;
PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.tokens_)*/{}
  , /*decltype(_impl_.language_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal() {}
  union {
    CProductInfo_SetRichPresenceLocalization_Request_LanguageSection _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_LanguageSection_default_instance_;
PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request::CProductInfo_SetRichPresenceLocalization_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.languages_)*/{}
  , /*decltype(_impl_.steamid_)*/uint64_t{0u}
  , /*decltype(_impl_.appid_)*/0u} {}
struct CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal() {}
  union {
    CProductInfo_SetRichPresenceLocalization_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_default_instance_;
PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Response::CProductInfo_SetRichPresenceLocalization_Response(
    ::_pbi::ConstantInitialized) {}
struct CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal() {}
  union {
    CProductInfo_SetRichPresenceLocalization_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Response_default_instance_;
PROTOBUF_CONSTEXPR CMsgSerializedSOCache_TypeCache::CMsgSerializedSOCache_TypeCache(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.objects_)*/{}
  , /*decltype(_impl_.type_)*/0u
  , /*decltype(_impl_.service_id_)*/0u} {}
struct CMsgSerializedSOCache_TypeCacheDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSerializedSOCache_TypeCacheDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSerializedSOCache_TypeCacheDefaultTypeInternal() {}
  union {
    CMsgSerializedSOCache_TypeCache _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSerializedSOCache_TypeCacheDefaultTypeInternal _CMsgSerializedSOCache_TypeCache_default_instance_;
PROTOBUF_CONSTEXPR CMsgSerializedSOCache_Cache_Version::CMsgSerializedSOCache_Cache_Version(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.version_)*/uint64_t{0u}
  , /*decltype(_impl_.service_)*/0u} {}
struct CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal() {}
  union {
    CMsgSerializedSOCache_Cache_Version _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal _CMsgSerializedSOCache_Cache_Version_default_instance_;
PROTOBUF_CONSTEXPR CMsgSerializedSOCache_Cache::CMsgSerializedSOCache_Cache(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.versions_)*/{}
  , /*decltype(_impl_.type_caches_)*/{}
  , /*decltype(_impl_.id_)*/uint64_t{0u}
  , /*decltype(_impl_.type_)*/0u} {}
struct CMsgSerializedSOCache_CacheDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSerializedSOCache_CacheDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSerializedSOCache_CacheDefaultTypeInternal() {}
  union {
    CMsgSerializedSOCache_Cache _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSerializedSOCache_CacheDefaultTypeInternal _CMsgSerializedSOCache_Cache_default_instance_;
PROTOBUF_CONSTEXPR CMsgSerializedSOCache::CMsgSerializedSOCache(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.caches_)*/{}
  , /*decltype(_impl_.file_version_)*/0u
  , /*decltype(_impl_.gc_socache_file_version_)*/0u} {}
struct CMsgSerializedSOCacheDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSerializedSOCacheDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSerializedSOCacheDefaultTypeInternal() {}
  union {
    CMsgSerializedSOCache _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSerializedSOCacheDefaultTypeInternal _CMsgSerializedSOCache_default_instance_;
static ::_pb::Metadata file_level_metadata_gcsdk_5fgcmessages_2eproto[50];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_gcsdk_5fgcmessages_2eproto[2];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_gcsdk_5fgcmessages_2eproto = nullptr;

const uint32_t TableStruct_gcsdk_5fgcmessages_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::CMsgSOIDOwner, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOIDOwner, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOIDOwner, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOIDOwner, _impl_.id_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _impl_.object_data_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOSingleObject, _impl_.owner_soid_),
  3,
  0,
  2,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects_SingleObject, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects_SingleObject, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects_SingleObject, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects_SingleObject, _impl_.object_data_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects, _impl_.objects_modified_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOMultipleObjects, _impl_.owner_soid_),
  ~0u,
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed_SubscribedType, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed_SubscribedType, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed_SubscribedType, _impl_.type_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed_SubscribedType, _impl_.object_data_),
  0,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed, _impl_.objects_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscribed, _impl_.owner_soid_),
  ~0u,
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheUnsubscribed, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheUnsubscribed, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheUnsubscribed, _impl_.owner_soid_),
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionCheck, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionCheck, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionCheck, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionCheck, _impl_.owner_soid_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionRefresh, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionRefresh, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheSubscriptionRefresh, _impl_.owner_soid_),
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheVersion, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheVersion, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheVersion, _impl_.version_),
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.valid_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.account_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.public_profile_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.public_inventory_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.vac_banned_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.cyber_cafe_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.school_account_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.free_trial_account_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.subscribed_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.low_violence_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.limited_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.trusted_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.package_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.time_cached_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.account_locked_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.community_banned_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.trade_banned_),
  PROTOBUF_FIELD_OFFSET(::CMsgAccountDetails, _impl_.eligible_for_community_market_),
  1,
  0,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  13,
  14,
  12,
  15,
  16,
  17,
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _impl_.msgtype_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _impl_.payload_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _impl_.steamids_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage, _impl_.replytogc_),
  1,
  0,
  ~0u,
  2,
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage_Response, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgGCMultiplexMessage_Response, _impl_.msgtype_),
  0,
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck, _impl_.dir_index_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck, _impl_.gc_type_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck_Response, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterAck_Response, _impl_.eresult_),
  0,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgMasterStartupComplete, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _impl_.msg_type_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _impl_.sender_id_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _impl_.net_message_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRouted, _impl_.ip_),
  2,
  1,
  0,
  3,
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRoutedReply, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRoutedReply, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRoutedReply, _impl_.msg_type_),
  PROTOBUF_FIELD_OFFSET(::CGCToGCMsgRoutedReply, _impl_.net_message_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgGCUpdateSessionIP, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCUpdateSessionIP, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgGCUpdateSessionIP, _impl_.steamid_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCUpdateSessionIP, _impl_.ip_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIP, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIP, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIP, _impl_.steamid_),
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIPResponse, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIPResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgGCRequestSessionIPResponse, _impl_.ip_),
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheHaveVersion, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheHaveVersion, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheHaveVersion, _impl_.soid_),
  PROTOBUF_FIELD_OFFSET(::CMsgSOCacheHaveVersion, _impl_.version_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.socache_have_versions_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.client_session_need_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.client_launcher_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.partner_srcid_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.partner_accountid_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.partner_accountflags_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.partner_accountbalance_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientHello, _impl_.steam_launcher_),
  0,
  ~0u,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.socache_have_versions_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.legacy_client_session_need_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.client_launcher_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.legacy_steamdatagram_routing_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.required_internal_addr_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.steamdatagram_login_),
  PROTOBUF_FIELD_OFFSET(::CMsgServerHello, _impl_.socache_control_),
  2,
  ~0u,
  3,
  4,
  0,
  5,
  1,
  6,
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome_Location, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome_Location, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome_Location, _impl_.latitude_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome_Location, _impl_.longitude_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome_Location, _impl_.country_),
  1,
  2,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.version_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.game_data_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.outofdate_subscribed_caches_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.uptodate_subscribed_caches_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.location_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.game_data2_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.rtime32_gc_welcome_timestamp_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.currency_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.balance_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.balance_url_),
  PROTOBUF_FIELD_OFFSET(::CMsgClientWelcome, _impl_.txn_country_code_),
  5,
  0,
  ~0u,
  ~0u,
  4,
  1,
  6,
  7,
  8,
  2,
  3,
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.status_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.client_session_need_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.queue_position_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.queue_size_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.wait_seconds_),
  PROTOBUF_FIELD_OFFSET(::CMsgConnectionStatus, _impl_.estimated_wait_seconds_remaining_),
  0,
  1,
  2,
  3,
  4,
  5,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_.gameitemid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_.item_description_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_.one_per_account_),
  1,
  0,
  2,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock, _impl_.language_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock, _impl_.descriptions_),
  0,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_PopulateItemDescriptions_Request, _impl_.languages_),
  0,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Request, _impl_.gameitemid_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_GetContributors_Response, _impl_.contributors_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.workshop_file_id_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.revenue_percentage_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.rule_description_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.rule_type_),
  1,
  2,
  0,
  3,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule, _impl_.workshop_file_id_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule, _impl_.rule_description_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_.account_id_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_.revenue_percentage_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_.rule_description_),
  1,
  2,
  0,
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.gameitemid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.associated_workshop_files_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.partner_accounts_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.validate_only_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.make_workshop_files_subscribable_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Request, _impl_.associated_workshop_file_for_direct_payments_),
  1,
  2,
  ~0u,
  ~0u,
  3,
  4,
  0,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_SetItemPaymentRules_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Request, _impl_.filter_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Request, _impl_.group_fields_),
  0,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.group_values_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.servers_empty_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.servers_full_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.servers_total_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.players_humans_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.players_bots_),
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response_Group, _impl_.player_capacity_),
  ~0u,
  0,
  1,
  2,
  3,
  4,
  5,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CGameServers_AggregationQuery_Response, _impl_.groups_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_.gameitemid_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_.date_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_.payment_us_usd_),
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Request, _impl_.payment_row_usd_),
  1,
  2,
  0,
  3,
  4,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CWorkshop_AddSpecialPayment_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_Token, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_Token, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_Token, _impl_.token_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_Token, _impl_.value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection, _impl_.language_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection, _impl_.tokens_),
  0,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request, _impl_.languages_),
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Request, _impl_.steamid_),
  1,
  ~0u,
  0,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CProductInfo_SetRichPresenceLocalization_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_TypeCache, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_TypeCache, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_TypeCache, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_TypeCache, _impl_.objects_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_TypeCache, _impl_.service_id_),
  0,
  ~0u,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache_Version, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache_Version, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache_Version, _impl_.service_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache_Version, _impl_.version_),
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _impl_.id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _impl_.versions_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache_Cache, _impl_.type_caches_),
  1,
  0,
  ~0u,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache, _impl_.file_version_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache, _impl_.caches_),
  PROTOBUF_FIELD_OFFSET(::CMsgSerializedSOCache, _impl_.gc_socache_file_version_),
  0,
  ~0u,
  1,
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 8, -1, sizeof(::CMsgSOIDOwner)},
  { 10, 20, -1, sizeof(::CMsgSOSingleObject)},
  { 24, 32, -1, sizeof(::CMsgSOMultipleObjects_SingleObject)},
  { 34, 43, -1, sizeof(::CMsgSOMultipleObjects)},
  { 46, 54, -1, sizeof(::CMsgSOCacheSubscribed_SubscribedType)},
  { 56, 65, -1, sizeof(::CMsgSOCacheSubscribed)},
  { 68, 75, -1, sizeof(::CMsgSOCacheUnsubscribed)},
  { 76, 84, -1, sizeof(::CMsgSOCacheSubscriptionCheck)},
  { 86, 93, -1, sizeof(::CMsgSOCacheSubscriptionRefresh)},
  { 94, 101, -1, sizeof(::CMsgSOCacheVersion)},
  { 102, 126, -1, sizeof(::CMsgAccountDetails)},
  { 144, 154, -1, sizeof(::CMsgGCMultiplexMessage)},
  { 158, 165, -1, sizeof(::CMsgGCMultiplexMessage_Response)},
  { 166, 174, -1, sizeof(::CGCToGCMsgMasterAck)},
  { 176, 183, -1, sizeof(::CGCToGCMsgMasterAck_Response)},
  { 184, -1, -1, sizeof(::CGCToGCMsgMasterStartupComplete)},
  { 190, 200, -1, sizeof(::CGCToGCMsgRouted)},
  { 204, 212, -1, sizeof(::CGCToGCMsgRoutedReply)},
  { 214, 222, -1, sizeof(::CMsgGCUpdateSessionIP)},
  { 224, 231, -1, sizeof(::CMsgGCRequestSessionIP)},
  { 232, 239, -1, sizeof(::CMsgGCRequestSessionIPResponse)},
  { 240, 248, -1, sizeof(::CMsgSOCacheHaveVersion)},
  { 250, 265, -1, sizeof(::CMsgClientHello)},
  { 274, 288, -1, sizeof(::CMsgServerHello)},
  { 296, 305, -1, sizeof(::CMsgClientWelcome_Location)},
  { 308, 325, -1, sizeof(::CMsgClientWelcome)},
  { 336, 348, -1, sizeof(::CMsgConnectionStatus)},
  { 354, 363, -1, sizeof(::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription)},
  { 366, 374, -1, sizeof(::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock)},
  { 376, 384, -1, sizeof(::CWorkshop_PopulateItemDescriptions_Request)},
  { 386, 394, -1, sizeof(::CWorkshop_GetContributors_Request)},
  { 396, -1, -1, sizeof(::CWorkshop_GetContributors_Response)},
  { 403, 413, -1, sizeof(::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule)},
  { 417, 425, -1, sizeof(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule)},
  { 427, 436, -1, sizeof(::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule)},
  { 439, 452, -1, sizeof(::CWorkshop_SetItemPaymentRules_Request)},
  { 459, -1, -1, sizeof(::CWorkshop_SetItemPaymentRules_Response)},
  { 465, 473, -1, sizeof(::CGameServers_AggregationQuery_Request)},
  { 475, 488, -1, sizeof(::CGameServers_AggregationQuery_Response_Group)},
  { 495, -1, -1, sizeof(::CGameServers_AggregationQuery_Response)},
  { 502, 513, -1, sizeof(::CWorkshop_AddSpecialPayment_Request)},
  { 518, -1, -1, sizeof(::CWorkshop_AddSpecialPayment_Response)},
  { 524, 532, -1, sizeof(::CProductInfo_SetRichPresenceLocalization_Request_Token)},
  { 534, 542, -1, sizeof(::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection)},
  { 544, 553, -1, sizeof(::CProductInfo_SetRichPresenceLocalization_Request)},
  { 556, -1, -1, sizeof(::CProductInfo_SetRichPresenceLocalization_Response)},
  { 562, 571, -1, sizeof(::CMsgSerializedSOCache_TypeCache)},
  { 574, 582, -1, sizeof(::CMsgSerializedSOCache_Cache_Version)},
  { 584, 594, -1, sizeof(::CMsgSerializedSOCache_Cache)},
  { 598, 607, -1, sizeof(::CMsgSerializedSOCache)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::_CMsgSOIDOwner_default_instance_._instance,
  &::_CMsgSOSingleObject_default_instance_._instance,
  &::_CMsgSOMultipleObjects_SingleObject_default_instance_._instance,
  &::_CMsgSOMultipleObjects_default_instance_._instance,
  &::_CMsgSOCacheSubscribed_SubscribedType_default_instance_._instance,
  &::_CMsgSOCacheSubscribed_default_instance_._instance,
  &::_CMsgSOCacheUnsubscribed_default_instance_._instance,
  &::_CMsgSOCacheSubscriptionCheck_default_instance_._instance,
  &::_CMsgSOCacheSubscriptionRefresh_default_instance_._instance,
  &::_CMsgSOCacheVersion_default_instance_._instance,
  &::_CMsgAccountDetails_default_instance_._instance,
  &::_CMsgGCMultiplexMessage_default_instance_._instance,
  &::_CMsgGCMultiplexMessage_Response_default_instance_._instance,
  &::_CGCToGCMsgMasterAck_default_instance_._instance,
  &::_CGCToGCMsgMasterAck_Response_default_instance_._instance,
  &::_CGCToGCMsgMasterStartupComplete_default_instance_._instance,
  &::_CGCToGCMsgRouted_default_instance_._instance,
  &::_CGCToGCMsgRoutedReply_default_instance_._instance,
  &::_CMsgGCUpdateSessionIP_default_instance_._instance,
  &::_CMsgGCRequestSessionIP_default_instance_._instance,
  &::_CMsgGCRequestSessionIPResponse_default_instance_._instance,
  &::_CMsgSOCacheHaveVersion_default_instance_._instance,
  &::_CMsgClientHello_default_instance_._instance,
  &::_CMsgServerHello_default_instance_._instance,
  &::_CMsgClientWelcome_Location_default_instance_._instance,
  &::_CMsgClientWelcome_default_instance_._instance,
  &::_CMsgConnectionStatus_default_instance_._instance,
  &::_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_default_instance_._instance,
  &::_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_default_instance_._instance,
  &::_CWorkshop_PopulateItemDescriptions_Request_default_instance_._instance,
  &::_CWorkshop_GetContributors_Request_default_instance_._instance,
  &::_CWorkshop_GetContributors_Response_default_instance_._instance,
  &::_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_default_instance_._instance,
  &::_CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule_default_instance_._instance,
  &::_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_default_instance_._instance,
  &::_CWorkshop_SetItemPaymentRules_Request_default_instance_._instance,
  &::_CWorkshop_SetItemPaymentRules_Response_default_instance_._instance,
  &::_CGameServers_AggregationQuery_Request_default_instance_._instance,
  &::_CGameServers_AggregationQuery_Response_Group_default_instance_._instance,
  &::_CGameServers_AggregationQuery_Response_default_instance_._instance,
  &::_CWorkshop_AddSpecialPayment_Request_default_instance_._instance,
  &::_CWorkshop_AddSpecialPayment_Response_default_instance_._instance,
  &::_CProductInfo_SetRichPresenceLocalization_Request_Token_default_instance_._instance,
  &::_CProductInfo_SetRichPresenceLocalization_Request_LanguageSection_default_instance_._instance,
  &::_CProductInfo_SetRichPresenceLocalization_Request_default_instance_._instance,
  &::_CProductInfo_SetRichPresenceLocalization_Response_default_instance_._instance,
  &::_CMsgSerializedSOCache_TypeCache_default_instance_._instance,
  &::_CMsgSerializedSOCache_Cache_Version_default_instance_._instance,
  &::_CMsgSerializedSOCache_Cache_default_instance_._instance,
  &::_CMsgSerializedSOCache_default_instance_._instance,
};

const char descriptor_table_protodef_gcsdk_5fgcmessages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\026gcsdk_gcmessages.proto\032\023steammessages."
  "proto\")\n\rCMsgSOIDOwner\022\014\n\004type\030\001 \001(\r\022\n\n\002"
  "id\030\002 \001(\004\"o\n\022CMsgSOSingleObject\022\017\n\007type_i"
  "d\030\002 \001(\005\022\023\n\013object_data\030\003 \001(\014\022\017\n\007version\030"
  "\004 \001(\006\022\"\n\nowner_soid\030\005 \001(\0132\016.CMsgSOIDOwne"
  "r\"\315\001\n\025CMsgSOMultipleObjects\022=\n\020objects_m"
  "odified\030\002 \003(\0132#.CMsgSOMultipleObjects.Si"
  "ngleObject\022\017\n\007version\030\003 \001(\006\022\"\n\nowner_soi"
  "d\030\006 \001(\0132\016.CMsgSOIDOwner\032@\n\014SingleObject\022"
  "\017\n\007type_id\030\001 \001(\005\022\023\n\013object_data\030\002 \001(\014:\n\200"
  "\246\035\200\002\210\246\035\200\010\"\274\001\n\025CMsgSOCacheSubscribed\0226\n\007o"
  "bjects\030\002 \003(\0132%.CMsgSOCacheSubscribed.Sub"
  "scribedType\022\017\n\007version\030\003 \001(\006\022\"\n\nowner_so"
  "id\030\004 \001(\0132\016.CMsgSOIDOwner\0326\n\016SubscribedTy"
  "pe\022\017\n\007type_id\030\001 \001(\005\022\023\n\013object_data\030\002 \003(\014"
  "\"=\n\027CMsgSOCacheUnsubscribed\022\"\n\nowner_soi"
  "d\030\002 \001(\0132\016.CMsgSOIDOwner\"S\n\034CMsgSOCacheSu"
  "bscriptionCheck\022\017\n\007version\030\002 \001(\006\022\"\n\nowne"
  "r_soid\030\003 \001(\0132\016.CMsgSOIDOwner\"D\n\036CMsgSOCa"
  "cheSubscriptionRefresh\022\"\n\nowner_soid\030\002 \001"
  "(\0132\016.CMsgSOIDOwner\"%\n\022CMsgSOCacheVersion"
  "\022\017\n\007version\030\001 \001(\006\"\250\003\n\022CMsgAccountDetails"
  "\022\r\n\005valid\030\001 \001(\010\022\024\n\014account_name\030\002 \001(\t\022\026\n"
  "\016public_profile\030\004 \001(\010\022\030\n\020public_inventor"
  "y\030\005 \001(\010\022\022\n\nvac_banned\030\006 \001(\010\022\022\n\ncyber_caf"
  "e\030\007 \001(\010\022\026\n\016school_account\030\010 \001(\010\022\032\n\022free_"
  "trial_account\030\t \001(\010\022\022\n\nsubscribed\030\n \001(\010\022"
  "\024\n\014low_violence\030\013 \001(\010\022\017\n\007limited\030\014 \001(\010\022\017"
  "\n\007trusted\030\r \001(\010\022\017\n\007package\030\016 \001(\r\022\023\n\013time"
  "_cached\030\017 \001(\007\022\026\n\016account_locked\030\020 \001(\010\022\030\n"
  "\020community_banned\030\021 \001(\010\022\024\n\014trade_banned\030"
  "\022 \001(\010\022%\n\035eligible_for_community_market\030\023"
  " \001(\010\"_\n\026CMsgGCMultiplexMessage\022\017\n\007msgtyp"
  "e\030\001 \001(\r\022\017\n\007payload\030\002 \001(\014\022\020\n\010steamids\030\003 \003"
  "(\006\022\021\n\treplytogc\030\004 \001(\010\"2\n\037CMsgGCMultiplex"
  "Message_Response\022\017\n\007msgtype\030\001 \001(\r\"9\n\023CGC"
  "ToGCMsgMasterAck\022\021\n\tdir_index\030\001 \001(\r\022\017\n\007g"
  "c_type\030\002 \001(\r\"2\n\034CGCToGCMsgMasterAck_Resp"
  "onse\022\022\n\007eresult\030\001 \001(\005:\0012\"!\n\037CGCToGCMsgMa"
  "sterStartupComplete\"X\n\020CGCToGCMsgRouted\022"
  "\020\n\010msg_type\030\001 \001(\r\022\021\n\tsender_id\030\002 \001(\006\022\023\n\013"
  "net_message\030\003 \001(\014\022\n\n\002ip\030\004 \001(\r\">\n\025CGCToGC"
  "MsgRoutedReply\022\020\n\010msg_type\030\001 \001(\r\022\023\n\013net_"
  "message\030\002 \001(\014\"4\n\025CMsgGCUpdateSessionIP\022\017"
  "\n\007steamid\030\001 \001(\006\022\n\n\002ip\030\002 \001(\007\")\n\026CMsgGCReq"
  "uestSessionIP\022\017\n\007steamid\030\001 \001(\006\",\n\036CMsgGC"
  "RequestSessionIPResponse\022\n\n\002ip\030\001 \001(\007\"G\n\026"
  "CMsgSOCacheHaveVersion\022\034\n\004soid\030\001 \001(\0132\016.C"
  "MsgSOIDOwner\022\017\n\007version\030\002 \001(\006\"\230\002\n\017CMsgCl"
  "ientHello\022\017\n\007version\030\001 \001(\r\0226\n\025socache_ha"
  "ve_versions\030\002 \003(\0132\027.CMsgSOCacheHaveVersi"
  "on\022\033\n\023client_session_need\030\003 \001(\r\022\027\n\017clien"
  "t_launcher\030\004 \001(\r\022\025\n\rpartner_srcid\030\005 \001(\r\022"
  "\031\n\021partner_accountid\030\006 \001(\r\022\034\n\024partner_ac"
  "countflags\030\007 \001(\r\022\036\n\026partner_accountbalan"
  "ce\030\010 \001(\r\022\026\n\016steam_launcher\030\t \001(\r\"\223\002\n\017CMs"
  "gServerHello\022\017\n\007version\030\001 \001(\r\0226\n\025socache"
  "_have_versions\030\002 \003(\0132\027.CMsgSOCacheHaveVe"
  "rsion\022\"\n\032legacy_client_session_need\030\003 \001("
  "\r\022\027\n\017client_launcher\030\004 \001(\r\022$\n\034legacy_ste"
  "amdatagram_routing\030\006 \001(\014\022\036\n\026required_int"
  "ernal_addr\030\007 \001(\r\022\033\n\023steamdatagram_login\030"
  "\010 \001(\014\022\027\n\017socache_control\030\t \001(\r\"\264\003\n\021CMsgC"
  "lientWelcome\022\017\n\007version\030\001 \001(\r\022\021\n\tgame_da"
  "ta\030\002 \001(\014\022;\n\033outofdate_subscribed_caches\030"
  "\003 \003(\0132\026.CMsgSOCacheSubscribed\022A\n\032uptodat"
  "e_subscribed_caches\030\004 \003(\0132\035.CMsgSOCacheS"
  "ubscriptionCheck\022-\n\010location\030\005 \001(\0132\033.CMs"
  "gClientWelcome.Location\022\022\n\ngame_data2\030\006 "
  "\001(\014\022$\n\034rtime32_gc_welcome_timestamp\030\007 \001("
  "\r\022\020\n\010currency\030\010 \001(\r\022\017\n\007balance\030\t \001(\r\022\023\n\013"
  "balance_url\030\n \001(\t\022\030\n\020txn_country_code\030\013 "
  "\001(\t\032@\n\010Location\022\020\n\010latitude\030\001 \001(\002\022\021\n\tlon"
  "gitude\030\002 \001(\002\022\017\n\007country\030\003 \001(\t\"\345\001\n\024CMsgCo"
  "nnectionStatus\022D\n\006status\030\001 \001(\0162\023.GCConne"
  "ctionStatus:\037GCConnectionStatus_HAVE_SES"
  "SION\022\033\n\023client_session_need\030\002 \001(\r\022\026\n\016que"
  "ue_position\030\003 \001(\005\022\022\n\nqueue_size\030\004 \001(\005\022\024\n"
  "\014wait_seconds\030\005 \001(\005\022(\n estimated_wait_se"
  "conds_remaining\030\006 \001(\005\"\206\003\n*CWorkshop_Popu"
  "lateItemDescriptions_Request\022\r\n\005appid\030\001 "
  "\001(\r\022\\\n\tlanguages\030\002 \003(\0132I.CWorkshop_Popul"
  "ateItemDescriptions_Request.ItemDescript"
  "ionsLanguageBlock\032^\n\025SingleItemDescripti"
  "on\022\022\n\ngameitemid\030\001 \001(\r\022\030\n\020item_descripti"
  "on\030\002 \001(\t\022\027\n\017one_per_account\030\003 \001(\010\032\212\001\n\035It"
  "emDescriptionsLanguageBlock\022\020\n\010language\030"
  "\001 \001(\t\022W\n\014descriptions\030\002 \003(\0132A.CWorkshop_"
  "PopulateItemDescriptions_Request.SingleI"
  "temDescription\"F\n!CWorkshop_GetContribut"
  "ors_Request\022\r\n\005appid\030\001 \001(\r\022\022\n\ngameitemid"
  "\030\002 \001(\r\":\n\"CWorkshop_GetContributors_Resp"
  "onse\022\024\n\014contributors\030\001 \003(\006\"\365\005\n%CWorkshop"
  "_SetItemPaymentRules_Request\022\r\n\005appid\030\001 "
  "\001(\r\022\022\n\ngameitemid\030\002 \001(\r\022a\n\031associated_wo"
  "rkshop_files\030\003 \003(\0132>.CWorkshop_SetItemPa"
  "ymentRules_Request.WorkshopItemPaymentRu"
  "le\022W\n\020partner_accounts\030\004 \003(\0132=.CWorkshop"
  "_SetItemPaymentRules_Request.PartnerItem"
  "PaymentRule\022\025\n\rvalidate_only\030\005 \001(\010\022(\n ma"
  "ke_workshop_files_subscribable\030\006 \001(\010\022v\n,"
  "associated_workshop_file_for_direct_paym"
  "ents\030\007 \001(\0132@.CWorkshop_SetItemPaymentRul"
  "es_Request.WorkshopDirectPaymentRule\032\177\n\027"
  "WorkshopItemPaymentRule\022\030\n\020workshop_file"
  "_id\030\001 \001(\004\022\032\n\022revenue_percentage\030\002 \001(\002\022\030\n"
  "\020rule_description\030\003 \001(\t\022\024\n\trule_type\030\004 \001"
  "(\r:\0011\032O\n\031WorkshopDirectPaymentRule\022\030\n\020wo"
  "rkshop_file_id\030\001 \001(\004\022\030\n\020rule_description"
  "\030\002 \001(\t\032b\n\026PartnerItemPaymentRule\022\022\n\nacco"
  "unt_id\030\001 \001(\r\022\032\n\022revenue_percentage\030\002 \001(\002"
  "\022\030\n\020rule_description\030\003 \001(\t\"(\n&CWorkshop_"
  "SetItemPaymentRules_Response\"M\n%CGameSer"
  "vers_AggregationQuery_Request\022\016\n\006filter\030"
  "\001 \001(\t\022\024\n\014group_fields\030\003 \003(\t\"\222\002\n&CGameSer"
  "vers_AggregationQuery_Response\022=\n\006groups"
  "\030\001 \003(\0132-.CGameServers_AggregationQuery_R"
  "esponse.Group\032\250\001\n\005Group\022\024\n\014group_values\030"
  "\001 \003(\t\022\025\n\rservers_empty\030\002 \001(\r\022\024\n\014servers_"
  "full\030\003 \001(\r\022\025\n\rservers_total\030\004 \001(\r\022\026\n\016pla"
  "yers_humans\030\005 \001(\r\022\024\n\014players_bots\030\006 \001(\r\022"
  "\027\n\017player_capacity\030\007 \001(\r\"\207\001\n#CWorkshop_A"
  "ddSpecialPayment_Request\022\r\n\005appid\030\001 \001(\r\022"
  "\022\n\ngameitemid\030\002 \001(\r\022\014\n\004date\030\003 \001(\t\022\026\n\016pay"
  "ment_us_usd\030\004 \001(\004\022\027\n\017payment_row_usd\030\005 \001"
  "(\004\"&\n$CWorkshop_AddSpecialPayment_Respon"
  "se\"\275\002\n0CProductInfo_SetRichPresenceLocal"
  "ization_Request\022\r\n\005appid\030\001 \001(\r\022T\n\tlangua"
  "ges\030\002 \003(\0132A.CProductInfo_SetRichPresence"
  "Localization_Request.LanguageSection\022\017\n\007"
  "steamid\030\003 \001(\004\032%\n\005Token\022\r\n\005token\030\001 \001(\t\022\r\n"
  "\005value\030\002 \001(\t\032l\n\017LanguageSection\022\020\n\010langu"
  "age\030\001 \001(\t\022G\n\006tokens\030\002 \003(\01327.CProductInfo"
  "_SetRichPresenceLocalization_Request.Tok"
  "en\"3\n1CProductInfo_SetRichPresenceLocali"
  "zation_Response\"\374\002\n\025CMsgSerializedSOCach"
  "e\022\024\n\014file_version\030\001 \001(\r\022,\n\006caches\030\002 \003(\0132"
  "\034.CMsgSerializedSOCache.Cache\022\037\n\027gc_soca"
  "che_file_version\030\003 \001(\r\032>\n\tTypeCache\022\014\n\004t"
  "ype\030\001 \001(\r\022\017\n\007objects\030\002 \003(\014\022\022\n\nservice_id"
  "\030\003 \001(\r\032\275\001\n\005Cache\022\014\n\004type\030\001 \001(\r\022\n\n\002id\030\002 \001"
  "(\004\0226\n\010versions\030\003 \003(\0132$.CMsgSerializedSOC"
  "ache.Cache.Version\0225\n\013type_caches\030\004 \003(\0132"
  " .CMsgSerializedSOCache.TypeCache\032+\n\007Ver"
  "sion\022\017\n\007service\030\001 \001(\r\022\017\n\007version\030\002 \001(\004*\246"
  "\001\n\024GCClientLauncherType\022 \n\034GCClientLaunc"
  "herType_DEFAULT\020\000\022%\n!GCClientLauncherTyp"
  "e_PERFECTWORLD\020\001\022#\n\037GCClientLauncherType"
  "_STEAMCHINA\020\002\022 \n\034GCClientLauncherType_SO"
  "URCE2\020\003*\325\001\n\022GCConnectionStatus\022#\n\037GCConn"
  "ectionStatus_HAVE_SESSION\020\000\022$\n GCConnect"
  "ionStatus_GC_GOING_DOWN\020\001\022!\n\035GCConnectio"
  "nStatus_NO_SESSION\020\002\0220\n,GCConnectionStat"
  "us_NO_SESSION_IN_LOGON_QUEUE\020\003\022\037\n\033GCConn"
  "ectionStatus_NO_STEAM\020\004"
  ;
static const ::_pbi::DescriptorTable* const descriptor_table_gcsdk_5fgcmessages_2eproto_deps[1] = {
  &::descriptor_table_steammessages_2eproto,
};
static ::_pbi::once_flag descriptor_table_gcsdk_5fgcmessages_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_gcsdk_5fgcmessages_2eproto = {
    false, false, 6183, descriptor_table_protodef_gcsdk_5fgcmessages_2eproto,
    "gcsdk_gcmessages.proto",
    &descriptor_table_gcsdk_5fgcmessages_2eproto_once, descriptor_table_gcsdk_5fgcmessages_2eproto_deps, 1, 50,
    schemas, file_default_instances, TableStruct_gcsdk_5fgcmessages_2eproto::offsets,
    file_level_metadata_gcsdk_5fgcmessages_2eproto, file_level_enum_descriptors_gcsdk_5fgcmessages_2eproto,
    file_level_service_descriptors_gcsdk_5fgcmessages_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_gcsdk_5fgcmessages_2eproto_getter() {
  return &descriptor_table_gcsdk_5fgcmessages_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_gcsdk_5fgcmessages_2eproto(&descriptor_table_gcsdk_5fgcmessages_2eproto);
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GCClientLauncherType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_gcsdk_5fgcmessages_2eproto);
  return file_level_enum_descriptors_gcsdk_5fgcmessages_2eproto[0];
}
bool GCClientLauncherType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GCConnectionStatus_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_gcsdk_5fgcmessages_2eproto);
  return file_level_enum_descriptors_gcsdk_5fgcmessages_2eproto[1];
}
bool GCConnectionStatus_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}


// ===================================================================

class CMsgSOIDOwner::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOIDOwner>()._impl_._has_bits_);
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSOIDOwner::CMsgSOIDOwner(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOIDOwner)
}
CMsgSOIDOwner::CMsgSOIDOwner(const CMsgSOIDOwner& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOIDOwner* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_){}
    , decltype(_impl_.type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.id_, &from._impl_.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.type_) -
    reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.type_));
  // @@protoc_insertion_point(copy_constructor:CMsgSOIDOwner)
}

inline void CMsgSOIDOwner::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_){uint64_t{0u}}
    , decltype(_impl_.type_){0u}
  };
}

CMsgSOIDOwner::~CMsgSOIDOwner() {
  // @@protoc_insertion_point(destructor:CMsgSOIDOwner)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOIDOwner::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgSOIDOwner::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOIDOwner::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOIDOwner)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.type_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOIDOwner::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_type(&has_bits);
          _impl_.type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_id(&has_bits);
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOIDOwner::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOIDOwner)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 type = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_type(), target);
  }

  // optional uint64 id = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(2, this->_internal_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOIDOwner)
  return target;
}

size_t CMsgSOIDOwner::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOIDOwner)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint64 id = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_id());
    }

    // optional uint32 type = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOIDOwner::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOIDOwner::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOIDOwner::GetClassData() const { return &_class_data_; }


void CMsgSOIDOwner::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOIDOwner*>(&to_msg);
  auto& from = static_cast<const CMsgSOIDOwner&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOIDOwner)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOIDOwner::IsInitialized() const {
  return true;
}

void CMsgSOIDOwner::InternalSwap(CMsgSOIDOwner* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOIDOwner, _impl_.type_)
      + sizeof(CMsgSOIDOwner::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOIDOwner, _impl_.id_)>(
          reinterpret_cast<char*>(&_impl_.id_),
          reinterpret_cast<char*>(&other->_impl_.id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOIDOwner::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[0]);
}

// ===================================================================

class CMsgSOSingleObject::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOSingleObject>()._impl_._has_bits_);
  static void set_has_type_id(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_object_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOSingleObject* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOSingleObject::_Internal::owner_soid(const CMsgSOSingleObject* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOSingleObject::CMsgSOSingleObject(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOSingleObject)
}
CMsgSOSingleObject::CMsgSOSingleObject(const CMsgSOSingleObject& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOSingleObject* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){}
    , decltype(_impl_.type_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.object_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.object_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_object_data()) {
    _this->_impl_.object_data_.Set(from._internal_object_data(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  ::memcpy(&_impl_.version_, &from._impl_.version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.type_id_) -
    reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.type_id_));
  // @@protoc_insertion_point(copy_constructor:CMsgSOSingleObject)
}

inline void CMsgSOSingleObject::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){uint64_t{0u}}
    , decltype(_impl_.type_id_){0}
  };
  _impl_.object_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.object_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSOSingleObject::~CMsgSOSingleObject() {
  // @@protoc_insertion_point(destructor:CMsgSOSingleObject)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOSingleObject::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.object_data_.Destroy();
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOSingleObject::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOSingleObject::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOSingleObject)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.object_data_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
      _impl_.owner_soid_->Clear();
    }
  }
  if (cached_has_bits & 0x0000000cu) {
    ::memset(&_impl_.version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.type_id_) -
        reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.type_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOSingleObject::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional int32 type_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_type_id(&has_bits);
          _impl_.type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes object_data = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_object_data();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 version = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSOIDOwner owner_soid = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOSingleObject::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOSingleObject)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional int32 type_id = 2;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_type_id(), target);
  }

  // optional bytes object_data = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        3, this->_internal_object_data(), target);
  }

  // optional fixed64 version = 4;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(4, this->_internal_version(), target);
  }

  // optional .CMsgSOIDOwner owner_soid = 5;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOSingleObject)
  return target;
}

size_t CMsgSOSingleObject::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOSingleObject)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // optional bytes object_data = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_object_data());
    }

    // optional .CMsgSOIDOwner owner_soid = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.owner_soid_);
    }

    // optional fixed64 version = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 8;
    }

    // optional int32 type_id = 2;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_id());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOSingleObject::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOSingleObject::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOSingleObject::GetClassData() const { return &_class_data_; }


void CMsgSOSingleObject::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOSingleObject*>(&to_msg);
  auto& from = static_cast<const CMsgSOSingleObject&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOSingleObject)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_object_data(from._internal_object_data());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
          from._internal_owner_soid());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.type_id_ = from._impl_.type_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOSingleObject::IsInitialized() const {
  return true;
}

void CMsgSOSingleObject::InternalSwap(CMsgSOSingleObject* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.object_data_, lhs_arena,
      &other->_impl_.object_data_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOSingleObject, _impl_.type_id_)
      + sizeof(CMsgSOSingleObject::_impl_.type_id_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOSingleObject, _impl_.owner_soid_)>(
          reinterpret_cast<char*>(&_impl_.owner_soid_),
          reinterpret_cast<char*>(&other->_impl_.owner_soid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOSingleObject::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[1]);
}

// ===================================================================

class CMsgSOMultipleObjects_SingleObject::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOMultipleObjects_SingleObject>()._impl_._has_bits_);
  static void set_has_type_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_object_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSOMultipleObjects_SingleObject::CMsgSOMultipleObjects_SingleObject(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOMultipleObjects.SingleObject)
}
CMsgSOMultipleObjects_SingleObject::CMsgSOMultipleObjects_SingleObject(const CMsgSOMultipleObjects_SingleObject& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOMultipleObjects_SingleObject* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){}
    , decltype(_impl_.type_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.object_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.object_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_object_data()) {
    _this->_impl_.object_data_.Set(from._internal_object_data(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.type_id_ = from._impl_.type_id_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOMultipleObjects.SingleObject)
}

inline void CMsgSOMultipleObjects_SingleObject::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){}
    , decltype(_impl_.type_id_){0}
  };
  _impl_.object_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.object_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSOMultipleObjects_SingleObject::~CMsgSOMultipleObjects_SingleObject() {
  // @@protoc_insertion_point(destructor:CMsgSOMultipleObjects.SingleObject)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOMultipleObjects_SingleObject::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.object_data_.Destroy();
}

void CMsgSOMultipleObjects_SingleObject::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOMultipleObjects_SingleObject::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOMultipleObjects.SingleObject)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.object_data_.ClearNonDefaultToEmpty();
  }
  _impl_.type_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOMultipleObjects_SingleObject::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional int32 type_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_type_id(&has_bits);
          _impl_.type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes object_data = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_object_data();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOMultipleObjects_SingleObject::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOMultipleObjects.SingleObject)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional int32 type_id = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_type_id(), target);
  }

  // optional bytes object_data = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        2, this->_internal_object_data(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOMultipleObjects.SingleObject)
  return target;
}

size_t CMsgSOMultipleObjects_SingleObject::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOMultipleObjects.SingleObject)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional bytes object_data = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_object_data());
    }

    // optional int32 type_id = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_id());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOMultipleObjects_SingleObject::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOMultipleObjects_SingleObject::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOMultipleObjects_SingleObject::GetClassData() const { return &_class_data_; }


void CMsgSOMultipleObjects_SingleObject::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOMultipleObjects_SingleObject*>(&to_msg);
  auto& from = static_cast<const CMsgSOMultipleObjects_SingleObject&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOMultipleObjects.SingleObject)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_object_data(from._internal_object_data());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.type_id_ = from._impl_.type_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOMultipleObjects_SingleObject::IsInitialized() const {
  return true;
}

void CMsgSOMultipleObjects_SingleObject::InternalSwap(CMsgSOMultipleObjects_SingleObject* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.object_data_, lhs_arena,
      &other->_impl_.object_data_, rhs_arena
  );
  swap(_impl_.type_id_, other->_impl_.type_id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOMultipleObjects_SingleObject::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[2]);
}

// ===================================================================

class CMsgSOMultipleObjects::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOMultipleObjects>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOMultipleObjects* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOMultipleObjects::_Internal::owner_soid(const CMsgSOMultipleObjects* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOMultipleObjects::CMsgSOMultipleObjects(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOMultipleObjects)
}
CMsgSOMultipleObjects::CMsgSOMultipleObjects(const CMsgSOMultipleObjects& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOMultipleObjects* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_modified_){from._impl_.objects_modified_}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOMultipleObjects)
}

inline void CMsgSOMultipleObjects::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_modified_){arena}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){uint64_t{0u}}
  };
}

CMsgSOMultipleObjects::~CMsgSOMultipleObjects() {
  // @@protoc_insertion_point(destructor:CMsgSOMultipleObjects)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOMultipleObjects::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objects_modified_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOMultipleObjects::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOMultipleObjects::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOMultipleObjects)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objects_modified_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
    _impl_.owner_soid_->Clear();
  }
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOMultipleObjects::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objects_modified(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 version = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSOIDOwner owner_soid = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOMultipleObjects::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOMultipleObjects)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_modified_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects_modified(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 version = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(3, this->_internal_version(), target);
  }

  // optional .CMsgSOIDOwner owner_soid = 6;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOMultipleObjects)
  return target;
}

size_t CMsgSOMultipleObjects::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOMultipleObjects)
  size_t total_size = 0;

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

  // repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
  total_size += 1UL * this->_internal_objects_modified_size();
  for (const auto& msg : this->_impl_.objects_modified_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .CMsgSOIDOwner owner_soid = 6;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.owner_soid_);
    }

    // optional fixed64 version = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOMultipleObjects::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOMultipleObjects::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOMultipleObjects::GetClassData() const { return &_class_data_; }


void CMsgSOMultipleObjects::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOMultipleObjects*>(&to_msg);
  auto& from = static_cast<const CMsgSOMultipleObjects&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOMultipleObjects)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objects_modified_.MergeFrom(from._impl_.objects_modified_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
          from._internal_owner_soid());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOMultipleObjects::IsInitialized() const {
  return true;
}

void CMsgSOMultipleObjects::InternalSwap(CMsgSOMultipleObjects* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.objects_modified_.InternalSwap(&other->_impl_.objects_modified_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOMultipleObjects, _impl_.version_)
      + sizeof(CMsgSOMultipleObjects::_impl_.version_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOMultipleObjects, _impl_.owner_soid_)>(
          reinterpret_cast<char*>(&_impl_.owner_soid_),
          reinterpret_cast<char*>(&other->_impl_.owner_soid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOMultipleObjects::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[3]);
}

// ===================================================================

class CMsgSOCacheSubscribed_SubscribedType::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheSubscribed_SubscribedType>()._impl_._has_bits_);
  static void set_has_type_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSOCacheSubscribed_SubscribedType::CMsgSOCacheSubscribed_SubscribedType(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheSubscribed.SubscribedType)
}
CMsgSOCacheSubscribed_SubscribedType::CMsgSOCacheSubscribed_SubscribedType(const CMsgSOCacheSubscribed_SubscribedType& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheSubscribed_SubscribedType* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){from._impl_.object_data_}
    , decltype(_impl_.type_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.type_id_ = from._impl_.type_id_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheSubscribed.SubscribedType)
}

inline void CMsgSOCacheSubscribed_SubscribedType::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.object_data_){arena}
    , decltype(_impl_.type_id_){0}
  };
}

CMsgSOCacheSubscribed_SubscribedType::~CMsgSOCacheSubscribed_SubscribedType() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheSubscribed.SubscribedType)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheSubscribed_SubscribedType::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.object_data_.~RepeatedPtrField();
}

void CMsgSOCacheSubscribed_SubscribedType::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheSubscribed_SubscribedType::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheSubscribed.SubscribedType)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.object_data_.Clear();
  _impl_.type_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheSubscribed_SubscribedType::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional int32 type_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_type_id(&has_bits);
          _impl_.type_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated bytes object_data = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_object_data();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheSubscribed_SubscribedType::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheSubscribed.SubscribedType)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional int32 type_id = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_type_id(), target);
  }

  // repeated bytes object_data = 2;
  for (int i = 0, n = this->_internal_object_data_size(); i < n; i++) {
    const auto& s = this->_internal_object_data(i);
    target = stream->WriteBytes(2, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheSubscribed.SubscribedType)
  return target;
}

size_t CMsgSOCacheSubscribed_SubscribedType::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheSubscribed.SubscribedType)
  size_t total_size = 0;

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

  // repeated bytes object_data = 2;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.object_data_.size());
  for (int i = 0, n = _impl_.object_data_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
      _impl_.object_data_.Get(i));
  }

  // optional int32 type_id = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_type_id());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheSubscribed_SubscribedType::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheSubscribed_SubscribedType::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheSubscribed_SubscribedType::GetClassData() const { return &_class_data_; }


void CMsgSOCacheSubscribed_SubscribedType::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheSubscribed_SubscribedType*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheSubscribed_SubscribedType&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheSubscribed.SubscribedType)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.object_data_.MergeFrom(from._impl_.object_data_);
  if (from._internal_has_type_id()) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheSubscribed_SubscribedType::IsInitialized() const {
  return true;
}

void CMsgSOCacheSubscribed_SubscribedType::InternalSwap(CMsgSOCacheSubscribed_SubscribedType* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.object_data_.InternalSwap(&other->_impl_.object_data_);
  swap(_impl_.type_id_, other->_impl_.type_id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheSubscribed_SubscribedType::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[4]);
}

// ===================================================================

class CMsgSOCacheSubscribed::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheSubscribed>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOCacheSubscribed* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOCacheSubscribed::_Internal::owner_soid(const CMsgSOCacheSubscribed* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOCacheSubscribed::CMsgSOCacheSubscribed(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheSubscribed)
}
CMsgSOCacheSubscribed::CMsgSOCacheSubscribed(const CMsgSOCacheSubscribed& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheSubscribed* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_){from._impl_.objects_}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheSubscribed)
}

inline void CMsgSOCacheSubscribed::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_){arena}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){uint64_t{0u}}
  };
}

CMsgSOCacheSubscribed::~CMsgSOCacheSubscribed() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheSubscribed)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheSubscribed::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objects_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOCacheSubscribed::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheSubscribed::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheSubscribed)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objects_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
    _impl_.owner_soid_->Clear();
  }
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheSubscribed::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_objects(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 version = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSOIDOwner owner_soid = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheSubscribed::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheSubscribed)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 version = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(3, this->_internal_version(), target);
  }

  // optional .CMsgSOIDOwner owner_soid = 4;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheSubscribed)
  return target;
}

size_t CMsgSOCacheSubscribed::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheSubscribed)
  size_t total_size = 0;

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

  // repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
  total_size += 1UL * this->_internal_objects_size();
  for (const auto& msg : this->_impl_.objects_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .CMsgSOIDOwner owner_soid = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.owner_soid_);
    }

    // optional fixed64 version = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheSubscribed::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheSubscribed::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheSubscribed::GetClassData() const { return &_class_data_; }


void CMsgSOCacheSubscribed::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheSubscribed*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheSubscribed&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheSubscribed)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objects_.MergeFrom(from._impl_.objects_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
          from._internal_owner_soid());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheSubscribed::IsInitialized() const {
  return true;
}

void CMsgSOCacheSubscribed::InternalSwap(CMsgSOCacheSubscribed* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOCacheSubscribed, _impl_.version_)
      + sizeof(CMsgSOCacheSubscribed::_impl_.version_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOCacheSubscribed, _impl_.owner_soid_)>(
          reinterpret_cast<char*>(&_impl_.owner_soid_),
          reinterpret_cast<char*>(&other->_impl_.owner_soid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheSubscribed::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[5]);
}

// ===================================================================

class CMsgSOCacheUnsubscribed::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheUnsubscribed>()._impl_._has_bits_);
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOCacheUnsubscribed* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOCacheUnsubscribed::_Internal::owner_soid(const CMsgSOCacheUnsubscribed* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOCacheUnsubscribed::CMsgSOCacheUnsubscribed(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheUnsubscribed)
}
CMsgSOCacheUnsubscribed::CMsgSOCacheUnsubscribed(const CMsgSOCacheUnsubscribed& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheUnsubscribed* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheUnsubscribed)
}

inline void CMsgSOCacheUnsubscribed::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}
  };
}

CMsgSOCacheUnsubscribed::~CMsgSOCacheUnsubscribed() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheUnsubscribed)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheUnsubscribed::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOCacheUnsubscribed::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheUnsubscribed::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheUnsubscribed)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
    _impl_.owner_soid_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheUnsubscribed::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .CMsgSOIDOwner owner_soid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheUnsubscribed::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheUnsubscribed)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .CMsgSOIDOwner owner_soid = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheUnsubscribed)
  return target;
}

size_t CMsgSOCacheUnsubscribed::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheUnsubscribed)
  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 .CMsgSOIDOwner owner_soid = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.owner_soid_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheUnsubscribed::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheUnsubscribed::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheUnsubscribed::GetClassData() const { return &_class_data_; }


void CMsgSOCacheUnsubscribed::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheUnsubscribed*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheUnsubscribed&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheUnsubscribed)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_owner_soid()) {
    _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
        from._internal_owner_soid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheUnsubscribed::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheUnsubscribed::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[6]);
}

// ===================================================================

class CMsgSOCacheSubscriptionCheck::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheSubscriptionCheck>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOCacheSubscriptionCheck* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOCacheSubscriptionCheck::_Internal::owner_soid(const CMsgSOCacheSubscriptionCheck* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOCacheSubscriptionCheck::CMsgSOCacheSubscriptionCheck(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheSubscriptionCheck)
}
CMsgSOCacheSubscriptionCheck::CMsgSOCacheSubscriptionCheck(const CMsgSOCacheSubscriptionCheck& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheSubscriptionCheck* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheSubscriptionCheck)
}

inline void CMsgSOCacheSubscriptionCheck::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}
    , decltype(_impl_.version_){uint64_t{0u}}
  };
}

CMsgSOCacheSubscriptionCheck::~CMsgSOCacheSubscriptionCheck() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheSubscriptionCheck)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheSubscriptionCheck::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOCacheSubscriptionCheck::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheSubscriptionCheck::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheSubscriptionCheck)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
    _impl_.owner_soid_->Clear();
  }
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheSubscriptionCheck::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed64 version = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSOIDOwner owner_soid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheSubscriptionCheck::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheSubscriptionCheck)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 version = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(2, this->_internal_version(), target);
  }

  // optional .CMsgSOIDOwner owner_soid = 3;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheSubscriptionCheck)
  return target;
}

size_t CMsgSOCacheSubscriptionCheck::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheSubscriptionCheck)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .CMsgSOIDOwner owner_soid = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.owner_soid_);
    }

    // optional fixed64 version = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheSubscriptionCheck::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheSubscriptionCheck::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheSubscriptionCheck::GetClassData() const { return &_class_data_; }


void CMsgSOCacheSubscriptionCheck::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheSubscriptionCheck*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheSubscriptionCheck&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheSubscriptionCheck)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
          from._internal_owner_soid());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheSubscriptionCheck::IsInitialized() const {
  return true;
}

void CMsgSOCacheSubscriptionCheck::InternalSwap(CMsgSOCacheSubscriptionCheck* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOCacheSubscriptionCheck, _impl_.version_)
      + sizeof(CMsgSOCacheSubscriptionCheck::_impl_.version_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOCacheSubscriptionCheck, _impl_.owner_soid_)>(
          reinterpret_cast<char*>(&_impl_.owner_soid_),
          reinterpret_cast<char*>(&other->_impl_.owner_soid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheSubscriptionCheck::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[7]);
}

// ===================================================================

class CMsgSOCacheSubscriptionRefresh::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheSubscriptionRefresh>()._impl_._has_bits_);
  static const ::CMsgSOIDOwner& owner_soid(const CMsgSOCacheSubscriptionRefresh* msg);
  static void set_has_owner_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOCacheSubscriptionRefresh::_Internal::owner_soid(const CMsgSOCacheSubscriptionRefresh* msg) {
  return *msg->_impl_.owner_soid_;
}
CMsgSOCacheSubscriptionRefresh::CMsgSOCacheSubscriptionRefresh(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheSubscriptionRefresh)
}
CMsgSOCacheSubscriptionRefresh::CMsgSOCacheSubscriptionRefresh(const CMsgSOCacheSubscriptionRefresh& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheSubscriptionRefresh* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_owner_soid()) {
    _this->_impl_.owner_soid_ = new ::CMsgSOIDOwner(*from._impl_.owner_soid_);
  }
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheSubscriptionRefresh)
}

inline void CMsgSOCacheSubscriptionRefresh::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.owner_soid_){nullptr}
  };
}

CMsgSOCacheSubscriptionRefresh::~CMsgSOCacheSubscriptionRefresh() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheSubscriptionRefresh)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheSubscriptionRefresh::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.owner_soid_;
}

void CMsgSOCacheSubscriptionRefresh::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheSubscriptionRefresh::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheSubscriptionRefresh)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.owner_soid_ != nullptr);
    _impl_.owner_soid_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheSubscriptionRefresh::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .CMsgSOIDOwner owner_soid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_owner_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheSubscriptionRefresh::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheSubscriptionRefresh)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .CMsgSOIDOwner owner_soid = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::owner_soid(this),
        _Internal::owner_soid(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheSubscriptionRefresh)
  return target;
}

size_t CMsgSOCacheSubscriptionRefresh::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheSubscriptionRefresh)
  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 .CMsgSOIDOwner owner_soid = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.owner_soid_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheSubscriptionRefresh::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheSubscriptionRefresh::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheSubscriptionRefresh::GetClassData() const { return &_class_data_; }


void CMsgSOCacheSubscriptionRefresh::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheSubscriptionRefresh*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheSubscriptionRefresh&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheSubscriptionRefresh)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_owner_soid()) {
    _this->_internal_mutable_owner_soid()->::CMsgSOIDOwner::MergeFrom(
        from._internal_owner_soid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheSubscriptionRefresh::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheSubscriptionRefresh::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[8]);
}

// ===================================================================

class CMsgSOCacheVersion::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheVersion>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSOCacheVersion::CMsgSOCacheVersion(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheVersion)
}
CMsgSOCacheVersion::CMsgSOCacheVersion(const CMsgSOCacheVersion& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheVersion* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheVersion)
}

inline void CMsgSOCacheVersion::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.version_){uint64_t{0u}}
  };
}

CMsgSOCacheVersion::~CMsgSOCacheVersion() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheVersion)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheVersion::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgSOCacheVersion::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheVersion::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheVersion)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheVersion::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed64 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheVersion::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheVersion)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 version = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheVersion)
  return target;
}

size_t CMsgSOCacheVersion::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheVersion)
  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 fixed64 version = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 + 8;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheVersion::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheVersion::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheVersion::GetClassData() const { return &_class_data_; }


void CMsgSOCacheVersion::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheVersion*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheVersion&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheVersion)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_version()) {
    _this->_internal_set_version(from._internal_version());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheVersion::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheVersion::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[9]);
}

// ===================================================================

class CMsgAccountDetails::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgAccountDetails>()._impl_._has_bits_);
  static void set_has_valid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_account_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_public_profile(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_public_inventory(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_vac_banned(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_cyber_cafe(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_school_account(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_free_trial_account(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_subscribed(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_low_violence(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_limited(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_trusted(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_package(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_time_cached(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_account_locked(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_community_banned(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_trade_banned(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_eligible_for_community_market(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
};

CMsgAccountDetails::CMsgAccountDetails(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgAccountDetails)
}
CMsgAccountDetails::CMsgAccountDetails(const CMsgAccountDetails& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgAccountDetails* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.account_name_){}
    , decltype(_impl_.valid_){}
    , decltype(_impl_.public_profile_){}
    , decltype(_impl_.public_inventory_){}
    , decltype(_impl_.vac_banned_){}
    , decltype(_impl_.cyber_cafe_){}
    , decltype(_impl_.school_account_){}
    , decltype(_impl_.free_trial_account_){}
    , decltype(_impl_.subscribed_){}
    , decltype(_impl_.low_violence_){}
    , decltype(_impl_.limited_){}
    , decltype(_impl_.trusted_){}
    , decltype(_impl_.account_locked_){}
    , decltype(_impl_.package_){}
    , decltype(_impl_.time_cached_){}
    , decltype(_impl_.community_banned_){}
    , decltype(_impl_.trade_banned_){}
    , decltype(_impl_.eligible_for_community_market_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.account_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.account_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_account_name()) {
    _this->_impl_.account_name_.Set(from._internal_account_name(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.valid_, &from._impl_.valid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.eligible_for_community_market_) -
    reinterpret_cast<char*>(&_impl_.valid_)) + sizeof(_impl_.eligible_for_community_market_));
  // @@protoc_insertion_point(copy_constructor:CMsgAccountDetails)
}

inline void CMsgAccountDetails::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.account_name_){}
    , decltype(_impl_.valid_){false}
    , decltype(_impl_.public_profile_){false}
    , decltype(_impl_.public_inventory_){false}
    , decltype(_impl_.vac_banned_){false}
    , decltype(_impl_.cyber_cafe_){false}
    , decltype(_impl_.school_account_){false}
    , decltype(_impl_.free_trial_account_){false}
    , decltype(_impl_.subscribed_){false}
    , decltype(_impl_.low_violence_){false}
    , decltype(_impl_.limited_){false}
    , decltype(_impl_.trusted_){false}
    , decltype(_impl_.account_locked_){false}
    , decltype(_impl_.package_){0u}
    , decltype(_impl_.time_cached_){0u}
    , decltype(_impl_.community_banned_){false}
    , decltype(_impl_.trade_banned_){false}
    , decltype(_impl_.eligible_for_community_market_){false}
  };
  _impl_.account_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.account_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgAccountDetails::~CMsgAccountDetails() {
  // @@protoc_insertion_point(destructor:CMsgAccountDetails)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgAccountDetails::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.account_name_.Destroy();
}

void CMsgAccountDetails::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgAccountDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgAccountDetails)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.account_name_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x000000feu) {
    ::memset(&_impl_.valid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.free_trial_account_) -
        reinterpret_cast<char*>(&_impl_.valid_)) + sizeof(_impl_.free_trial_account_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&_impl_.subscribed_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.community_banned_) -
        reinterpret_cast<char*>(&_impl_.subscribed_)) + sizeof(_impl_.community_banned_));
  }
  if (cached_has_bits & 0x00030000u) {
    ::memset(&_impl_.trade_banned_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.eligible_for_community_market_) -
        reinterpret_cast<char*>(&_impl_.trade_banned_)) + sizeof(_impl_.eligible_for_community_market_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgAccountDetails::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional bool valid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_valid(&has_bits);
          _impl_.valid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string account_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_account_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgAccountDetails.account_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional bool public_profile = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_public_profile(&has_bits);
          _impl_.public_profile_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool public_inventory = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_public_inventory(&has_bits);
          _impl_.public_inventory_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool vac_banned = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_vac_banned(&has_bits);
          _impl_.vac_banned_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool cyber_cafe = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_cyber_cafe(&has_bits);
          _impl_.cyber_cafe_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool school_account = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _Internal::set_has_school_account(&has_bits);
          _impl_.school_account_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool free_trial_account = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_free_trial_account(&has_bits);
          _impl_.free_trial_account_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool subscribed = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_subscribed(&has_bits);
          _impl_.subscribed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool low_violence = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_low_violence(&has_bits);
          _impl_.low_violence_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool limited = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _Internal::set_has_limited(&has_bits);
          _impl_.limited_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool trusted = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _Internal::set_has_trusted(&has_bits);
          _impl_.trusted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 package = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          _Internal::set_has_package(&has_bits);
          _impl_.package_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed32 time_cached = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 125)) {
          _Internal::set_has_time_cached(&has_bits);
          _impl_.time_cached_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint32_t>(ptr);
          ptr += sizeof(uint32_t);
        } else
          goto handle_unusual;
        continue;
      // optional bool account_locked = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 128)) {
          _Internal::set_has_account_locked(&has_bits);
          _impl_.account_locked_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool community_banned = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 136)) {
          _Internal::set_has_community_banned(&has_bits);
          _impl_.community_banned_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool trade_banned = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _Internal::set_has_trade_banned(&has_bits);
          _impl_.trade_banned_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool eligible_for_community_market = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _Internal::set_has_eligible_for_community_market(&has_bits);
          _impl_.eligible_for_community_market_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgAccountDetails::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgAccountDetails)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional bool valid = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_valid(), target);
  }

  // optional string account_name = 2;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_account_name().data(), static_cast<int>(this->_internal_account_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgAccountDetails.account_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_account_name(), target);
  }

  // optional bool public_profile = 4;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_public_profile(), target);
  }

  // optional bool public_inventory = 5;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_public_inventory(), target);
  }

  // optional bool vac_banned = 6;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_vac_banned(), target);
  }

  // optional bool cyber_cafe = 7;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_cyber_cafe(), target);
  }

  // optional bool school_account = 8;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_school_account(), target);
  }

  // optional bool free_trial_account = 9;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_free_trial_account(), target);
  }

  // optional bool subscribed = 10;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(10, this->_internal_subscribed(), target);
  }

  // optional bool low_violence = 11;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(11, this->_internal_low_violence(), target);
  }

  // optional bool limited = 12;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_limited(), target);
  }

  // optional bool trusted = 13;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_trusted(), target);
  }

  // optional uint32 package = 14;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(14, this->_internal_package(), target);
  }

  // optional fixed32 time_cached = 15;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(15, this->_internal_time_cached(), target);
  }

  // optional bool account_locked = 16;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(16, this->_internal_account_locked(), target);
  }

  // optional bool community_banned = 17;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(17, this->_internal_community_banned(), target);
  }

  // optional bool trade_banned = 18;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(18, this->_internal_trade_banned(), target);
  }

  // optional bool eligible_for_community_market = 19;
  if (cached_has_bits & 0x00020000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(19, this->_internal_eligible_for_community_market(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgAccountDetails)
  return target;
}

size_t CMsgAccountDetails::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgAccountDetails)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string account_name = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_account_name());
    }

    // optional bool valid = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 1;
    }

    // optional bool public_profile = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 1;
    }

    // optional bool public_inventory = 5;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 + 1;
    }

    // optional bool vac_banned = 6;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 1;
    }

    // optional bool cyber_cafe = 7;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 + 1;
    }

    // optional bool school_account = 8;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 + 1;
    }

    // optional bool free_trial_account = 9;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 + 1;
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional bool subscribed = 10;
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 + 1;
    }

    // optional bool low_violence = 11;
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 + 1;
    }

    // optional bool limited = 12;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 1;
    }

    // optional bool trusted = 13;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 + 1;
    }

    // optional bool account_locked = 16;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 + 1;
    }

    // optional uint32 package = 14;
    if (cached_has_bits & 0x00002000u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_package());
    }

    // optional fixed32 time_cached = 15;
    if (cached_has_bits & 0x00004000u) {
      total_size += 1 + 4;
    }

    // optional bool community_banned = 17;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 + 1;
    }

  }
  if (cached_has_bits & 0x00030000u) {
    // optional bool trade_banned = 18;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 + 1;
    }

    // optional bool eligible_for_community_market = 19;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 + 1;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgAccountDetails::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgAccountDetails::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgAccountDetails::GetClassData() const { return &_class_data_; }


void CMsgAccountDetails::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgAccountDetails*>(&to_msg);
  auto& from = static_cast<const CMsgAccountDetails&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgAccountDetails)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_account_name(from._internal_account_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.valid_ = from._impl_.valid_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.public_profile_ = from._impl_.public_profile_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.public_inventory_ = from._impl_.public_inventory_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.vac_banned_ = from._impl_.vac_banned_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.cyber_cafe_ = from._impl_.cyber_cafe_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.school_account_ = from._impl_.school_account_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.free_trial_account_ = from._impl_.free_trial_account_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.subscribed_ = from._impl_.subscribed_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.low_violence_ = from._impl_.low_violence_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.limited_ = from._impl_.limited_;
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.trusted_ = from._impl_.trusted_;
    }
    if (cached_has_bits & 0x00001000u) {
      _this->_impl_.account_locked_ = from._impl_.account_locked_;
    }
    if (cached_has_bits & 0x00002000u) {
      _this->_impl_.package_ = from._impl_.package_;
    }
    if (cached_has_bits & 0x00004000u) {
      _this->_impl_.time_cached_ = from._impl_.time_cached_;
    }
    if (cached_has_bits & 0x00008000u) {
      _this->_impl_.community_banned_ = from._impl_.community_banned_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00030000u) {
    if (cached_has_bits & 0x00010000u) {
      _this->_impl_.trade_banned_ = from._impl_.trade_banned_;
    }
    if (cached_has_bits & 0x00020000u) {
      _this->_impl_.eligible_for_community_market_ = from._impl_.eligible_for_community_market_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgAccountDetails::IsInitialized() const {
  return true;
}

void CMsgAccountDetails::InternalSwap(CMsgAccountDetails* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.account_name_, lhs_arena,
      &other->_impl_.account_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgAccountDetails, _impl_.eligible_for_community_market_)
      + sizeof(CMsgAccountDetails::_impl_.eligible_for_community_market_)
      - PROTOBUF_FIELD_OFFSET(CMsgAccountDetails, _impl_.valid_)>(
          reinterpret_cast<char*>(&_impl_.valid_),
          reinterpret_cast<char*>(&other->_impl_.valid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgAccountDetails::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[10]);
}

// ===================================================================

class CMsgGCMultiplexMessage::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgGCMultiplexMessage>()._impl_._has_bits_);
  static void set_has_msgtype(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_payload(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_replytogc(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

CMsgGCMultiplexMessage::CMsgGCMultiplexMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgGCMultiplexMessage)
}
CMsgGCMultiplexMessage::CMsgGCMultiplexMessage(const CMsgGCMultiplexMessage& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgGCMultiplexMessage* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamids_){from._impl_.steamids_}
    , decltype(_impl_.payload_){}
    , decltype(_impl_.msgtype_){}
    , decltype(_impl_.replytogc_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.payload_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.payload_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_payload()) {
    _this->_impl_.payload_.Set(from._internal_payload(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.msgtype_, &from._impl_.msgtype_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.replytogc_) -
    reinterpret_cast<char*>(&_impl_.msgtype_)) + sizeof(_impl_.replytogc_));
  // @@protoc_insertion_point(copy_constructor:CMsgGCMultiplexMessage)
}

inline void CMsgGCMultiplexMessage::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamids_){arena}
    , decltype(_impl_.payload_){}
    , decltype(_impl_.msgtype_){0u}
    , decltype(_impl_.replytogc_){false}
  };
  _impl_.payload_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.payload_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgGCMultiplexMessage::~CMsgGCMultiplexMessage() {
  // @@protoc_insertion_point(destructor:CMsgGCMultiplexMessage)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgGCMultiplexMessage::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.steamids_.~RepeatedField();
  _impl_.payload_.Destroy();
}

void CMsgGCMultiplexMessage::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgGCMultiplexMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgGCMultiplexMessage)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.steamids_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.payload_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.msgtype_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.replytogc_) -
        reinterpret_cast<char*>(&_impl_.msgtype_)) + sizeof(_impl_.replytogc_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgGCMultiplexMessage::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 msgtype = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_msgtype(&has_bits);
          _impl_.msgtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes payload = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_payload();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated fixed64 steamids = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
          ptr -= 1;
          do {
            ptr += 1;
            _internal_add_steamids(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr));
            ptr += sizeof(uint64_t);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<25>(ptr));
        } else if (static_cast<uint8_t>(tag) == 26) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFixed64Parser(_internal_mutable_steamids(), ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool replytogc = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_replytogc(&has_bits);
          _impl_.replytogc_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgGCMultiplexMessage::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgGCMultiplexMessage)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 msgtype = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_msgtype(), target);
  }

  // optional bytes payload = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        2, this->_internal_payload(), target);
  }

  // repeated fixed64 steamids = 3;
  for (int i = 0, n = this->_internal_steamids_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(3, this->_internal_steamids(i), target);
  }

  // optional bool replytogc = 4;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_replytogc(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgGCMultiplexMessage)
  return target;
}

size_t CMsgGCMultiplexMessage::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgGCMultiplexMessage)
  size_t total_size = 0;

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

  // repeated fixed64 steamids = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_steamids_size());
    size_t data_size = 8UL * count;
    total_size += 1 *
                  ::_pbi::FromIntSize(this->_internal_steamids_size());
    total_size += data_size;
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional bytes payload = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_payload());
    }

    // optional uint32 msgtype = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_msgtype());
    }

    // optional bool replytogc = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 1;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgGCMultiplexMessage::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgGCMultiplexMessage::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgGCMultiplexMessage::GetClassData() const { return &_class_data_; }


void CMsgGCMultiplexMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgGCMultiplexMessage*>(&to_msg);
  auto& from = static_cast<const CMsgGCMultiplexMessage&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgGCMultiplexMessage)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.steamids_.MergeFrom(from._impl_.steamids_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_payload(from._internal_payload());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.msgtype_ = from._impl_.msgtype_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.replytogc_ = from._impl_.replytogc_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgGCMultiplexMessage::IsInitialized() const {
  return true;
}

void CMsgGCMultiplexMessage::InternalSwap(CMsgGCMultiplexMessage* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.steamids_.InternalSwap(&other->_impl_.steamids_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.payload_, lhs_arena,
      &other->_impl_.payload_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgGCMultiplexMessage, _impl_.replytogc_)
      + sizeof(CMsgGCMultiplexMessage::_impl_.replytogc_)
      - PROTOBUF_FIELD_OFFSET(CMsgGCMultiplexMessage, _impl_.msgtype_)>(
          reinterpret_cast<char*>(&_impl_.msgtype_),
          reinterpret_cast<char*>(&other->_impl_.msgtype_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgGCMultiplexMessage::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[11]);
}

// ===================================================================

class CMsgGCMultiplexMessage_Response::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgGCMultiplexMessage_Response>()._impl_._has_bits_);
  static void set_has_msgtype(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgGCMultiplexMessage_Response::CMsgGCMultiplexMessage_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgGCMultiplexMessage_Response)
}
CMsgGCMultiplexMessage_Response::CMsgGCMultiplexMessage_Response(const CMsgGCMultiplexMessage_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgGCMultiplexMessage_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.msgtype_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.msgtype_ = from._impl_.msgtype_;
  // @@protoc_insertion_point(copy_constructor:CMsgGCMultiplexMessage_Response)
}

inline void CMsgGCMultiplexMessage_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.msgtype_){0u}
  };
}

CMsgGCMultiplexMessage_Response::~CMsgGCMultiplexMessage_Response() {
  // @@protoc_insertion_point(destructor:CMsgGCMultiplexMessage_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgGCMultiplexMessage_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgGCMultiplexMessage_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgGCMultiplexMessage_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgGCMultiplexMessage_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.msgtype_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgGCMultiplexMessage_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 msgtype = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_msgtype(&has_bits);
          _impl_.msgtype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgGCMultiplexMessage_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgGCMultiplexMessage_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 msgtype = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_msgtype(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgGCMultiplexMessage_Response)
  return target;
}

size_t CMsgGCMultiplexMessage_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgGCMultiplexMessage_Response)
  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 uint32 msgtype = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_msgtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgGCMultiplexMessage_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgGCMultiplexMessage_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgGCMultiplexMessage_Response::GetClassData() const { return &_class_data_; }


void CMsgGCMultiplexMessage_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgGCMultiplexMessage_Response*>(&to_msg);
  auto& from = static_cast<const CMsgGCMultiplexMessage_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgGCMultiplexMessage_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_msgtype()) {
    _this->_internal_set_msgtype(from._internal_msgtype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgGCMultiplexMessage_Response::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgGCMultiplexMessage_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[12]);
}

// ===================================================================

class CGCToGCMsgMasterAck::_Internal {
 public:
  using HasBits = decltype(std::declval<CGCToGCMsgMasterAck>()._impl_._has_bits_);
  static void set_has_dir_index(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_gc_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CGCToGCMsgMasterAck::CGCToGCMsgMasterAck(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGCToGCMsgMasterAck)
}
CGCToGCMsgMasterAck::CGCToGCMsgMasterAck(const CGCToGCMsgMasterAck& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGCToGCMsgMasterAck* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.dir_index_){}
    , decltype(_impl_.gc_type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.dir_index_, &from._impl_.dir_index_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.gc_type_) -
    reinterpret_cast<char*>(&_impl_.dir_index_)) + sizeof(_impl_.gc_type_));
  // @@protoc_insertion_point(copy_constructor:CGCToGCMsgMasterAck)
}

inline void CGCToGCMsgMasterAck::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.dir_index_){0u}
    , decltype(_impl_.gc_type_){0u}
  };
}

CGCToGCMsgMasterAck::~CGCToGCMsgMasterAck() {
  // @@protoc_insertion_point(destructor:CGCToGCMsgMasterAck)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGCToGCMsgMasterAck::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CGCToGCMsgMasterAck::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGCToGCMsgMasterAck::Clear() {
// @@protoc_insertion_point(message_clear_start:CGCToGCMsgMasterAck)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.dir_index_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.gc_type_) -
        reinterpret_cast<char*>(&_impl_.dir_index_)) + sizeof(_impl_.gc_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGCToGCMsgMasterAck::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 dir_index = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_dir_index(&has_bits);
          _impl_.dir_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gc_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_gc_type(&has_bits);
          _impl_.gc_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGCToGCMsgMasterAck::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGCToGCMsgMasterAck)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 dir_index = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_dir_index(), target);
  }

  // optional uint32 gc_type = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_gc_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGCToGCMsgMasterAck)
  return target;
}

size_t CGCToGCMsgMasterAck::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGCToGCMsgMasterAck)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint32 dir_index = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_dir_index());
    }

    // optional uint32 gc_type = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gc_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGCToGCMsgMasterAck::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGCToGCMsgMasterAck::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGCToGCMsgMasterAck::GetClassData() const { return &_class_data_; }


void CGCToGCMsgMasterAck::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGCToGCMsgMasterAck*>(&to_msg);
  auto& from = static_cast<const CGCToGCMsgMasterAck&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGCToGCMsgMasterAck)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.dir_index_ = from._impl_.dir_index_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.gc_type_ = from._impl_.gc_type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGCToGCMsgMasterAck::IsInitialized() const {
  return true;
}

void CGCToGCMsgMasterAck::InternalSwap(CGCToGCMsgMasterAck* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CGCToGCMsgMasterAck, _impl_.gc_type_)
      + sizeof(CGCToGCMsgMasterAck::_impl_.gc_type_)
      - PROTOBUF_FIELD_OFFSET(CGCToGCMsgMasterAck, _impl_.dir_index_)>(
          reinterpret_cast<char*>(&_impl_.dir_index_),
          reinterpret_cast<char*>(&other->_impl_.dir_index_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CGCToGCMsgMasterAck::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[13]);
}

// ===================================================================

class CGCToGCMsgMasterAck_Response::_Internal {
 public:
  using HasBits = decltype(std::declval<CGCToGCMsgMasterAck_Response>()._impl_._has_bits_);
  static void set_has_eresult(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CGCToGCMsgMasterAck_Response::CGCToGCMsgMasterAck_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGCToGCMsgMasterAck_Response)
}
CGCToGCMsgMasterAck_Response::CGCToGCMsgMasterAck_Response(const CGCToGCMsgMasterAck_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGCToGCMsgMasterAck_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.eresult_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.eresult_ = from._impl_.eresult_;
  // @@protoc_insertion_point(copy_constructor:CGCToGCMsgMasterAck_Response)
}

inline void CGCToGCMsgMasterAck_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.eresult_){2}
  };
}

CGCToGCMsgMasterAck_Response::~CGCToGCMsgMasterAck_Response() {
  // @@protoc_insertion_point(destructor:CGCToGCMsgMasterAck_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGCToGCMsgMasterAck_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CGCToGCMsgMasterAck_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGCToGCMsgMasterAck_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CGCToGCMsgMasterAck_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.eresult_ = 2;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGCToGCMsgMasterAck_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional int32 eresult = 1 [default = 2];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_eresult(&has_bits);
          _impl_.eresult_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGCToGCMsgMasterAck_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGCToGCMsgMasterAck_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional int32 eresult = 1 [default = 2];
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_eresult(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGCToGCMsgMasterAck_Response)
  return target;
}

size_t CGCToGCMsgMasterAck_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGCToGCMsgMasterAck_Response)
  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 int32 eresult = 1 [default = 2];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_eresult());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGCToGCMsgMasterAck_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGCToGCMsgMasterAck_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGCToGCMsgMasterAck_Response::GetClassData() const { return &_class_data_; }


void CGCToGCMsgMasterAck_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGCToGCMsgMasterAck_Response*>(&to_msg);
  auto& from = static_cast<const CGCToGCMsgMasterAck_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGCToGCMsgMasterAck_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_eresult()) {
    _this->_internal_set_eresult(from._internal_eresult());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGCToGCMsgMasterAck_Response::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CGCToGCMsgMasterAck_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[14]);
}

// ===================================================================

class CGCToGCMsgMasterStartupComplete::_Internal {
 public:
};

CGCToGCMsgMasterStartupComplete::CGCToGCMsgMasterStartupComplete(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:CGCToGCMsgMasterStartupComplete)
}
CGCToGCMsgMasterStartupComplete::CGCToGCMsgMasterStartupComplete(const CGCToGCMsgMasterStartupComplete& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  CGCToGCMsgMasterStartupComplete* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CGCToGCMsgMasterStartupComplete)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGCToGCMsgMasterStartupComplete::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGCToGCMsgMasterStartupComplete::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata CGCToGCMsgMasterStartupComplete::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[15]);
}

// ===================================================================

class CGCToGCMsgRouted::_Internal {
 public:
  using HasBits = decltype(std::declval<CGCToGCMsgRouted>()._impl_._has_bits_);
  static void set_has_msg_type(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_sender_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_net_message(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_ip(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

CGCToGCMsgRouted::CGCToGCMsgRouted(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGCToGCMsgRouted)
}
CGCToGCMsgRouted::CGCToGCMsgRouted(const CGCToGCMsgRouted& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGCToGCMsgRouted* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.net_message_){}
    , decltype(_impl_.sender_id_){}
    , decltype(_impl_.msg_type_){}
    , decltype(_impl_.ip_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.net_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.net_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_net_message()) {
    _this->_impl_.net_message_.Set(from._internal_net_message(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.sender_id_, &from._impl_.sender_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.ip_) -
    reinterpret_cast<char*>(&_impl_.sender_id_)) + sizeof(_impl_.ip_));
  // @@protoc_insertion_point(copy_constructor:CGCToGCMsgRouted)
}

inline void CGCToGCMsgRouted::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.net_message_){}
    , decltype(_impl_.sender_id_){uint64_t{0u}}
    , decltype(_impl_.msg_type_){0u}
    , decltype(_impl_.ip_){0u}
  };
  _impl_.net_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.net_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CGCToGCMsgRouted::~CGCToGCMsgRouted() {
  // @@protoc_insertion_point(destructor:CGCToGCMsgRouted)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGCToGCMsgRouted::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.net_message_.Destroy();
}

void CGCToGCMsgRouted::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGCToGCMsgRouted::Clear() {
// @@protoc_insertion_point(message_clear_start:CGCToGCMsgRouted)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.net_message_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x0000000eu) {
    ::memset(&_impl_.sender_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.ip_) -
        reinterpret_cast<char*>(&_impl_.sender_id_)) + sizeof(_impl_.ip_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGCToGCMsgRouted::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 msg_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_msg_type(&has_bits);
          _impl_.msg_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 sender_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
          _Internal::set_has_sender_id(&has_bits);
          _impl_.sender_id_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional bytes net_message = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_net_message();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ip = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_ip(&has_bits);
          _impl_.ip_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGCToGCMsgRouted::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGCToGCMsgRouted)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 msg_type = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_msg_type(), target);
  }

  // optional fixed64 sender_id = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(2, this->_internal_sender_id(), target);
  }

  // optional bytes net_message = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        3, this->_internal_net_message(), target);
  }

  // optional uint32 ip = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_ip(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGCToGCMsgRouted)
  return target;
}

size_t CGCToGCMsgRouted::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGCToGCMsgRouted)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // optional bytes net_message = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_net_message());
    }

    // optional fixed64 sender_id = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

    // optional uint32 msg_type = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_msg_type());
    }

    // optional uint32 ip = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_ip());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGCToGCMsgRouted::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGCToGCMsgRouted::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGCToGCMsgRouted::GetClassData() const { return &_class_data_; }


void CGCToGCMsgRouted::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGCToGCMsgRouted*>(&to_msg);
  auto& from = static_cast<const CGCToGCMsgRouted&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGCToGCMsgRouted)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_net_message(from._internal_net_message());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.sender_id_ = from._impl_.sender_id_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.msg_type_ = from._impl_.msg_type_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.ip_ = from._impl_.ip_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGCToGCMsgRouted::IsInitialized() const {
  return true;
}

void CGCToGCMsgRouted::InternalSwap(CGCToGCMsgRouted* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.net_message_, lhs_arena,
      &other->_impl_.net_message_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CGCToGCMsgRouted, _impl_.ip_)
      + sizeof(CGCToGCMsgRouted::_impl_.ip_)
      - PROTOBUF_FIELD_OFFSET(CGCToGCMsgRouted, _impl_.sender_id_)>(
          reinterpret_cast<char*>(&_impl_.sender_id_),
          reinterpret_cast<char*>(&other->_impl_.sender_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CGCToGCMsgRouted::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[16]);
}

// ===================================================================

class CGCToGCMsgRoutedReply::_Internal {
 public:
  using HasBits = decltype(std::declval<CGCToGCMsgRoutedReply>()._impl_._has_bits_);
  static void set_has_msg_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_net_message(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CGCToGCMsgRoutedReply::CGCToGCMsgRoutedReply(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGCToGCMsgRoutedReply)
}
CGCToGCMsgRoutedReply::CGCToGCMsgRoutedReply(const CGCToGCMsgRoutedReply& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGCToGCMsgRoutedReply* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.net_message_){}
    , decltype(_impl_.msg_type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.net_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.net_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_net_message()) {
    _this->_impl_.net_message_.Set(from._internal_net_message(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.msg_type_ = from._impl_.msg_type_;
  // @@protoc_insertion_point(copy_constructor:CGCToGCMsgRoutedReply)
}

inline void CGCToGCMsgRoutedReply::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.net_message_){}
    , decltype(_impl_.msg_type_){0u}
  };
  _impl_.net_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.net_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CGCToGCMsgRoutedReply::~CGCToGCMsgRoutedReply() {
  // @@protoc_insertion_point(destructor:CGCToGCMsgRoutedReply)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGCToGCMsgRoutedReply::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.net_message_.Destroy();
}

void CGCToGCMsgRoutedReply::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGCToGCMsgRoutedReply::Clear() {
// @@protoc_insertion_point(message_clear_start:CGCToGCMsgRoutedReply)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.net_message_.ClearNonDefaultToEmpty();
  }
  _impl_.msg_type_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGCToGCMsgRoutedReply::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 msg_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_msg_type(&has_bits);
          _impl_.msg_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes net_message = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_net_message();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGCToGCMsgRoutedReply::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGCToGCMsgRoutedReply)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 msg_type = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_msg_type(), target);
  }

  // optional bytes net_message = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        2, this->_internal_net_message(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGCToGCMsgRoutedReply)
  return target;
}

size_t CGCToGCMsgRoutedReply::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGCToGCMsgRoutedReply)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional bytes net_message = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_net_message());
    }

    // optional uint32 msg_type = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_msg_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGCToGCMsgRoutedReply::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGCToGCMsgRoutedReply::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGCToGCMsgRoutedReply::GetClassData() const { return &_class_data_; }


void CGCToGCMsgRoutedReply::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGCToGCMsgRoutedReply*>(&to_msg);
  auto& from = static_cast<const CGCToGCMsgRoutedReply&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGCToGCMsgRoutedReply)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_net_message(from._internal_net_message());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.msg_type_ = from._impl_.msg_type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGCToGCMsgRoutedReply::IsInitialized() const {
  return true;
}

void CGCToGCMsgRoutedReply::InternalSwap(CGCToGCMsgRoutedReply* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.net_message_, lhs_arena,
      &other->_impl_.net_message_, rhs_arena
  );
  swap(_impl_.msg_type_, other->_impl_.msg_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CGCToGCMsgRoutedReply::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[17]);
}

// ===================================================================

class CMsgGCUpdateSessionIP::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgGCUpdateSessionIP>()._impl_._has_bits_);
  static void set_has_steamid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_ip(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgGCUpdateSessionIP::CMsgGCUpdateSessionIP(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgGCUpdateSessionIP)
}
CMsgGCUpdateSessionIP::CMsgGCUpdateSessionIP(const CMsgGCUpdateSessionIP& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgGCUpdateSessionIP* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamid_){}
    , decltype(_impl_.ip_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.steamid_, &from._impl_.steamid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.ip_) -
    reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.ip_));
  // @@protoc_insertion_point(copy_constructor:CMsgGCUpdateSessionIP)
}

inline void CMsgGCUpdateSessionIP::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamid_){uint64_t{0u}}
    , decltype(_impl_.ip_){0u}
  };
}

CMsgGCUpdateSessionIP::~CMsgGCUpdateSessionIP() {
  // @@protoc_insertion_point(destructor:CMsgGCUpdateSessionIP)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgGCUpdateSessionIP::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgGCUpdateSessionIP::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgGCUpdateSessionIP::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgGCUpdateSessionIP)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.steamid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.ip_) -
        reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.ip_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgGCUpdateSessionIP::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed64 steamid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
          _Internal::set_has_steamid(&has_bits);
          _impl_.steamid_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional fixed32 ip = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _Internal::set_has_ip(&has_bits);
          _impl_.ip_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint32_t>(ptr);
          ptr += sizeof(uint32_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgGCUpdateSessionIP::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgGCUpdateSessionIP)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 steamid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_steamid(), target);
  }

  // optional fixed32 ip = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(2, this->_internal_ip(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgGCUpdateSessionIP)
  return target;
}

size_t CMsgGCUpdateSessionIP::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgGCUpdateSessionIP)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional fixed64 steamid = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 + 8;
    }

    // optional fixed32 ip = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 4;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgGCUpdateSessionIP::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgGCUpdateSessionIP::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgGCUpdateSessionIP::GetClassData() const { return &_class_data_; }


void CMsgGCUpdateSessionIP::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgGCUpdateSessionIP*>(&to_msg);
  auto& from = static_cast<const CMsgGCUpdateSessionIP&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgGCUpdateSessionIP)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.steamid_ = from._impl_.steamid_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.ip_ = from._impl_.ip_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgGCUpdateSessionIP::IsInitialized() const {
  return true;
}

void CMsgGCUpdateSessionIP::InternalSwap(CMsgGCUpdateSessionIP* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgGCUpdateSessionIP, _impl_.ip_)
      + sizeof(CMsgGCUpdateSessionIP::_impl_.ip_)
      - PROTOBUF_FIELD_OFFSET(CMsgGCUpdateSessionIP, _impl_.steamid_)>(
          reinterpret_cast<char*>(&_impl_.steamid_),
          reinterpret_cast<char*>(&other->_impl_.steamid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgGCUpdateSessionIP::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[18]);
}

// ===================================================================

class CMsgGCRequestSessionIP::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgGCRequestSessionIP>()._impl_._has_bits_);
  static void set_has_steamid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgGCRequestSessionIP::CMsgGCRequestSessionIP(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgGCRequestSessionIP)
}
CMsgGCRequestSessionIP::CMsgGCRequestSessionIP(const CMsgGCRequestSessionIP& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgGCRequestSessionIP* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.steamid_ = from._impl_.steamid_;
  // @@protoc_insertion_point(copy_constructor:CMsgGCRequestSessionIP)
}

inline void CMsgGCRequestSessionIP::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.steamid_){uint64_t{0u}}
  };
}

CMsgGCRequestSessionIP::~CMsgGCRequestSessionIP() {
  // @@protoc_insertion_point(destructor:CMsgGCRequestSessionIP)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgGCRequestSessionIP::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgGCRequestSessionIP::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgGCRequestSessionIP::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgGCRequestSessionIP)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.steamid_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgGCRequestSessionIP::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed64 steamid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
          _Internal::set_has_steamid(&has_bits);
          _impl_.steamid_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgGCRequestSessionIP::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgGCRequestSessionIP)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 steamid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_steamid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgGCRequestSessionIP)
  return target;
}

size_t CMsgGCRequestSessionIP::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgGCRequestSessionIP)
  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 fixed64 steamid = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 + 8;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgGCRequestSessionIP::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgGCRequestSessionIP::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgGCRequestSessionIP::GetClassData() const { return &_class_data_; }


void CMsgGCRequestSessionIP::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgGCRequestSessionIP*>(&to_msg);
  auto& from = static_cast<const CMsgGCRequestSessionIP&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgGCRequestSessionIP)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_steamid()) {
    _this->_internal_set_steamid(from._internal_steamid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgGCRequestSessionIP::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgGCRequestSessionIP::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[19]);
}

// ===================================================================

class CMsgGCRequestSessionIPResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgGCRequestSessionIPResponse>()._impl_._has_bits_);
  static void set_has_ip(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgGCRequestSessionIPResponse::CMsgGCRequestSessionIPResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgGCRequestSessionIPResponse)
}
CMsgGCRequestSessionIPResponse::CMsgGCRequestSessionIPResponse(const CMsgGCRequestSessionIPResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgGCRequestSessionIPResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.ip_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.ip_ = from._impl_.ip_;
  // @@protoc_insertion_point(copy_constructor:CMsgGCRequestSessionIPResponse)
}

inline void CMsgGCRequestSessionIPResponse::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.ip_){0u}
  };
}

CMsgGCRequestSessionIPResponse::~CMsgGCRequestSessionIPResponse() {
  // @@protoc_insertion_point(destructor:CMsgGCRequestSessionIPResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgGCRequestSessionIPResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgGCRequestSessionIPResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgGCRequestSessionIPResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgGCRequestSessionIPResponse)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.ip_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgGCRequestSessionIPResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed32 ip = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _Internal::set_has_ip(&has_bits);
          _impl_.ip_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint32_t>(ptr);
          ptr += sizeof(uint32_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgGCRequestSessionIPResponse::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgGCRequestSessionIPResponse)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed32 ip = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(1, this->_internal_ip(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgGCRequestSessionIPResponse)
  return target;
}

size_t CMsgGCRequestSessionIPResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgGCRequestSessionIPResponse)
  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 fixed32 ip = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 + 4;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgGCRequestSessionIPResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgGCRequestSessionIPResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgGCRequestSessionIPResponse::GetClassData() const { return &_class_data_; }


void CMsgGCRequestSessionIPResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgGCRequestSessionIPResponse*>(&to_msg);
  auto& from = static_cast<const CMsgGCRequestSessionIPResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgGCRequestSessionIPResponse)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_ip()) {
    _this->_internal_set_ip(from._internal_ip());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgGCRequestSessionIPResponse::IsInitialized() const {
  return true;
}

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

::PROTOBUF_NAMESPACE_ID::Metadata CMsgGCRequestSessionIPResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[20]);
}

// ===================================================================

class CMsgSOCacheHaveVersion::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSOCacheHaveVersion>()._impl_._has_bits_);
  static const ::CMsgSOIDOwner& soid(const CMsgSOCacheHaveVersion* msg);
  static void set_has_soid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::CMsgSOIDOwner&
CMsgSOCacheHaveVersion::_Internal::soid(const CMsgSOCacheHaveVersion* msg) {
  return *msg->_impl_.soid_;
}
CMsgSOCacheHaveVersion::CMsgSOCacheHaveVersion(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSOCacheHaveVersion)
}
CMsgSOCacheHaveVersion::CMsgSOCacheHaveVersion(const CMsgSOCacheHaveVersion& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSOCacheHaveVersion* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.soid_){nullptr}
    , decltype(_impl_.version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_soid()) {
    _this->_impl_.soid_ = new ::CMsgSOIDOwner(*from._impl_.soid_);
  }
  _this->_impl_.version_ = from._impl_.version_;
  // @@protoc_insertion_point(copy_constructor:CMsgSOCacheHaveVersion)
}

inline void CMsgSOCacheHaveVersion::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.soid_){nullptr}
    , decltype(_impl_.version_){uint64_t{0u}}
  };
}

CMsgSOCacheHaveVersion::~CMsgSOCacheHaveVersion() {
  // @@protoc_insertion_point(destructor:CMsgSOCacheHaveVersion)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSOCacheHaveVersion::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.soid_;
}

void CMsgSOCacheHaveVersion::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSOCacheHaveVersion::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSOCacheHaveVersion)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.soid_ != nullptr);
    _impl_.soid_->Clear();
  }
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSOCacheHaveVersion::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .CMsgSOIDOwner soid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_soid(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 version = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSOCacheHaveVersion::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSOCacheHaveVersion)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .CMsgSOIDOwner soid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::soid(this),
        _Internal::soid(this).GetCachedSize(), target, stream);
  }

  // optional fixed64 version = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(2, this->_internal_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSOCacheHaveVersion)
  return target;
}

size_t CMsgSOCacheHaveVersion::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSOCacheHaveVersion)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .CMsgSOIDOwner soid = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.soid_);
    }

    // optional fixed64 version = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSOCacheHaveVersion::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSOCacheHaveVersion::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSOCacheHaveVersion::GetClassData() const { return &_class_data_; }


void CMsgSOCacheHaveVersion::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSOCacheHaveVersion*>(&to_msg);
  auto& from = static_cast<const CMsgSOCacheHaveVersion&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSOCacheHaveVersion)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_soid()->::CMsgSOIDOwner::MergeFrom(
          from._internal_soid());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSOCacheHaveVersion::IsInitialized() const {
  return true;
}

void CMsgSOCacheHaveVersion::InternalSwap(CMsgSOCacheHaveVersion* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSOCacheHaveVersion, _impl_.version_)
      + sizeof(CMsgSOCacheHaveVersion::_impl_.version_)
      - PROTOBUF_FIELD_OFFSET(CMsgSOCacheHaveVersion, _impl_.soid_)>(
          reinterpret_cast<char*>(&_impl_.soid_),
          reinterpret_cast<char*>(&other->_impl_.soid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSOCacheHaveVersion::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[21]);
}

// ===================================================================

class CMsgClientHello::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgClientHello>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_client_session_need(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_client_launcher(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_partner_srcid(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_partner_accountid(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_partner_accountflags(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_partner_accountbalance(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_steam_launcher(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

CMsgClientHello::CMsgClientHello(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgClientHello)
}
CMsgClientHello::CMsgClientHello(const CMsgClientHello& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgClientHello* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.socache_have_versions_){from._impl_.socache_have_versions_}
    , decltype(_impl_.version_){}
    , decltype(_impl_.client_session_need_){}
    , decltype(_impl_.client_launcher_){}
    , decltype(_impl_.partner_srcid_){}
    , decltype(_impl_.partner_accountid_){}
    , decltype(_impl_.partner_accountflags_){}
    , decltype(_impl_.partner_accountbalance_){}
    , decltype(_impl_.steam_launcher_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.version_, &from._impl_.version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.steam_launcher_) -
    reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.steam_launcher_));
  // @@protoc_insertion_point(copy_constructor:CMsgClientHello)
}

inline void CMsgClientHello::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.socache_have_versions_){arena}
    , decltype(_impl_.version_){0u}
    , decltype(_impl_.client_session_need_){0u}
    , decltype(_impl_.client_launcher_){0u}
    , decltype(_impl_.partner_srcid_){0u}
    , decltype(_impl_.partner_accountid_){0u}
    , decltype(_impl_.partner_accountflags_){0u}
    , decltype(_impl_.partner_accountbalance_){0u}
    , decltype(_impl_.steam_launcher_){0u}
  };
}

CMsgClientHello::~CMsgClientHello() {
  // @@protoc_insertion_point(destructor:CMsgClientHello)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgClientHello::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.socache_have_versions_.~RepeatedPtrField();
}

void CMsgClientHello::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgClientHello::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgClientHello)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.socache_have_versions_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&_impl_.version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.steam_launcher_) -
        reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.steam_launcher_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgClientHello::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_socache_have_versions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 client_session_need = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_client_session_need(&has_bits);
          _impl_.client_session_need_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 client_launcher = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_client_launcher(&has_bits);
          _impl_.client_launcher_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 partner_srcid = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_partner_srcid(&has_bits);
          _impl_.partner_srcid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 partner_accountid = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_partner_accountid(&has_bits);
          _impl_.partner_accountid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 partner_accountflags = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_partner_accountflags(&has_bits);
          _impl_.partner_accountflags_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 partner_accountbalance = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _Internal::set_has_partner_accountbalance(&has_bits);
          _impl_.partner_accountbalance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 steam_launcher = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_steam_launcher(&has_bits);
          _impl_.steam_launcher_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgClientHello::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgClientHello)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 version = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_version(), target);
  }

  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_socache_have_versions_size()); i < n; i++) {
    const auto& repfield = this->_internal_socache_have_versions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint32 client_session_need = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_client_session_need(), target);
  }

  // optional uint32 client_launcher = 4;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_client_launcher(), target);
  }

  // optional uint32 partner_srcid = 5;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_partner_srcid(), target);
  }

  // optional uint32 partner_accountid = 6;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_partner_accountid(), target);
  }

  // optional uint32 partner_accountflags = 7;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_partner_accountflags(), target);
  }

  // optional uint32 partner_accountbalance = 8;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_partner_accountbalance(), target);
  }

  // optional uint32 steam_launcher = 9;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_steam_launcher(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgClientHello)
  return target;
}

size_t CMsgClientHello::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgClientHello)
  size_t total_size = 0;

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

  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  total_size += 1UL * this->_internal_socache_have_versions_size();
  for (const auto& msg : this->_impl_.socache_have_versions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional uint32 version = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_version());
    }

    // optional uint32 client_session_need = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_client_session_need());
    }

    // optional uint32 client_launcher = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_client_launcher());
    }

    // optional uint32 partner_srcid = 5;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_partner_srcid());
    }

    // optional uint32 partner_accountid = 6;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_partner_accountid());
    }

    // optional uint32 partner_accountflags = 7;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_partner_accountflags());
    }

    // optional uint32 partner_accountbalance = 8;
    if (cached_has_bits & 0x00000040u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_partner_accountbalance());
    }

    // optional uint32 steam_launcher = 9;
    if (cached_has_bits & 0x00000080u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_steam_launcher());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgClientHello::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgClientHello::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgClientHello::GetClassData() const { return &_class_data_; }


void CMsgClientHello::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgClientHello*>(&to_msg);
  auto& from = static_cast<const CMsgClientHello&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgClientHello)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.socache_have_versions_.MergeFrom(from._impl_.socache_have_versions_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.client_session_need_ = from._impl_.client_session_need_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.client_launcher_ = from._impl_.client_launcher_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.partner_srcid_ = from._impl_.partner_srcid_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.partner_accountid_ = from._impl_.partner_accountid_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.partner_accountflags_ = from._impl_.partner_accountflags_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.partner_accountbalance_ = from._impl_.partner_accountbalance_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.steam_launcher_ = from._impl_.steam_launcher_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgClientHello::IsInitialized() const {
  return true;
}

void CMsgClientHello::InternalSwap(CMsgClientHello* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.socache_have_versions_.InternalSwap(&other->_impl_.socache_have_versions_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgClientHello, _impl_.steam_launcher_)
      + sizeof(CMsgClientHello::_impl_.steam_launcher_)
      - PROTOBUF_FIELD_OFFSET(CMsgClientHello, _impl_.version_)>(
          reinterpret_cast<char*>(&_impl_.version_),
          reinterpret_cast<char*>(&other->_impl_.version_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgClientHello::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[22]);
}

// ===================================================================

class CMsgServerHello::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgServerHello>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_legacy_client_session_need(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_client_launcher(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_legacy_steamdatagram_routing(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_required_internal_addr(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_steamdatagram_login(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_socache_control(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
};

CMsgServerHello::CMsgServerHello(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgServerHello)
}
CMsgServerHello::CMsgServerHello(const CMsgServerHello& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgServerHello* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.socache_have_versions_){from._impl_.socache_have_versions_}
    , decltype(_impl_.legacy_steamdatagram_routing_){}
    , decltype(_impl_.steamdatagram_login_){}
    , decltype(_impl_.version_){}
    , decltype(_impl_.legacy_client_session_need_){}
    , decltype(_impl_.client_launcher_){}
    , decltype(_impl_.required_internal_addr_){}
    , decltype(_impl_.socache_control_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.legacy_steamdatagram_routing_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.legacy_steamdatagram_routing_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_legacy_steamdatagram_routing()) {
    _this->_impl_.legacy_steamdatagram_routing_.Set(from._internal_legacy_steamdatagram_routing(), 
      _this->GetArenaForAllocation());
  }
  _impl_.steamdatagram_login_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.steamdatagram_login_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_steamdatagram_login()) {
    _this->_impl_.steamdatagram_login_.Set(from._internal_steamdatagram_login(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.version_, &from._impl_.version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.socache_control_) -
    reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.socache_control_));
  // @@protoc_insertion_point(copy_constructor:CMsgServerHello)
}

inline void CMsgServerHello::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.socache_have_versions_){arena}
    , decltype(_impl_.legacy_steamdatagram_routing_){}
    , decltype(_impl_.steamdatagram_login_){}
    , decltype(_impl_.version_){0u}
    , decltype(_impl_.legacy_client_session_need_){0u}
    , decltype(_impl_.client_launcher_){0u}
    , decltype(_impl_.required_internal_addr_){0u}
    , decltype(_impl_.socache_control_){0u}
  };
  _impl_.legacy_steamdatagram_routing_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.legacy_steamdatagram_routing_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.steamdatagram_login_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.steamdatagram_login_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgServerHello::~CMsgServerHello() {
  // @@protoc_insertion_point(destructor:CMsgServerHello)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgServerHello::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.socache_have_versions_.~RepeatedPtrField();
  _impl_.legacy_steamdatagram_routing_.Destroy();
  _impl_.steamdatagram_login_.Destroy();
}

void CMsgServerHello::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgServerHello::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgServerHello)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.socache_have_versions_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.legacy_steamdatagram_routing_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.steamdatagram_login_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000007cu) {
    ::memset(&_impl_.version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.socache_control_) -
        reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.socache_control_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgServerHello::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_socache_have_versions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 legacy_client_session_need = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_legacy_client_session_need(&has_bits);
          _impl_.legacy_client_session_need_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 client_launcher = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_client_launcher(&has_bits);
          _impl_.client_launcher_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes legacy_steamdatagram_routing = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_legacy_steamdatagram_routing();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 required_internal_addr = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_required_internal_addr(&has_bits);
          _impl_.required_internal_addr_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes steamdatagram_login = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_steamdatagram_login();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 socache_control = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_socache_control(&has_bits);
          _impl_.socache_control_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgServerHello::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgServerHello)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 version = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_version(), target);
  }

  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_socache_have_versions_size()); i < n; i++) {
    const auto& repfield = this->_internal_socache_have_versions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint32 legacy_client_session_need = 3;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_legacy_client_session_need(), target);
  }

  // optional uint32 client_launcher = 4;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_client_launcher(), target);
  }

  // optional bytes legacy_steamdatagram_routing = 6;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        6, this->_internal_legacy_steamdatagram_routing(), target);
  }

  // optional uint32 required_internal_addr = 7;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_required_internal_addr(), target);
  }

  // optional bytes steamdatagram_login = 8;
  if (cached_has_bits & 0x00000002u) {
    target = stream->WriteBytesMaybeAliased(
        8, this->_internal_steamdatagram_login(), target);
  }

  // optional uint32 socache_control = 9;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_socache_control(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgServerHello)
  return target;
}

size_t CMsgServerHello::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgServerHello)
  size_t total_size = 0;

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

  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  total_size += 1UL * this->_internal_socache_have_versions_size();
  for (const auto& msg : this->_impl_.socache_have_versions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    // optional bytes legacy_steamdatagram_routing = 6;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_legacy_steamdatagram_routing());
    }

    // optional bytes steamdatagram_login = 8;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_steamdatagram_login());
    }

    // optional uint32 version = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_version());
    }

    // optional uint32 legacy_client_session_need = 3;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_legacy_client_session_need());
    }

    // optional uint32 client_launcher = 4;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_client_launcher());
    }

    // optional uint32 required_internal_addr = 7;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_required_internal_addr());
    }

    // optional uint32 socache_control = 9;
    if (cached_has_bits & 0x00000040u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_socache_control());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgServerHello::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgServerHello::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgServerHello::GetClassData() const { return &_class_data_; }


void CMsgServerHello::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgServerHello*>(&to_msg);
  auto& from = static_cast<const CMsgServerHello&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgServerHello)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.socache_have_versions_.MergeFrom(from._impl_.socache_have_versions_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_legacy_steamdatagram_routing(from._internal_legacy_steamdatagram_routing());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_steamdatagram_login(from._internal_steamdatagram_login());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.legacy_client_session_need_ = from._impl_.legacy_client_session_need_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.client_launcher_ = from._impl_.client_launcher_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.required_internal_addr_ = from._impl_.required_internal_addr_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.socache_control_ = from._impl_.socache_control_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgServerHello::IsInitialized() const {
  return true;
}

void CMsgServerHello::InternalSwap(CMsgServerHello* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.socache_have_versions_.InternalSwap(&other->_impl_.socache_have_versions_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.legacy_steamdatagram_routing_, lhs_arena,
      &other->_impl_.legacy_steamdatagram_routing_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.steamdatagram_login_, lhs_arena,
      &other->_impl_.steamdatagram_login_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgServerHello, _impl_.socache_control_)
      + sizeof(CMsgServerHello::_impl_.socache_control_)
      - PROTOBUF_FIELD_OFFSET(CMsgServerHello, _impl_.version_)>(
          reinterpret_cast<char*>(&_impl_.version_),
          reinterpret_cast<char*>(&other->_impl_.version_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgServerHello::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[23]);
}

// ===================================================================

class CMsgClientWelcome_Location::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgClientWelcome_Location>()._impl_._has_bits_);
  static void set_has_latitude(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_longitude(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_country(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgClientWelcome_Location::CMsgClientWelcome_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgClientWelcome.Location)
}
CMsgClientWelcome_Location::CMsgClientWelcome_Location(const CMsgClientWelcome_Location& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgClientWelcome_Location* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.country_){}
    , decltype(_impl_.latitude_){}
    , decltype(_impl_.longitude_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.country_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.country_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_country()) {
    _this->_impl_.country_.Set(from._internal_country(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.latitude_, &from._impl_.latitude_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.longitude_) -
    reinterpret_cast<char*>(&_impl_.latitude_)) + sizeof(_impl_.longitude_));
  // @@protoc_insertion_point(copy_constructor:CMsgClientWelcome.Location)
}

inline void CMsgClientWelcome_Location::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.country_){}
    , decltype(_impl_.latitude_){0}
    , decltype(_impl_.longitude_){0}
  };
  _impl_.country_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.country_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgClientWelcome_Location::~CMsgClientWelcome_Location() {
  // @@protoc_insertion_point(destructor:CMsgClientWelcome.Location)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgClientWelcome_Location::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.country_.Destroy();
}

void CMsgClientWelcome_Location::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgClientWelcome_Location::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgClientWelcome.Location)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.country_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.latitude_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.longitude_) -
        reinterpret_cast<char*>(&_impl_.latitude_)) + sizeof(_impl_.longitude_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgClientWelcome_Location::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional float latitude = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _Internal::set_has_latitude(&has_bits);
          _impl_.latitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional float longitude = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _Internal::set_has_longitude(&has_bits);
          _impl_.longitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional string country = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_country();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgClientWelcome.Location.country");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgClientWelcome_Location::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgClientWelcome.Location)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional float latitude = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_latitude(), target);
  }

  // optional float longitude = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_longitude(), target);
  }

  // optional string country = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_country().data(), static_cast<int>(this->_internal_country().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgClientWelcome.Location.country");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_country(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgClientWelcome.Location)
  return target;
}

size_t CMsgClientWelcome_Location::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgClientWelcome.Location)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string country = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_country());
    }

    // optional float latitude = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 4;
    }

    // optional float longitude = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgClientWelcome_Location::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgClientWelcome_Location::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgClientWelcome_Location::GetClassData() const { return &_class_data_; }


void CMsgClientWelcome_Location::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgClientWelcome_Location*>(&to_msg);
  auto& from = static_cast<const CMsgClientWelcome_Location&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgClientWelcome.Location)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_country(from._internal_country());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.latitude_ = from._impl_.latitude_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.longitude_ = from._impl_.longitude_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgClientWelcome_Location::IsInitialized() const {
  return true;
}

void CMsgClientWelcome_Location::InternalSwap(CMsgClientWelcome_Location* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.country_, lhs_arena,
      &other->_impl_.country_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgClientWelcome_Location, _impl_.longitude_)
      + sizeof(CMsgClientWelcome_Location::_impl_.longitude_)
      - PROTOBUF_FIELD_OFFSET(CMsgClientWelcome_Location, _impl_.latitude_)>(
          reinterpret_cast<char*>(&_impl_.latitude_),
          reinterpret_cast<char*>(&other->_impl_.latitude_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgClientWelcome_Location::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[24]);
}

// ===================================================================

class CMsgClientWelcome::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgClientWelcome>()._impl_._has_bits_);
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_game_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::CMsgClientWelcome_Location& location(const CMsgClientWelcome* msg);
  static void set_has_location(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_game_data2(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_rtime32_gc_welcome_timestamp(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_currency(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_balance(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_balance_url(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_txn_country_code(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::CMsgClientWelcome_Location&
CMsgClientWelcome::_Internal::location(const CMsgClientWelcome* msg) {
  return *msg->_impl_.location_;
}
CMsgClientWelcome::CMsgClientWelcome(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgClientWelcome)
}
CMsgClientWelcome::CMsgClientWelcome(const CMsgClientWelcome& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgClientWelcome* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.outofdate_subscribed_caches_){from._impl_.outofdate_subscribed_caches_}
    , decltype(_impl_.uptodate_subscribed_caches_){from._impl_.uptodate_subscribed_caches_}
    , decltype(_impl_.game_data_){}
    , decltype(_impl_.game_data2_){}
    , decltype(_impl_.balance_url_){}
    , decltype(_impl_.txn_country_code_){}
    , decltype(_impl_.location_){nullptr}
    , decltype(_impl_.version_){}
    , decltype(_impl_.rtime32_gc_welcome_timestamp_){}
    , decltype(_impl_.currency_){}
    , decltype(_impl_.balance_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.game_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_game_data()) {
    _this->_impl_.game_data_.Set(from._internal_game_data(), 
      _this->GetArenaForAllocation());
  }
  _impl_.game_data2_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_data2_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_game_data2()) {
    _this->_impl_.game_data2_.Set(from._internal_game_data2(), 
      _this->GetArenaForAllocation());
  }
  _impl_.balance_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.balance_url_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_balance_url()) {
    _this->_impl_.balance_url_.Set(from._internal_balance_url(), 
      _this->GetArenaForAllocation());
  }
  _impl_.txn_country_code_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.txn_country_code_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_txn_country_code()) {
    _this->_impl_.txn_country_code_.Set(from._internal_txn_country_code(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_location()) {
    _this->_impl_.location_ = new ::CMsgClientWelcome_Location(*from._impl_.location_);
  }
  ::memcpy(&_impl_.version_, &from._impl_.version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.balance_) -
    reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.balance_));
  // @@protoc_insertion_point(copy_constructor:CMsgClientWelcome)
}

inline void CMsgClientWelcome::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.outofdate_subscribed_caches_){arena}
    , decltype(_impl_.uptodate_subscribed_caches_){arena}
    , decltype(_impl_.game_data_){}
    , decltype(_impl_.game_data2_){}
    , decltype(_impl_.balance_url_){}
    , decltype(_impl_.txn_country_code_){}
    , decltype(_impl_.location_){nullptr}
    , decltype(_impl_.version_){0u}
    , decltype(_impl_.rtime32_gc_welcome_timestamp_){0u}
    , decltype(_impl_.currency_){0u}
    , decltype(_impl_.balance_){0u}
  };
  _impl_.game_data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.game_data2_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_data2_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.balance_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.balance_url_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.txn_country_code_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.txn_country_code_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgClientWelcome::~CMsgClientWelcome() {
  // @@protoc_insertion_point(destructor:CMsgClientWelcome)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgClientWelcome::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.outofdate_subscribed_caches_.~RepeatedPtrField();
  _impl_.uptodate_subscribed_caches_.~RepeatedPtrField();
  _impl_.game_data_.Destroy();
  _impl_.game_data2_.Destroy();
  _impl_.balance_url_.Destroy();
  _impl_.txn_country_code_.Destroy();
  if (this != internal_default_instance()) delete _impl_.location_;
}

void CMsgClientWelcome::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgClientWelcome::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgClientWelcome)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.outofdate_subscribed_caches_.Clear();
  _impl_.uptodate_subscribed_caches_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.game_data_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.game_data2_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.balance_url_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      _impl_.txn_country_code_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(_impl_.location_ != nullptr);
      _impl_.location_->Clear();
    }
  }
  if (cached_has_bits & 0x000000e0u) {
    ::memset(&_impl_.version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.currency_) -
        reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.currency_));
  }
  _impl_.balance_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgClientWelcome::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes game_data = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_game_data();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_outofdate_subscribed_caches(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_uptodate_subscribed_caches(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgClientWelcome.Location location = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_location(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bytes game_data2 = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_game_data2();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 rtime32_gc_welcome_timestamp = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_rtime32_gc_welcome_timestamp(&has_bits);
          _impl_.rtime32_gc_welcome_timestamp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 currency = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _Internal::set_has_currency(&has_bits);
          _impl_.currency_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 balance = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_balance(&has_bits);
          _impl_.balance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string balance_url = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          auto str = _internal_mutable_balance_url();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgClientWelcome.balance_url");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string txn_country_code = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_txn_country_code();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgClientWelcome.txn_country_code");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgClientWelcome::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgClientWelcome)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 version = 1;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_version(), target);
  }

  // optional bytes game_data = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        2, this->_internal_game_data(), target);
  }

  // repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_outofdate_subscribed_caches_size()); i < n; i++) {
    const auto& repfield = this->_internal_outofdate_subscribed_caches(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_uptodate_subscribed_caches_size()); i < n; i++) {
    const auto& repfield = this->_internal_uptodate_subscribed_caches(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional .CMsgClientWelcome.Location location = 5;
  if (cached_has_bits & 0x00000010u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::location(this),
        _Internal::location(this).GetCachedSize(), target, stream);
  }

  // optional bytes game_data2 = 6;
  if (cached_has_bits & 0x00000002u) {
    target = stream->WriteBytesMaybeAliased(
        6, this->_internal_game_data2(), target);
  }

  // optional uint32 rtime32_gc_welcome_timestamp = 7;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_rtime32_gc_welcome_timestamp(), target);
  }

  // optional uint32 currency = 8;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(8, this->_internal_currency(), target);
  }

  // optional uint32 balance = 9;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_balance(), target);
  }

  // optional string balance_url = 10;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_balance_url().data(), static_cast<int>(this->_internal_balance_url().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgClientWelcome.balance_url");
    target = stream->WriteStringMaybeAliased(
        10, this->_internal_balance_url(), target);
  }

  // optional string txn_country_code = 11;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_txn_country_code().data(), static_cast<int>(this->_internal_txn_country_code().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgClientWelcome.txn_country_code");
    target = stream->WriteStringMaybeAliased(
        11, this->_internal_txn_country_code(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgClientWelcome)
  return target;
}

size_t CMsgClientWelcome::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgClientWelcome)
  size_t total_size = 0;

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

  // repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
  total_size += 1UL * this->_internal_outofdate_subscribed_caches_size();
  for (const auto& msg : this->_impl_.outofdate_subscribed_caches_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
  total_size += 1UL * this->_internal_uptodate_subscribed_caches_size();
  for (const auto& msg : this->_impl_.uptodate_subscribed_caches_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional bytes game_data = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_game_data());
    }

    // optional bytes game_data2 = 6;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
          this->_internal_game_data2());
    }

    // optional string balance_url = 10;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_balance_url());
    }

    // optional string txn_country_code = 11;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_txn_country_code());
    }

    // optional .CMsgClientWelcome.Location location = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.location_);
    }

    // optional uint32 version = 1;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_version());
    }

    // optional uint32 rtime32_gc_welcome_timestamp = 7;
    if (cached_has_bits & 0x00000040u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_rtime32_gc_welcome_timestamp());
    }

    // optional uint32 currency = 8;
    if (cached_has_bits & 0x00000080u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_currency());
    }

  }
  // optional uint32 balance = 9;
  if (cached_has_bits & 0x00000100u) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_balance());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgClientWelcome::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgClientWelcome::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgClientWelcome::GetClassData() const { return &_class_data_; }


void CMsgClientWelcome::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgClientWelcome*>(&to_msg);
  auto& from = static_cast<const CMsgClientWelcome&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgClientWelcome)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.outofdate_subscribed_caches_.MergeFrom(from._impl_.outofdate_subscribed_caches_);
  _this->_impl_.uptodate_subscribed_caches_.MergeFrom(from._impl_.uptodate_subscribed_caches_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_game_data(from._internal_game_data());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_game_data2(from._internal_game_data2());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_balance_url(from._internal_balance_url());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_set_txn_country_code(from._internal_txn_country_code());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_location()->::CMsgClientWelcome_Location::MergeFrom(
          from._internal_location());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.rtime32_gc_welcome_timestamp_ = from._impl_.rtime32_gc_welcome_timestamp_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.currency_ = from._impl_.currency_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000100u) {
    _this->_internal_set_balance(from._internal_balance());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgClientWelcome::IsInitialized() const {
  return true;
}

void CMsgClientWelcome::InternalSwap(CMsgClientWelcome* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.outofdate_subscribed_caches_.InternalSwap(&other->_impl_.outofdate_subscribed_caches_);
  _impl_.uptodate_subscribed_caches_.InternalSwap(&other->_impl_.uptodate_subscribed_caches_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.game_data_, lhs_arena,
      &other->_impl_.game_data_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.game_data2_, lhs_arena,
      &other->_impl_.game_data2_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.balance_url_, lhs_arena,
      &other->_impl_.balance_url_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.txn_country_code_, lhs_arena,
      &other->_impl_.txn_country_code_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgClientWelcome, _impl_.balance_)
      + sizeof(CMsgClientWelcome::_impl_.balance_)
      - PROTOBUF_FIELD_OFFSET(CMsgClientWelcome, _impl_.location_)>(
          reinterpret_cast<char*>(&_impl_.location_),
          reinterpret_cast<char*>(&other->_impl_.location_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgClientWelcome::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[25]);
}

// ===================================================================

class CMsgConnectionStatus::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgConnectionStatus>()._impl_._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_client_session_need(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_queue_position(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_queue_size(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_wait_seconds(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_estimated_wait_seconds_remaining(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
};

CMsgConnectionStatus::CMsgConnectionStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgConnectionStatus)
}
CMsgConnectionStatus::CMsgConnectionStatus(const CMsgConnectionStatus& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgConnectionStatus* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.status_){}
    , decltype(_impl_.client_session_need_){}
    , decltype(_impl_.queue_position_){}
    , decltype(_impl_.queue_size_){}
    , decltype(_impl_.wait_seconds_){}
    , decltype(_impl_.estimated_wait_seconds_remaining_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.status_, &from._impl_.status_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.estimated_wait_seconds_remaining_) -
    reinterpret_cast<char*>(&_impl_.status_)) + sizeof(_impl_.estimated_wait_seconds_remaining_));
  // @@protoc_insertion_point(copy_constructor:CMsgConnectionStatus)
}

inline void CMsgConnectionStatus::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.status_){0}
    , decltype(_impl_.client_session_need_){0u}
    , decltype(_impl_.queue_position_){0}
    , decltype(_impl_.queue_size_){0}
    , decltype(_impl_.wait_seconds_){0}
    , decltype(_impl_.estimated_wait_seconds_remaining_){0}
  };
}

CMsgConnectionStatus::~CMsgConnectionStatus() {
  // @@protoc_insertion_point(destructor:CMsgConnectionStatus)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgConnectionStatus::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgConnectionStatus::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgConnectionStatus::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgConnectionStatus)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    ::memset(&_impl_.status_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.estimated_wait_seconds_remaining_) -
        reinterpret_cast<char*>(&_impl_.status_)) + sizeof(_impl_.estimated_wait_seconds_remaining_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgConnectionStatus::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::GCConnectionStatus_IsValid(val))) {
            _internal_set_status(static_cast<::GCConnectionStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else
          goto handle_unusual;
        continue;
      // optional uint32 client_session_need = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_client_session_need(&has_bits);
          _impl_.client_session_need_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional int32 queue_position = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_queue_position(&has_bits);
          _impl_.queue_position_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional int32 queue_size = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_queue_size(&has_bits);
          _impl_.queue_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional int32 wait_seconds = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_wait_seconds(&has_bits);
          _impl_.wait_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional int32 estimated_wait_seconds_remaining = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_estimated_wait_seconds_remaining(&has_bits);
          _impl_.estimated_wait_seconds_remaining_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgConnectionStatus::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgConnectionStatus)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // optional uint32 client_session_need = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_client_session_need(), target);
  }

  // optional int32 queue_position = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_queue_position(), target);
  }

  // optional int32 queue_size = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_queue_size(), target);
  }

  // optional int32 wait_seconds = 5;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_wait_seconds(), target);
  }

  // optional int32 estimated_wait_seconds_remaining = 6;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_estimated_wait_seconds_remaining(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgConnectionStatus)
  return target;
}

size_t CMsgConnectionStatus::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgConnectionStatus)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::_pbi::WireFormatLite::EnumSize(this->_internal_status());
    }

    // optional uint32 client_session_need = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_client_session_need());
    }

    // optional int32 queue_position = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_queue_position());
    }

    // optional int32 queue_size = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_queue_size());
    }

    // optional int32 wait_seconds = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_wait_seconds());
    }

    // optional int32 estimated_wait_seconds_remaining = 6;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_estimated_wait_seconds_remaining());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgConnectionStatus::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgConnectionStatus::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgConnectionStatus::GetClassData() const { return &_class_data_; }


void CMsgConnectionStatus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgConnectionStatus*>(&to_msg);
  auto& from = static_cast<const CMsgConnectionStatus&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgConnectionStatus)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.status_ = from._impl_.status_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.client_session_need_ = from._impl_.client_session_need_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.queue_position_ = from._impl_.queue_position_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.queue_size_ = from._impl_.queue_size_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.wait_seconds_ = from._impl_.wait_seconds_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.estimated_wait_seconds_remaining_ = from._impl_.estimated_wait_seconds_remaining_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgConnectionStatus::IsInitialized() const {
  return true;
}

void CMsgConnectionStatus::InternalSwap(CMsgConnectionStatus* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgConnectionStatus, _impl_.estimated_wait_seconds_remaining_)
      + sizeof(CMsgConnectionStatus::_impl_.estimated_wait_seconds_remaining_)
      - PROTOBUF_FIELD_OFFSET(CMsgConnectionStatus, _impl_.status_)>(
          reinterpret_cast<char*>(&_impl_.status_),
          reinterpret_cast<char*>(&other->_impl_.status_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgConnectionStatus::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[26]);
}

// ===================================================================

class CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription>()._impl_._has_bits_);
  static void set_has_gameitemid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_item_description(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_one_per_account(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
}
CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.item_description_){}
    , decltype(_impl_.gameitemid_){}
    , decltype(_impl_.one_per_account_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.item_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.item_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_item_description()) {
    _this->_impl_.item_description_.Set(from._internal_item_description(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.gameitemid_, &from._impl_.gameitemid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.one_per_account_) -
    reinterpret_cast<char*>(&_impl_.gameitemid_)) + sizeof(_impl_.one_per_account_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
}

inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.item_description_){}
    , decltype(_impl_.gameitemid_){0u}
    , decltype(_impl_.one_per_account_){false}
  };
  _impl_.item_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.item_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::~CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription() {
  // @@protoc_insertion_point(destructor:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.item_description_.Destroy();
}

void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.item_description_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.gameitemid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.one_per_account_) -
        reinterpret_cast<char*>(&_impl_.gameitemid_)) + sizeof(_impl_.one_per_account_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 gameitemid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_gameitemid(&has_bits);
          _impl_.gameitemid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string item_description = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_item_description();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional bool one_per_account = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_one_per_account(&has_bits);
          _impl_.one_per_account_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 gameitemid = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_gameitemid(), target);
  }

  // optional string item_description = 2;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_item_description().data(), static_cast<int>(this->_internal_item_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_item_description(), target);
  }

  // optional bool one_per_account = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_one_per_account(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  return target;
}

size_t CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string item_description = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_item_description());
    }

    // optional uint32 gameitemid = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gameitemid());
    }

    // optional bool one_per_account = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 1;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::GetClassData() const { return &_class_data_; }


void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription*>(&to_msg);
  auto& from = static_cast<const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_item_description(from._internal_item_description());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.gameitemid_ = from._impl_.gameitemid_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.one_per_account_ = from._impl_.one_per_account_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::IsInitialized() const {
  return true;
}

void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::InternalSwap(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.item_description_, lhs_arena,
      &other->_impl_.item_description_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_.one_per_account_)
      + sizeof(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_impl_.one_per_account_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription, _impl_.gameitemid_)>(
          reinterpret_cast<char*>(&_impl_.gameitemid_),
          reinterpret_cast<char*>(&other->_impl_.gameitemid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[27]);
}

// ===================================================================

class CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock>()._impl_._has_bits_);
  static void set_has_language(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
}
CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.descriptions_){from._impl_.descriptions_}
    , decltype(_impl_.language_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.language_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.language_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_language()) {
    _this->_impl_.language_.Set(from._internal_language(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
}

inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.descriptions_){arena}
    , decltype(_impl_.language_){}
  };
  _impl_.language_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.language_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::~CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock() {
  // @@protoc_insertion_point(destructor:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.descriptions_.~RepeatedPtrField();
  _impl_.language_.Destroy();
}

void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.descriptions_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.language_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string language = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_language();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_descriptions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string language = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_language().data(), static_cast<int>(this->_internal_language().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_language(), target);
  }

  // repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_descriptions_size()); i < n; i++) {
    const auto& repfield = this->_internal_descriptions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  return target;
}

size_t CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  size_t total_size = 0;

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

  // repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
  total_size += 1UL * this->_internal_descriptions_size();
  for (const auto& msg : this->_impl_.descriptions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // optional string language = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_language());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::GetClassData() const { return &_class_data_; }


void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock*>(&to_msg);
  auto& from = static_cast<const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.descriptions_.MergeFrom(from._impl_.descriptions_);
  if (from._internal_has_language()) {
    _this->_internal_set_language(from._internal_language());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::IsInitialized() const {
  return true;
}

void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::InternalSwap(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.descriptions_.InternalSwap(&other->_impl_.descriptions_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.language_, lhs_arena,
      &other->_impl_.language_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[28]);
}

// ===================================================================

class CWorkshop_PopulateItemDescriptions_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_PopulateItemDescriptions_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CWorkshop_PopulateItemDescriptions_Request::CWorkshop_PopulateItemDescriptions_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_PopulateItemDescriptions_Request)
}
CWorkshop_PopulateItemDescriptions_Request::CWorkshop_PopulateItemDescriptions_Request(const CWorkshop_PopulateItemDescriptions_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_PopulateItemDescriptions_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.languages_){from._impl_.languages_}
    , decltype(_impl_.appid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.appid_ = from._impl_.appid_;
  // @@protoc_insertion_point(copy_constructor:CWorkshop_PopulateItemDescriptions_Request)
}

inline void CWorkshop_PopulateItemDescriptions_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.languages_){arena}
    , decltype(_impl_.appid_){0u}
  };
}

CWorkshop_PopulateItemDescriptions_Request::~CWorkshop_PopulateItemDescriptions_Request() {
  // @@protoc_insertion_point(destructor:CWorkshop_PopulateItemDescriptions_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_PopulateItemDescriptions_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.languages_.~RepeatedPtrField();
}

void CWorkshop_PopulateItemDescriptions_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_PopulateItemDescriptions_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_PopulateItemDescriptions_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.languages_.Clear();
  _impl_.appid_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_PopulateItemDescriptions_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_languages(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_PopulateItemDescriptions_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_PopulateItemDescriptions_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_languages_size()); i < n; i++) {
    const auto& repfield = this->_internal_languages(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_PopulateItemDescriptions_Request)
  return target;
}

size_t CWorkshop_PopulateItemDescriptions_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_PopulateItemDescriptions_Request)
  size_t total_size = 0;

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

  // repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
  total_size += 1UL * this->_internal_languages_size();
  for (const auto& msg : this->_impl_.languages_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // optional uint32 appid = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_PopulateItemDescriptions_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_PopulateItemDescriptions_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_PopulateItemDescriptions_Request::GetClassData() const { return &_class_data_; }


void CWorkshop_PopulateItemDescriptions_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_PopulateItemDescriptions_Request*>(&to_msg);
  auto& from = static_cast<const CWorkshop_PopulateItemDescriptions_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_PopulateItemDescriptions_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.languages_.MergeFrom(from._impl_.languages_);
  if (from._internal_has_appid()) {
    _this->_internal_set_appid(from._internal_appid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_PopulateItemDescriptions_Request::IsInitialized() const {
  return true;
}

void CWorkshop_PopulateItemDescriptions_Request::InternalSwap(CWorkshop_PopulateItemDescriptions_Request* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.languages_.InternalSwap(&other->_impl_.languages_);
  swap(_impl_.appid_, other->_impl_.appid_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_PopulateItemDescriptions_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[29]);
}

// ===================================================================

class CWorkshop_GetContributors_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_GetContributors_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_gameitemid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CWorkshop_GetContributors_Request::CWorkshop_GetContributors_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_GetContributors_Request)
}
CWorkshop_GetContributors_Request::CWorkshop_GetContributors_Request(const CWorkshop_GetContributors_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_GetContributors_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.appid_){}
    , decltype(_impl_.gameitemid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.appid_, &from._impl_.appid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.gameitemid_) -
    reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.gameitemid_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_GetContributors_Request)
}

inline void CWorkshop_GetContributors_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.appid_){0u}
    , decltype(_impl_.gameitemid_){0u}
  };
}

CWorkshop_GetContributors_Request::~CWorkshop_GetContributors_Request() {
  // @@protoc_insertion_point(destructor:CWorkshop_GetContributors_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_GetContributors_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CWorkshop_GetContributors_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_GetContributors_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_GetContributors_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.appid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.gameitemid_) -
        reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.gameitemid_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_GetContributors_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gameitemid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_gameitemid(&has_bits);
          _impl_.gameitemid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_GetContributors_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_GetContributors_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional uint32 gameitemid = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_gameitemid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_GetContributors_Request)
  return target;
}

size_t CWorkshop_GetContributors_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_GetContributors_Request)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

    // optional uint32 gameitemid = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gameitemid());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_GetContributors_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_GetContributors_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_GetContributors_Request::GetClassData() const { return &_class_data_; }


void CWorkshop_GetContributors_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_GetContributors_Request*>(&to_msg);
  auto& from = static_cast<const CWorkshop_GetContributors_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_GetContributors_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.gameitemid_ = from._impl_.gameitemid_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_GetContributors_Request::IsInitialized() const {
  return true;
}

void CWorkshop_GetContributors_Request::InternalSwap(CWorkshop_GetContributors_Request* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_GetContributors_Request, _impl_.gameitemid_)
      + sizeof(CWorkshop_GetContributors_Request::_impl_.gameitemid_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_GetContributors_Request, _impl_.appid_)>(
          reinterpret_cast<char*>(&_impl_.appid_),
          reinterpret_cast<char*>(&other->_impl_.appid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_GetContributors_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[30]);
}

// ===================================================================

class CWorkshop_GetContributors_Response::_Internal {
 public:
};

CWorkshop_GetContributors_Response::CWorkshop_GetContributors_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_GetContributors_Response)
}
CWorkshop_GetContributors_Response::CWorkshop_GetContributors_Response(const CWorkshop_GetContributors_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_GetContributors_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.contributors_){from._impl_.contributors_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CWorkshop_GetContributors_Response)
}

inline void CWorkshop_GetContributors_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.contributors_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CWorkshop_GetContributors_Response::~CWorkshop_GetContributors_Response() {
  // @@protoc_insertion_point(destructor:CWorkshop_GetContributors_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_GetContributors_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.contributors_.~RepeatedField();
}

void CWorkshop_GetContributors_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_GetContributors_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_GetContributors_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.contributors_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_GetContributors_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated fixed64 contributors = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
          ptr -= 1;
          do {
            ptr += 1;
            _internal_add_contributors(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr));
            ptr += sizeof(uint64_t);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<9>(ptr));
        } else if (static_cast<uint8_t>(tag) == 10) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFixed64Parser(_internal_mutable_contributors(), ptr, ctx);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_GetContributors_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_GetContributors_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated fixed64 contributors = 1;
  for (int i = 0, n = this->_internal_contributors_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_contributors(i), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_GetContributors_Response)
  return target;
}

size_t CWorkshop_GetContributors_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_GetContributors_Response)
  size_t total_size = 0;

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

  // repeated fixed64 contributors = 1;
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_contributors_size());
    size_t data_size = 8UL * count;
    total_size += 1 *
                  ::_pbi::FromIntSize(this->_internal_contributors_size());
    total_size += data_size;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_GetContributors_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_GetContributors_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_GetContributors_Response::GetClassData() const { return &_class_data_; }


void CWorkshop_GetContributors_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_GetContributors_Response*>(&to_msg);
  auto& from = static_cast<const CWorkshop_GetContributors_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_GetContributors_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.contributors_.MergeFrom(from._impl_.contributors_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_GetContributors_Response::IsInitialized() const {
  return true;
}

void CWorkshop_GetContributors_Response::InternalSwap(CWorkshop_GetContributors_Response* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.contributors_.InternalSwap(&other->_impl_.contributors_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_GetContributors_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[31]);
}

// ===================================================================

class CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule>()._impl_._has_bits_);
  static void set_has_workshop_file_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_revenue_percentage(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_rule_description(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_rule_type(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
}
CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.workshop_file_id_){}
    , decltype(_impl_.revenue_percentage_){}
    , decltype(_impl_.rule_type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_rule_description()) {
    _this->_impl_.rule_description_.Set(from._internal_rule_description(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.workshop_file_id_, &from._impl_.workshop_file_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.rule_type_) -
    reinterpret_cast<char*>(&_impl_.workshop_file_id_)) + sizeof(_impl_.rule_type_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
}

inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.workshop_file_id_){uint64_t{0u}}
    , decltype(_impl_.revenue_percentage_){0}
    , decltype(_impl_.rule_type_){1u}
  };
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::~CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule() {
  // @@protoc_insertion_point(destructor:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.rule_description_.Destroy();
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.rule_description_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x0000000eu) {
    ::memset(&_impl_.workshop_file_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.revenue_percentage_) -
        reinterpret_cast<char*>(&_impl_.workshop_file_id_)) + sizeof(_impl_.revenue_percentage_));
    _impl_.rule_type_ = 1u;
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint64 workshop_file_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_workshop_file_id(&has_bits);
          _impl_.workshop_file_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional float revenue_percentage = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _Internal::set_has_revenue_percentage(&has_bits);
          _impl_.revenue_percentage_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional string rule_description = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_rule_description();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 rule_type = 4 [default = 1];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_rule_type(&has_bits);
          _impl_.rule_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint64 workshop_file_id = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_workshop_file_id(), target);
  }

  // optional float revenue_percentage = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_revenue_percentage(), target);
  }

  // optional string rule_description = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_rule_description().data(), static_cast<int>(this->_internal_rule_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_rule_description(), target);
  }

  // optional uint32 rule_type = 4 [default = 1];
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_rule_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  return target;
}

size_t CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // optional string rule_description = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_rule_description());
    }

    // optional uint64 workshop_file_id = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_workshop_file_id());
    }

    // optional float revenue_percentage = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

    // optional uint32 rule_type = 4 [default = 1];
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_rule_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::GetClassData() const { return &_class_data_; }


void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule*>(&to_msg);
  auto& from = static_cast<const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_rule_description(from._internal_rule_description());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.workshop_file_id_ = from._impl_.workshop_file_id_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.revenue_percentage_ = from._impl_.revenue_percentage_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.rule_type_ = from._impl_.rule_type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::IsInitialized() const {
  return true;
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::InternalSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.rule_description_, lhs_arena,
      &other->_impl_.rule_description_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.revenue_percentage_)
      + sizeof(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_impl_.revenue_percentage_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule, _impl_.workshop_file_id_)>(
          reinterpret_cast<char*>(&_impl_.workshop_file_id_),
          reinterpret_cast<char*>(&other->_impl_.workshop_file_id_));
  swap(_impl_.rule_type_, other->_impl_.rule_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[32]);
}

// ===================================================================

class CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule>()._impl_._has_bits_);
  static void set_has_workshop_file_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_rule_description(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
}
CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.workshop_file_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_rule_description()) {
    _this->_impl_.rule_description_.Set(from._internal_rule_description(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.workshop_file_id_ = from._impl_.workshop_file_id_;
  // @@protoc_insertion_point(copy_constructor:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
}

inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.workshop_file_id_){uint64_t{0u}}
  };
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::~CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule() {
  // @@protoc_insertion_point(destructor:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.rule_description_.Destroy();
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.rule_description_.ClearNonDefaultToEmpty();
  }
  _impl_.workshop_file_id_ = uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint64 workshop_file_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_workshop_file_id(&has_bits);
          _impl_.workshop_file_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string rule_description = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_rule_description();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint64 workshop_file_id = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_workshop_file_id(), target);
  }

  // optional string rule_description = 2;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_rule_description().data(), static_cast<int>(this->_internal_rule_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_rule_description(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  return target;
}

size_t CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string rule_description = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_rule_description());
    }

    // optional uint64 workshop_file_id = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_workshop_file_id());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::GetClassData() const { return &_class_data_; }


void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule*>(&to_msg);
  auto& from = static_cast<const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_rule_description(from._internal_rule_description());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.workshop_file_id_ = from._impl_.workshop_file_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::IsInitialized() const {
  return true;
}

void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::InternalSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.rule_description_, lhs_arena,
      &other->_impl_.rule_description_, rhs_arena
  );
  swap(_impl_.workshop_file_id_, other->_impl_.workshop_file_id_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[33]);
}

// ===================================================================

class CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule>()._impl_._has_bits_);
  static void set_has_account_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_revenue_percentage(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_rule_description(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
}
CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.account_id_){}
    , decltype(_impl_.revenue_percentage_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_rule_description()) {
    _this->_impl_.rule_description_.Set(from._internal_rule_description(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.account_id_, &from._impl_.account_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.revenue_percentage_) -
    reinterpret_cast<char*>(&_impl_.account_id_)) + sizeof(_impl_.revenue_percentage_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
}

inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.rule_description_){}
    , decltype(_impl_.account_id_){0u}
    , decltype(_impl_.revenue_percentage_){0}
  };
  _impl_.rule_description_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::~CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule() {
  // @@protoc_insertion_point(destructor:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.rule_description_.Destroy();
}

void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.rule_description_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.account_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.revenue_percentage_) -
        reinterpret_cast<char*>(&_impl_.account_id_)) + sizeof(_impl_.revenue_percentage_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 account_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_account_id(&has_bits);
          _impl_.account_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional float revenue_percentage = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _Internal::set_has_revenue_percentage(&has_bits);
          _impl_.revenue_percentage_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional string rule_description = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_rule_description();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 account_id = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_account_id(), target);
  }

  // optional float revenue_percentage = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_revenue_percentage(), target);
  }

  // optional string rule_description = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_rule_description().data(), static_cast<int>(this->_internal_rule_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_rule_description(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  return target;
}

size_t CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string rule_description = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_rule_description());
    }

    // optional uint32 account_id = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_account_id());
    }

    // optional float revenue_percentage = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::GetClassData() const { return &_class_data_; }


void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule*>(&to_msg);
  auto& from = static_cast<const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_rule_description(from._internal_rule_description());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.account_id_ = from._impl_.account_id_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.revenue_percentage_ = from._impl_.revenue_percentage_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::IsInitialized() const {
  return true;
}

void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::InternalSwap(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.rule_description_, lhs_arena,
      &other->_impl_.rule_description_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_.revenue_percentage_)
      + sizeof(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_impl_.revenue_percentage_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule, _impl_.account_id_)>(
          reinterpret_cast<char*>(&_impl_.account_id_),
          reinterpret_cast<char*>(&other->_impl_.account_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[34]);
}

// ===================================================================

class CWorkshop_SetItemPaymentRules_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_SetItemPaymentRules_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_gameitemid(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_validate_only(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_make_workshop_files_subscribable(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& associated_workshop_file_for_direct_payments(const CWorkshop_SetItemPaymentRules_Request* msg);
  static void set_has_associated_workshop_file_for_direct_payments(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule&
CWorkshop_SetItemPaymentRules_Request::_Internal::associated_workshop_file_for_direct_payments(const CWorkshop_SetItemPaymentRules_Request* msg) {
  return *msg->_impl_.associated_workshop_file_for_direct_payments_;
}
CWorkshop_SetItemPaymentRules_Request::CWorkshop_SetItemPaymentRules_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_SetItemPaymentRules_Request)
}
CWorkshop_SetItemPaymentRules_Request::CWorkshop_SetItemPaymentRules_Request(const CWorkshop_SetItemPaymentRules_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_SetItemPaymentRules_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.associated_workshop_files_){from._impl_.associated_workshop_files_}
    , decltype(_impl_.partner_accounts_){from._impl_.partner_accounts_}
    , decltype(_impl_.associated_workshop_file_for_direct_payments_){nullptr}
    , decltype(_impl_.appid_){}
    , decltype(_impl_.gameitemid_){}
    , decltype(_impl_.validate_only_){}
    , decltype(_impl_.make_workshop_files_subscribable_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_associated_workshop_file_for_direct_payments()) {
    _this->_impl_.associated_workshop_file_for_direct_payments_ = new ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(*from._impl_.associated_workshop_file_for_direct_payments_);
  }
  ::memcpy(&_impl_.appid_, &from._impl_.appid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.make_workshop_files_subscribable_) -
    reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.make_workshop_files_subscribable_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_SetItemPaymentRules_Request)
}

inline void CWorkshop_SetItemPaymentRules_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.associated_workshop_files_){arena}
    , decltype(_impl_.partner_accounts_){arena}
    , decltype(_impl_.associated_workshop_file_for_direct_payments_){nullptr}
    , decltype(_impl_.appid_){0u}
    , decltype(_impl_.gameitemid_){0u}
    , decltype(_impl_.validate_only_){false}
    , decltype(_impl_.make_workshop_files_subscribable_){false}
  };
}

CWorkshop_SetItemPaymentRules_Request::~CWorkshop_SetItemPaymentRules_Request() {
  // @@protoc_insertion_point(destructor:CWorkshop_SetItemPaymentRules_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_SetItemPaymentRules_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.associated_workshop_files_.~RepeatedPtrField();
  _impl_.partner_accounts_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.associated_workshop_file_for_direct_payments_;
}

void CWorkshop_SetItemPaymentRules_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_SetItemPaymentRules_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_SetItemPaymentRules_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.associated_workshop_files_.Clear();
  _impl_.partner_accounts_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.associated_workshop_file_for_direct_payments_ != nullptr);
    _impl_.associated_workshop_file_for_direct_payments_->Clear();
  }
  if (cached_has_bits & 0x0000001eu) {
    ::memset(&_impl_.appid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.make_workshop_files_subscribable_) -
        reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.make_workshop_files_subscribable_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_SetItemPaymentRules_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gameitemid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_gameitemid(&has_bits);
          _impl_.gameitemid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_associated_workshop_files(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_partner_accounts(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional bool validate_only = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_validate_only(&has_bits);
          _impl_.validate_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional bool make_workshop_files_subscribable = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_make_workshop_files_subscribable(&has_bits);
          _impl_.make_workshop_files_subscribable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_associated_workshop_file_for_direct_payments(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_SetItemPaymentRules_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_SetItemPaymentRules_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional uint32 gameitemid = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_gameitemid(), target);
  }

  // repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_associated_workshop_files_size()); i < n; i++) {
    const auto& repfield = this->_internal_associated_workshop_files(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_partner_accounts_size()); i < n; i++) {
    const auto& repfield = this->_internal_partner_accounts(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional bool validate_only = 5;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_validate_only(), target);
  }

  // optional bool make_workshop_files_subscribable = 6;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_make_workshop_files_subscribable(), target);
  }

  // optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::associated_workshop_file_for_direct_payments(this),
        _Internal::associated_workshop_file_for_direct_payments(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_SetItemPaymentRules_Request)
  return target;
}

size_t CWorkshop_SetItemPaymentRules_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_SetItemPaymentRules_Request)
  size_t total_size = 0;

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

  // repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
  total_size += 1UL * this->_internal_associated_workshop_files_size();
  for (const auto& msg : this->_impl_.associated_workshop_files_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
  total_size += 1UL * this->_internal_partner_accounts_size();
  for (const auto& msg : this->_impl_.partner_accounts_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.associated_workshop_file_for_direct_payments_);
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

    // optional uint32 gameitemid = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gameitemid());
    }

    // optional bool validate_only = 5;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 + 1;
    }

    // optional bool make_workshop_files_subscribable = 6;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 1;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_SetItemPaymentRules_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_SetItemPaymentRules_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_SetItemPaymentRules_Request::GetClassData() const { return &_class_data_; }


void CWorkshop_SetItemPaymentRules_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_SetItemPaymentRules_Request*>(&to_msg);
  auto& from = static_cast<const CWorkshop_SetItemPaymentRules_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_SetItemPaymentRules_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.associated_workshop_files_.MergeFrom(from._impl_.associated_workshop_files_);
  _this->_impl_.partner_accounts_.MergeFrom(from._impl_.partner_accounts_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_associated_workshop_file_for_direct_payments()->::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::MergeFrom(
          from._internal_associated_workshop_file_for_direct_payments());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.gameitemid_ = from._impl_.gameitemid_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.validate_only_ = from._impl_.validate_only_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.make_workshop_files_subscribable_ = from._impl_.make_workshop_files_subscribable_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_SetItemPaymentRules_Request::IsInitialized() const {
  return true;
}

void CWorkshop_SetItemPaymentRules_Request::InternalSwap(CWorkshop_SetItemPaymentRules_Request* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.associated_workshop_files_.InternalSwap(&other->_impl_.associated_workshop_files_);
  _impl_.partner_accounts_.InternalSwap(&other->_impl_.partner_accounts_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request, _impl_.make_workshop_files_subscribable_)
      + sizeof(CWorkshop_SetItemPaymentRules_Request::_impl_.make_workshop_files_subscribable_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_SetItemPaymentRules_Request, _impl_.associated_workshop_file_for_direct_payments_)>(
          reinterpret_cast<char*>(&_impl_.associated_workshop_file_for_direct_payments_),
          reinterpret_cast<char*>(&other->_impl_.associated_workshop_file_for_direct_payments_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_SetItemPaymentRules_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[35]);
}

// ===================================================================

class CWorkshop_SetItemPaymentRules_Response::_Internal {
 public:
};

CWorkshop_SetItemPaymentRules_Response::CWorkshop_SetItemPaymentRules_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:CWorkshop_SetItemPaymentRules_Response)
}
CWorkshop_SetItemPaymentRules_Response::CWorkshop_SetItemPaymentRules_Response(const CWorkshop_SetItemPaymentRules_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  CWorkshop_SetItemPaymentRules_Response* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CWorkshop_SetItemPaymentRules_Response)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_SetItemPaymentRules_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_SetItemPaymentRules_Response::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_SetItemPaymentRules_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[36]);
}

// ===================================================================

class CGameServers_AggregationQuery_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CGameServers_AggregationQuery_Request>()._impl_._has_bits_);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CGameServers_AggregationQuery_Request::CGameServers_AggregationQuery_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGameServers_AggregationQuery_Request)
}
CGameServers_AggregationQuery_Request::CGameServers_AggregationQuery_Request(const CGameServers_AggregationQuery_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGameServers_AggregationQuery_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.group_fields_){from._impl_.group_fields_}
    , decltype(_impl_.filter_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.filter_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filter_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_filter()) {
    _this->_impl_.filter_.Set(from._internal_filter(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CGameServers_AggregationQuery_Request)
}

inline void CGameServers_AggregationQuery_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.group_fields_){arena}
    , decltype(_impl_.filter_){}
  };
  _impl_.filter_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.filter_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CGameServers_AggregationQuery_Request::~CGameServers_AggregationQuery_Request() {
  // @@protoc_insertion_point(destructor:CGameServers_AggregationQuery_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGameServers_AggregationQuery_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.group_fields_.~RepeatedPtrField();
  _impl_.filter_.Destroy();
}

void CGameServers_AggregationQuery_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGameServers_AggregationQuery_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CGameServers_AggregationQuery_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.group_fields_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.filter_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGameServers_AggregationQuery_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_filter();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CGameServers_AggregationQuery_Request.filter");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // repeated string group_fields = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_group_fields();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            #ifndef NDEBUG
            ::_pbi::VerifyUTF8(str, "CGameServers_AggregationQuery_Request.group_fields");
            #endif  // !NDEBUG
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGameServers_AggregationQuery_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGameServers_AggregationQuery_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string filter = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_filter().data(), static_cast<int>(this->_internal_filter().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CGameServers_AggregationQuery_Request.filter");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_filter(), target);
  }

  // repeated string group_fields = 3;
  for (int i = 0, n = this->_internal_group_fields_size(); i < n; i++) {
    const auto& s = this->_internal_group_fields(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CGameServers_AggregationQuery_Request.group_fields");
    target = stream->WriteString(3, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGameServers_AggregationQuery_Request)
  return target;
}

size_t CGameServers_AggregationQuery_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGameServers_AggregationQuery_Request)
  size_t total_size = 0;

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

  // repeated string group_fields = 3;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.group_fields_.size());
  for (int i = 0, n = _impl_.group_fields_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      _impl_.group_fields_.Get(i));
  }

  // optional string filter = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filter());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGameServers_AggregationQuery_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGameServers_AggregationQuery_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGameServers_AggregationQuery_Request::GetClassData() const { return &_class_data_; }


void CGameServers_AggregationQuery_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGameServers_AggregationQuery_Request*>(&to_msg);
  auto& from = static_cast<const CGameServers_AggregationQuery_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGameServers_AggregationQuery_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.group_fields_.MergeFrom(from._impl_.group_fields_);
  if (from._internal_has_filter()) {
    _this->_internal_set_filter(from._internal_filter());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGameServers_AggregationQuery_Request::IsInitialized() const {
  return true;
}

void CGameServers_AggregationQuery_Request::InternalSwap(CGameServers_AggregationQuery_Request* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.group_fields_.InternalSwap(&other->_impl_.group_fields_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.filter_, lhs_arena,
      &other->_impl_.filter_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CGameServers_AggregationQuery_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[37]);
}

// ===================================================================

class CGameServers_AggregationQuery_Response_Group::_Internal {
 public:
  using HasBits = decltype(std::declval<CGameServers_AggregationQuery_Response_Group>()._impl_._has_bits_);
  static void set_has_servers_empty(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_servers_full(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_servers_total(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_players_humans(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_players_bots(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_player_capacity(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
};

CGameServers_AggregationQuery_Response_Group::CGameServers_AggregationQuery_Response_Group(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGameServers_AggregationQuery_Response.Group)
}
CGameServers_AggregationQuery_Response_Group::CGameServers_AggregationQuery_Response_Group(const CGameServers_AggregationQuery_Response_Group& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGameServers_AggregationQuery_Response_Group* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.group_values_){from._impl_.group_values_}
    , decltype(_impl_.servers_empty_){}
    , decltype(_impl_.servers_full_){}
    , decltype(_impl_.servers_total_){}
    , decltype(_impl_.players_humans_){}
    , decltype(_impl_.players_bots_){}
    , decltype(_impl_.player_capacity_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.servers_empty_, &from._impl_.servers_empty_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.player_capacity_) -
    reinterpret_cast<char*>(&_impl_.servers_empty_)) + sizeof(_impl_.player_capacity_));
  // @@protoc_insertion_point(copy_constructor:CGameServers_AggregationQuery_Response.Group)
}

inline void CGameServers_AggregationQuery_Response_Group::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.group_values_){arena}
    , decltype(_impl_.servers_empty_){0u}
    , decltype(_impl_.servers_full_){0u}
    , decltype(_impl_.servers_total_){0u}
    , decltype(_impl_.players_humans_){0u}
    , decltype(_impl_.players_bots_){0u}
    , decltype(_impl_.player_capacity_){0u}
  };
}

CGameServers_AggregationQuery_Response_Group::~CGameServers_AggregationQuery_Response_Group() {
  // @@protoc_insertion_point(destructor:CGameServers_AggregationQuery_Response.Group)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGameServers_AggregationQuery_Response_Group::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.group_values_.~RepeatedPtrField();
}

void CGameServers_AggregationQuery_Response_Group::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGameServers_AggregationQuery_Response_Group::Clear() {
// @@protoc_insertion_point(message_clear_start:CGameServers_AggregationQuery_Response.Group)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.group_values_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    ::memset(&_impl_.servers_empty_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.player_capacity_) -
        reinterpret_cast<char*>(&_impl_.servers_empty_)) + sizeof(_impl_.player_capacity_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGameServers_AggregationQuery_Response_Group::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated string group_values = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_group_values();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            #ifndef NDEBUG
            ::_pbi::VerifyUTF8(str, "CGameServers_AggregationQuery_Response.Group.group_values");
            #endif  // !NDEBUG
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 servers_empty = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_servers_empty(&has_bits);
          _impl_.servers_empty_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 servers_full = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_servers_full(&has_bits);
          _impl_.servers_full_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 servers_total = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_servers_total(&has_bits);
          _impl_.servers_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 players_humans = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_players_humans(&has_bits);
          _impl_.players_humans_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 players_bots = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_players_bots(&has_bits);
          _impl_.players_bots_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 player_capacity = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_player_capacity(&has_bits);
          _impl_.player_capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGameServers_AggregationQuery_Response_Group::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGameServers_AggregationQuery_Response.Group)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated string group_values = 1;
  for (int i = 0, n = this->_internal_group_values_size(); i < n; i++) {
    const auto& s = this->_internal_group_values(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CGameServers_AggregationQuery_Response.Group.group_values");
    target = stream->WriteString(1, s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 servers_empty = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_servers_empty(), target);
  }

  // optional uint32 servers_full = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_servers_full(), target);
  }

  // optional uint32 servers_total = 4;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_servers_total(), target);
  }

  // optional uint32 players_humans = 5;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_players_humans(), target);
  }

  // optional uint32 players_bots = 6;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_players_bots(), target);
  }

  // optional uint32 player_capacity = 7;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_player_capacity(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGameServers_AggregationQuery_Response.Group)
  return target;
}

size_t CGameServers_AggregationQuery_Response_Group::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGameServers_AggregationQuery_Response.Group)
  size_t total_size = 0;

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

  // repeated string group_values = 1;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.group_values_.size());
  for (int i = 0, n = _impl_.group_values_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      _impl_.group_values_.Get(i));
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // optional uint32 servers_empty = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_servers_empty());
    }

    // optional uint32 servers_full = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_servers_full());
    }

    // optional uint32 servers_total = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_servers_total());
    }

    // optional uint32 players_humans = 5;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_players_humans());
    }

    // optional uint32 players_bots = 6;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_players_bots());
    }

    // optional uint32 player_capacity = 7;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_player_capacity());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGameServers_AggregationQuery_Response_Group::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGameServers_AggregationQuery_Response_Group::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGameServers_AggregationQuery_Response_Group::GetClassData() const { return &_class_data_; }


void CGameServers_AggregationQuery_Response_Group::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGameServers_AggregationQuery_Response_Group*>(&to_msg);
  auto& from = static_cast<const CGameServers_AggregationQuery_Response_Group&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGameServers_AggregationQuery_Response.Group)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.group_values_.MergeFrom(from._impl_.group_values_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.servers_empty_ = from._impl_.servers_empty_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.servers_full_ = from._impl_.servers_full_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.servers_total_ = from._impl_.servers_total_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.players_humans_ = from._impl_.players_humans_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.players_bots_ = from._impl_.players_bots_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.player_capacity_ = from._impl_.player_capacity_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGameServers_AggregationQuery_Response_Group::IsInitialized() const {
  return true;
}

void CGameServers_AggregationQuery_Response_Group::InternalSwap(CGameServers_AggregationQuery_Response_Group* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.group_values_.InternalSwap(&other->_impl_.group_values_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CGameServers_AggregationQuery_Response_Group, _impl_.player_capacity_)
      + sizeof(CGameServers_AggregationQuery_Response_Group::_impl_.player_capacity_)
      - PROTOBUF_FIELD_OFFSET(CGameServers_AggregationQuery_Response_Group, _impl_.servers_empty_)>(
          reinterpret_cast<char*>(&_impl_.servers_empty_),
          reinterpret_cast<char*>(&other->_impl_.servers_empty_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CGameServers_AggregationQuery_Response_Group::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[38]);
}

// ===================================================================

class CGameServers_AggregationQuery_Response::_Internal {
 public:
};

CGameServers_AggregationQuery_Response::CGameServers_AggregationQuery_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CGameServers_AggregationQuery_Response)
}
CGameServers_AggregationQuery_Response::CGameServers_AggregationQuery_Response(const CGameServers_AggregationQuery_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CGameServers_AggregationQuery_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.groups_){from._impl_.groups_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CGameServers_AggregationQuery_Response)
}

inline void CGameServers_AggregationQuery_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.groups_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CGameServers_AggregationQuery_Response::~CGameServers_AggregationQuery_Response() {
  // @@protoc_insertion_point(destructor:CGameServers_AggregationQuery_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CGameServers_AggregationQuery_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.groups_.~RepeatedPtrField();
}

void CGameServers_AggregationQuery_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CGameServers_AggregationQuery_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CGameServers_AggregationQuery_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.groups_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CGameServers_AggregationQuery_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_groups(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CGameServers_AggregationQuery_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CGameServers_AggregationQuery_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_groups_size()); i < n; i++) {
    const auto& repfield = this->_internal_groups(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CGameServers_AggregationQuery_Response)
  return target;
}

size_t CGameServers_AggregationQuery_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CGameServers_AggregationQuery_Response)
  size_t total_size = 0;

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

  // repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
  total_size += 1UL * this->_internal_groups_size();
  for (const auto& msg : this->_impl_.groups_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CGameServers_AggregationQuery_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CGameServers_AggregationQuery_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CGameServers_AggregationQuery_Response::GetClassData() const { return &_class_data_; }


void CGameServers_AggregationQuery_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CGameServers_AggregationQuery_Response*>(&to_msg);
  auto& from = static_cast<const CGameServers_AggregationQuery_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CGameServers_AggregationQuery_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.groups_.MergeFrom(from._impl_.groups_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CGameServers_AggregationQuery_Response::IsInitialized() const {
  return true;
}

void CGameServers_AggregationQuery_Response::InternalSwap(CGameServers_AggregationQuery_Response* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.groups_.InternalSwap(&other->_impl_.groups_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CGameServers_AggregationQuery_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[39]);
}

// ===================================================================

class CWorkshop_AddSpecialPayment_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CWorkshop_AddSpecialPayment_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_gameitemid(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_date(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_payment_us_usd(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_payment_row_usd(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

CWorkshop_AddSpecialPayment_Request::CWorkshop_AddSpecialPayment_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CWorkshop_AddSpecialPayment_Request)
}
CWorkshop_AddSpecialPayment_Request::CWorkshop_AddSpecialPayment_Request(const CWorkshop_AddSpecialPayment_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CWorkshop_AddSpecialPayment_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.date_){}
    , decltype(_impl_.appid_){}
    , decltype(_impl_.gameitemid_){}
    , decltype(_impl_.payment_us_usd_){}
    , decltype(_impl_.payment_row_usd_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.date_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.date_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_date()) {
    _this->_impl_.date_.Set(from._internal_date(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.appid_, &from._impl_.appid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.payment_row_usd_) -
    reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.payment_row_usd_));
  // @@protoc_insertion_point(copy_constructor:CWorkshop_AddSpecialPayment_Request)
}

inline void CWorkshop_AddSpecialPayment_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.date_){}
    , decltype(_impl_.appid_){0u}
    , decltype(_impl_.gameitemid_){0u}
    , decltype(_impl_.payment_us_usd_){uint64_t{0u}}
    , decltype(_impl_.payment_row_usd_){uint64_t{0u}}
  };
  _impl_.date_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.date_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CWorkshop_AddSpecialPayment_Request::~CWorkshop_AddSpecialPayment_Request() {
  // @@protoc_insertion_point(destructor:CWorkshop_AddSpecialPayment_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CWorkshop_AddSpecialPayment_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.date_.Destroy();
}

void CWorkshop_AddSpecialPayment_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CWorkshop_AddSpecialPayment_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CWorkshop_AddSpecialPayment_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.date_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x0000001eu) {
    ::memset(&_impl_.appid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.payment_row_usd_) -
        reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.payment_row_usd_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CWorkshop_AddSpecialPayment_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gameitemid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_gameitemid(&has_bits);
          _impl_.gameitemid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string date = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_date();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CWorkshop_AddSpecialPayment_Request.date");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint64 payment_us_usd = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_payment_us_usd(&has_bits);
          _impl_.payment_us_usd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 payment_row_usd = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_payment_row_usd(&has_bits);
          _impl_.payment_row_usd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CWorkshop_AddSpecialPayment_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CWorkshop_AddSpecialPayment_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional uint32 gameitemid = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_gameitemid(), target);
  }

  // optional string date = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_date().data(), static_cast<int>(this->_internal_date().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CWorkshop_AddSpecialPayment_Request.date");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_date(), target);
  }

  // optional uint64 payment_us_usd = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(4, this->_internal_payment_us_usd(), target);
  }

  // optional uint64 payment_row_usd = 5;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(5, this->_internal_payment_row_usd(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CWorkshop_AddSpecialPayment_Request)
  return target;
}

size_t CWorkshop_AddSpecialPayment_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CWorkshop_AddSpecialPayment_Request)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // optional string date = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_date());
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

    // optional uint32 gameitemid = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gameitemid());
    }

    // optional uint64 payment_us_usd = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_payment_us_usd());
    }

    // optional uint64 payment_row_usd = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_payment_row_usd());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_AddSpecialPayment_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CWorkshop_AddSpecialPayment_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_AddSpecialPayment_Request::GetClassData() const { return &_class_data_; }


void CWorkshop_AddSpecialPayment_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CWorkshop_AddSpecialPayment_Request*>(&to_msg);
  auto& from = static_cast<const CWorkshop_AddSpecialPayment_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CWorkshop_AddSpecialPayment_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_date(from._internal_date());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.gameitemid_ = from._impl_.gameitemid_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.payment_us_usd_ = from._impl_.payment_us_usd_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.payment_row_usd_ = from._impl_.payment_row_usd_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CWorkshop_AddSpecialPayment_Request::IsInitialized() const {
  return true;
}

void CWorkshop_AddSpecialPayment_Request::InternalSwap(CWorkshop_AddSpecialPayment_Request* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.date_, lhs_arena,
      &other->_impl_.date_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CWorkshop_AddSpecialPayment_Request, _impl_.payment_row_usd_)
      + sizeof(CWorkshop_AddSpecialPayment_Request::_impl_.payment_row_usd_)
      - PROTOBUF_FIELD_OFFSET(CWorkshop_AddSpecialPayment_Request, _impl_.appid_)>(
          reinterpret_cast<char*>(&_impl_.appid_),
          reinterpret_cast<char*>(&other->_impl_.appid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_AddSpecialPayment_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[40]);
}

// ===================================================================

class CWorkshop_AddSpecialPayment_Response::_Internal {
 public:
};

CWorkshop_AddSpecialPayment_Response::CWorkshop_AddSpecialPayment_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:CWorkshop_AddSpecialPayment_Response)
}
CWorkshop_AddSpecialPayment_Response::CWorkshop_AddSpecialPayment_Response(const CWorkshop_AddSpecialPayment_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  CWorkshop_AddSpecialPayment_Response* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CWorkshop_AddSpecialPayment_Response)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CWorkshop_AddSpecialPayment_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CWorkshop_AddSpecialPayment_Response::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata CWorkshop_AddSpecialPayment_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[41]);
}

// ===================================================================

class CProductInfo_SetRichPresenceLocalization_Request_Token::_Internal {
 public:
  using HasBits = decltype(std::declval<CProductInfo_SetRichPresenceLocalization_Request_Token>()._impl_._has_bits_);
  static void set_has_token(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_value(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CProductInfo_SetRichPresenceLocalization_Request_Token::CProductInfo_SetRichPresenceLocalization_Request_Token(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CProductInfo_SetRichPresenceLocalization_Request.Token)
}
CProductInfo_SetRichPresenceLocalization_Request_Token::CProductInfo_SetRichPresenceLocalization_Request_Token(const CProductInfo_SetRichPresenceLocalization_Request_Token& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CProductInfo_SetRichPresenceLocalization_Request_Token* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.token_){}
    , decltype(_impl_.value_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.token_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_token()) {
    _this->_impl_.token_.Set(from._internal_token(), 
      _this->GetArenaForAllocation());
  }
  _impl_.value_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.value_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_value()) {
    _this->_impl_.value_.Set(from._internal_value(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CProductInfo_SetRichPresenceLocalization_Request.Token)
}

inline void CProductInfo_SetRichPresenceLocalization_Request_Token::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.token_){}
    , decltype(_impl_.value_){}
  };
  _impl_.token_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.token_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.value_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.value_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CProductInfo_SetRichPresenceLocalization_Request_Token::~CProductInfo_SetRichPresenceLocalization_Request_Token() {
  // @@protoc_insertion_point(destructor:CProductInfo_SetRichPresenceLocalization_Request.Token)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CProductInfo_SetRichPresenceLocalization_Request_Token::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.token_.Destroy();
  _impl_.value_.Destroy();
}

void CProductInfo_SetRichPresenceLocalization_Request_Token::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CProductInfo_SetRichPresenceLocalization_Request_Token::Clear() {
// @@protoc_insertion_point(message_clear_start:CProductInfo_SetRichPresenceLocalization_Request.Token)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.token_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.value_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CProductInfo_SetRichPresenceLocalization_Request_Token::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string token = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_token();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CProductInfo_SetRichPresenceLocalization_Request.Token.token");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string value = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_value();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CProductInfo_SetRichPresenceLocalization_Request.Token.value");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CProductInfo_SetRichPresenceLocalization_Request_Token::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CProductInfo_SetRichPresenceLocalization_Request.Token)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string token = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_token().data(), static_cast<int>(this->_internal_token().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CProductInfo_SetRichPresenceLocalization_Request.Token.token");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_token(), target);
  }

  // optional string value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_value().data(), static_cast<int>(this->_internal_value().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CProductInfo_SetRichPresenceLocalization_Request.Token.value");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_value(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CProductInfo_SetRichPresenceLocalization_Request.Token)
  return target;
}

size_t CProductInfo_SetRichPresenceLocalization_Request_Token::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CProductInfo_SetRichPresenceLocalization_Request.Token)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string token = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_token());
    }

    // optional string value = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_value());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CProductInfo_SetRichPresenceLocalization_Request_Token::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CProductInfo_SetRichPresenceLocalization_Request_Token::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CProductInfo_SetRichPresenceLocalization_Request_Token::GetClassData() const { return &_class_data_; }


void CProductInfo_SetRichPresenceLocalization_Request_Token::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CProductInfo_SetRichPresenceLocalization_Request_Token*>(&to_msg);
  auto& from = static_cast<const CProductInfo_SetRichPresenceLocalization_Request_Token&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CProductInfo_SetRichPresenceLocalization_Request.Token)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_token(from._internal_token());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_value(from._internal_value());
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CProductInfo_SetRichPresenceLocalization_Request_Token::IsInitialized() const {
  return true;
}

void CProductInfo_SetRichPresenceLocalization_Request_Token::InternalSwap(CProductInfo_SetRichPresenceLocalization_Request_Token* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.token_, lhs_arena,
      &other->_impl_.token_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.value_, lhs_arena,
      &other->_impl_.value_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CProductInfo_SetRichPresenceLocalization_Request_Token::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[42]);
}

// ===================================================================

class CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_Internal {
 public:
  using HasBits = decltype(std::declval<CProductInfo_SetRichPresenceLocalization_Request_LanguageSection>()._impl_._has_bits_);
  static void set_has_language(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
}
CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tokens_){from._impl_.tokens_}
    , decltype(_impl_.language_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.language_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.language_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_language()) {
    _this->_impl_.language_.Set(from._internal_language(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
}

inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tokens_){arena}
    , decltype(_impl_.language_){}
  };
  _impl_.language_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.language_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::~CProductInfo_SetRichPresenceLocalization_Request_LanguageSection() {
  // @@protoc_insertion_point(destructor:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.tokens_.~RepeatedPtrField();
  _impl_.language_.Destroy();
}

void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::Clear() {
// @@protoc_insertion_point(message_clear_start:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tokens_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.language_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string language = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_language();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tokens(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string language = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_language().data(), static_cast<int>(this->_internal_language().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_language(), target);
  }

  // repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tokens_size()); i < n; i++) {
    const auto& repfield = this->_internal_tokens(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  return target;
}

size_t CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  size_t total_size = 0;

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

  // repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
  total_size += 1UL * this->_internal_tokens_size();
  for (const auto& msg : this->_impl_.tokens_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // optional string language = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_language());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::GetClassData() const { return &_class_data_; }


void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CProductInfo_SetRichPresenceLocalization_Request_LanguageSection*>(&to_msg);
  auto& from = static_cast<const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.tokens_.MergeFrom(from._impl_.tokens_);
  if (from._internal_has_language()) {
    _this->_internal_set_language(from._internal_language());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::IsInitialized() const {
  return true;
}

void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::InternalSwap(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.tokens_.InternalSwap(&other->_impl_.tokens_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.language_, lhs_arena,
      &other->_impl_.language_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[43]);
}

// ===================================================================

class CProductInfo_SetRichPresenceLocalization_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CProductInfo_SetRichPresenceLocalization_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_steamid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CProductInfo_SetRichPresenceLocalization_Request::CProductInfo_SetRichPresenceLocalization_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CProductInfo_SetRichPresenceLocalization_Request)
}
CProductInfo_SetRichPresenceLocalization_Request::CProductInfo_SetRichPresenceLocalization_Request(const CProductInfo_SetRichPresenceLocalization_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CProductInfo_SetRichPresenceLocalization_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.languages_){from._impl_.languages_}
    , decltype(_impl_.steamid_){}
    , decltype(_impl_.appid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.steamid_, &from._impl_.steamid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.appid_) -
    reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.appid_));
  // @@protoc_insertion_point(copy_constructor:CProductInfo_SetRichPresenceLocalization_Request)
}

inline void CProductInfo_SetRichPresenceLocalization_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.languages_){arena}
    , decltype(_impl_.steamid_){uint64_t{0u}}
    , decltype(_impl_.appid_){0u}
  };
}

CProductInfo_SetRichPresenceLocalization_Request::~CProductInfo_SetRichPresenceLocalization_Request() {
  // @@protoc_insertion_point(destructor:CProductInfo_SetRichPresenceLocalization_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CProductInfo_SetRichPresenceLocalization_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.languages_.~RepeatedPtrField();
}

void CProductInfo_SetRichPresenceLocalization_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CProductInfo_SetRichPresenceLocalization_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CProductInfo_SetRichPresenceLocalization_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.languages_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.steamid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.appid_) -
        reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.appid_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CProductInfo_SetRichPresenceLocalization_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_languages(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint64 steamid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_steamid(&has_bits);
          _impl_.steamid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CProductInfo_SetRichPresenceLocalization_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CProductInfo_SetRichPresenceLocalization_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_languages_size()); i < n; i++) {
    const auto& repfield = this->_internal_languages(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint64 steamid = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(3, this->_internal_steamid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CProductInfo_SetRichPresenceLocalization_Request)
  return target;
}

size_t CProductInfo_SetRichPresenceLocalization_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CProductInfo_SetRichPresenceLocalization_Request)
  size_t total_size = 0;

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

  // repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
  total_size += 1UL * this->_internal_languages_size();
  for (const auto& msg : this->_impl_.languages_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint64 steamid = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_steamid());
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CProductInfo_SetRichPresenceLocalization_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CProductInfo_SetRichPresenceLocalization_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CProductInfo_SetRichPresenceLocalization_Request::GetClassData() const { return &_class_data_; }


void CProductInfo_SetRichPresenceLocalization_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CProductInfo_SetRichPresenceLocalization_Request*>(&to_msg);
  auto& from = static_cast<const CProductInfo_SetRichPresenceLocalization_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CProductInfo_SetRichPresenceLocalization_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.languages_.MergeFrom(from._impl_.languages_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.steamid_ = from._impl_.steamid_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CProductInfo_SetRichPresenceLocalization_Request::IsInitialized() const {
  return true;
}

void CProductInfo_SetRichPresenceLocalization_Request::InternalSwap(CProductInfo_SetRichPresenceLocalization_Request* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.languages_.InternalSwap(&other->_impl_.languages_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CProductInfo_SetRichPresenceLocalization_Request, _impl_.appid_)
      + sizeof(CProductInfo_SetRichPresenceLocalization_Request::_impl_.appid_)
      - PROTOBUF_FIELD_OFFSET(CProductInfo_SetRichPresenceLocalization_Request, _impl_.steamid_)>(
          reinterpret_cast<char*>(&_impl_.steamid_),
          reinterpret_cast<char*>(&other->_impl_.steamid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CProductInfo_SetRichPresenceLocalization_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[44]);
}

// ===================================================================

class CProductInfo_SetRichPresenceLocalization_Response::_Internal {
 public:
};

CProductInfo_SetRichPresenceLocalization_Response::CProductInfo_SetRichPresenceLocalization_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:CProductInfo_SetRichPresenceLocalization_Response)
}
CProductInfo_SetRichPresenceLocalization_Response::CProductInfo_SetRichPresenceLocalization_Response(const CProductInfo_SetRichPresenceLocalization_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  CProductInfo_SetRichPresenceLocalization_Response* const _this = this; (void)_this;
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CProductInfo_SetRichPresenceLocalization_Response)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CProductInfo_SetRichPresenceLocalization_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CProductInfo_SetRichPresenceLocalization_Response::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata CProductInfo_SetRichPresenceLocalization_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[45]);
}

// ===================================================================

class CMsgSerializedSOCache_TypeCache::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSerializedSOCache_TypeCache>()._impl_._has_bits_);
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_service_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgSerializedSOCache_TypeCache::CMsgSerializedSOCache_TypeCache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSerializedSOCache.TypeCache)
}
CMsgSerializedSOCache_TypeCache::CMsgSerializedSOCache_TypeCache(const CMsgSerializedSOCache_TypeCache& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSerializedSOCache_TypeCache* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_){from._impl_.objects_}
    , decltype(_impl_.type_){}
    , decltype(_impl_.service_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.type_, &from._impl_.type_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.service_id_) -
    reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.service_id_));
  // @@protoc_insertion_point(copy_constructor:CMsgSerializedSOCache.TypeCache)
}

inline void CMsgSerializedSOCache_TypeCache::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.objects_){arena}
    , decltype(_impl_.type_){0u}
    , decltype(_impl_.service_id_){0u}
  };
}

CMsgSerializedSOCache_TypeCache::~CMsgSerializedSOCache_TypeCache() {
  // @@protoc_insertion_point(destructor:CMsgSerializedSOCache.TypeCache)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSerializedSOCache_TypeCache::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.objects_.~RepeatedPtrField();
}

void CMsgSerializedSOCache_TypeCache::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSerializedSOCache_TypeCache::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSerializedSOCache.TypeCache)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objects_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.type_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.service_id_) -
        reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.service_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSerializedSOCache_TypeCache::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_type(&has_bits);
          _impl_.type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated bytes objects = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_objects();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 service_id = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_service_id(&has_bits);
          _impl_.service_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSerializedSOCache_TypeCache::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSerializedSOCache.TypeCache)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 type = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_type(), target);
  }

  // repeated bytes objects = 2;
  for (int i = 0, n = this->_internal_objects_size(); i < n; i++) {
    const auto& s = this->_internal_objects(i);
    target = stream->WriteBytes(2, s, target);
  }

  // optional uint32 service_id = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_service_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSerializedSOCache.TypeCache)
  return target;
}

size_t CMsgSerializedSOCache_TypeCache::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSerializedSOCache.TypeCache)
  size_t total_size = 0;

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

  // repeated bytes objects = 2;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.objects_.size());
  for (int i = 0, n = _impl_.objects_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
      _impl_.objects_.Get(i));
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint32 type = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type());
    }

    // optional uint32 service_id = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_service_id());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSerializedSOCache_TypeCache::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSerializedSOCache_TypeCache::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSerializedSOCache_TypeCache::GetClassData() const { return &_class_data_; }


void CMsgSerializedSOCache_TypeCache::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSerializedSOCache_TypeCache*>(&to_msg);
  auto& from = static_cast<const CMsgSerializedSOCache_TypeCache&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSerializedSOCache.TypeCache)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.objects_.MergeFrom(from._impl_.objects_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.service_id_ = from._impl_.service_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSerializedSOCache_TypeCache::IsInitialized() const {
  return true;
}

void CMsgSerializedSOCache_TypeCache::InternalSwap(CMsgSerializedSOCache_TypeCache* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_TypeCache, _impl_.service_id_)
      + sizeof(CMsgSerializedSOCache_TypeCache::_impl_.service_id_)
      - PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_TypeCache, _impl_.type_)>(
          reinterpret_cast<char*>(&_impl_.type_),
          reinterpret_cast<char*>(&other->_impl_.type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSerializedSOCache_TypeCache::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[46]);
}

// ===================================================================

class CMsgSerializedSOCache_Cache_Version::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSerializedSOCache_Cache_Version>()._impl_._has_bits_);
  static void set_has_service(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSerializedSOCache_Cache_Version::CMsgSerializedSOCache_Cache_Version(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSerializedSOCache.Cache.Version)
}
CMsgSerializedSOCache_Cache_Version::CMsgSerializedSOCache_Cache_Version(const CMsgSerializedSOCache_Cache_Version& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSerializedSOCache_Cache_Version* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.version_){}
    , decltype(_impl_.service_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.version_, &from._impl_.version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.service_) -
    reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.service_));
  // @@protoc_insertion_point(copy_constructor:CMsgSerializedSOCache.Cache.Version)
}

inline void CMsgSerializedSOCache_Cache_Version::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.version_){uint64_t{0u}}
    , decltype(_impl_.service_){0u}
  };
}

CMsgSerializedSOCache_Cache_Version::~CMsgSerializedSOCache_Cache_Version() {
  // @@protoc_insertion_point(destructor:CMsgSerializedSOCache.Cache.Version)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSerializedSOCache_Cache_Version::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgSerializedSOCache_Cache_Version::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSerializedSOCache_Cache_Version::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSerializedSOCache.Cache.Version)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.service_) -
        reinterpret_cast<char*>(&_impl_.version_)) + sizeof(_impl_.service_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSerializedSOCache_Cache_Version::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 service = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_service(&has_bits);
          _impl_.service_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 version = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_version(&has_bits);
          _impl_.version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSerializedSOCache_Cache_Version::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSerializedSOCache.Cache.Version)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 service = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_service(), target);
  }

  // optional uint64 version = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(2, this->_internal_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSerializedSOCache.Cache.Version)
  return target;
}

size_t CMsgSerializedSOCache_Cache_Version::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSerializedSOCache.Cache.Version)
  size_t total_size = 0;

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint64 version = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_version());
    }

    // optional uint32 service = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_service());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSerializedSOCache_Cache_Version::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSerializedSOCache_Cache_Version::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSerializedSOCache_Cache_Version::GetClassData() const { return &_class_data_; }


void CMsgSerializedSOCache_Cache_Version::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSerializedSOCache_Cache_Version*>(&to_msg);
  auto& from = static_cast<const CMsgSerializedSOCache_Cache_Version&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSerializedSOCache.Cache.Version)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.version_ = from._impl_.version_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.service_ = from._impl_.service_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSerializedSOCache_Cache_Version::CopyFrom(const CMsgSerializedSOCache_Cache_Version& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSerializedSOCache.Cache.Version)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSerializedSOCache_Cache_Version::IsInitialized() const {
  return true;
}

void CMsgSerializedSOCache_Cache_Version::InternalSwap(CMsgSerializedSOCache_Cache_Version* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_Cache_Version, _impl_.service_)
      + sizeof(CMsgSerializedSOCache_Cache_Version::_impl_.service_)
      - PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_Cache_Version, _impl_.version_)>(
          reinterpret_cast<char*>(&_impl_.version_),
          reinterpret_cast<char*>(&other->_impl_.version_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSerializedSOCache_Cache_Version::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[47]);
}

// ===================================================================

class CMsgSerializedSOCache_Cache::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSerializedSOCache_Cache>()._impl_._has_bits_);
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CMsgSerializedSOCache_Cache::CMsgSerializedSOCache_Cache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSerializedSOCache.Cache)
}
CMsgSerializedSOCache_Cache::CMsgSerializedSOCache_Cache(const CMsgSerializedSOCache_Cache& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSerializedSOCache_Cache* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.versions_){from._impl_.versions_}
    , decltype(_impl_.type_caches_){from._impl_.type_caches_}
    , decltype(_impl_.id_){}
    , decltype(_impl_.type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.id_, &from._impl_.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.type_) -
    reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.type_));
  // @@protoc_insertion_point(copy_constructor:CMsgSerializedSOCache.Cache)
}

inline void CMsgSerializedSOCache_Cache::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.versions_){arena}
    , decltype(_impl_.type_caches_){arena}
    , decltype(_impl_.id_){uint64_t{0u}}
    , decltype(_impl_.type_){0u}
  };
}

CMsgSerializedSOCache_Cache::~CMsgSerializedSOCache_Cache() {
  // @@protoc_insertion_point(destructor:CMsgSerializedSOCache.Cache)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSerializedSOCache_Cache::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.versions_.~RepeatedPtrField();
  _impl_.type_caches_.~RepeatedPtrField();
}

void CMsgSerializedSOCache_Cache::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSerializedSOCache_Cache::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSerializedSOCache.Cache)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.versions_.Clear();
  _impl_.type_caches_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.type_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSerializedSOCache_Cache::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_type(&has_bits);
          _impl_.type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_id(&has_bits);
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_versions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_type_caches(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSerializedSOCache_Cache::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSerializedSOCache.Cache)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 type = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_type(), target);
  }

  // optional uint64 id = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(2, this->_internal_id(), target);
  }

  // repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_versions_size()); i < n; i++) {
    const auto& repfield = this->_internal_versions(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_caches_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_caches(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSerializedSOCache.Cache)
  return target;
}

size_t CMsgSerializedSOCache_Cache::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSerializedSOCache.Cache)
  size_t total_size = 0;

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

  // repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
  total_size += 1UL * this->_internal_versions_size();
  for (const auto& msg : this->_impl_.versions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
  total_size += 1UL * this->_internal_type_caches_size();
  for (const auto& msg : this->_impl_.type_caches_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint64 id = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_id());
    }

    // optional uint32 type = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSerializedSOCache_Cache::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSerializedSOCache_Cache::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSerializedSOCache_Cache::GetClassData() const { return &_class_data_; }


void CMsgSerializedSOCache_Cache::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSerializedSOCache_Cache*>(&to_msg);
  auto& from = static_cast<const CMsgSerializedSOCache_Cache&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSerializedSOCache.Cache)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.versions_.MergeFrom(from._impl_.versions_);
  _this->_impl_.type_caches_.MergeFrom(from._impl_.type_caches_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSerializedSOCache_Cache::IsInitialized() const {
  return true;
}

void CMsgSerializedSOCache_Cache::InternalSwap(CMsgSerializedSOCache_Cache* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.versions_.InternalSwap(&other->_impl_.versions_);
  _impl_.type_caches_.InternalSwap(&other->_impl_.type_caches_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_Cache, _impl_.type_)
      + sizeof(CMsgSerializedSOCache_Cache::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache_Cache, _impl_.id_)>(
          reinterpret_cast<char*>(&_impl_.id_),
          reinterpret_cast<char*>(&other->_impl_.id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSerializedSOCache_Cache::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[48]);
}

// ===================================================================

class CMsgSerializedSOCache::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSerializedSOCache>()._impl_._has_bits_);
  static void set_has_file_version(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_gc_socache_file_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgSerializedSOCache::CMsgSerializedSOCache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSerializedSOCache)
}
CMsgSerializedSOCache::CMsgSerializedSOCache(const CMsgSerializedSOCache& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSerializedSOCache* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.caches_){from._impl_.caches_}
    , decltype(_impl_.file_version_){}
    , decltype(_impl_.gc_socache_file_version_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.file_version_, &from._impl_.file_version_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.gc_socache_file_version_) -
    reinterpret_cast<char*>(&_impl_.file_version_)) + sizeof(_impl_.gc_socache_file_version_));
  // @@protoc_insertion_point(copy_constructor:CMsgSerializedSOCache)
}

inline void CMsgSerializedSOCache::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.caches_){arena}
    , decltype(_impl_.file_version_){0u}
    , decltype(_impl_.gc_socache_file_version_){0u}
  };
}

CMsgSerializedSOCache::~CMsgSerializedSOCache() {
  // @@protoc_insertion_point(destructor:CMsgSerializedSOCache)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSerializedSOCache::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.caches_.~RepeatedPtrField();
}

void CMsgSerializedSOCache::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSerializedSOCache::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSerializedSOCache)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.caches_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&_impl_.file_version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.gc_socache_file_version_) -
        reinterpret_cast<char*>(&_impl_.file_version_)) + sizeof(_impl_.gc_socache_file_version_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSerializedSOCache::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 file_version = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_file_version(&has_bits);
          _impl_.file_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSerializedSOCache.Cache caches = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_caches(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gc_socache_file_version = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_gc_socache_file_version(&has_bits);
          _impl_.gc_socache_file_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSerializedSOCache::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSerializedSOCache)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 file_version = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_file_version(), target);
  }

  // repeated .CMsgSerializedSOCache.Cache caches = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_caches_size()); i < n; i++) {
    const auto& repfield = this->_internal_caches(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint32 gc_socache_file_version = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_gc_socache_file_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSerializedSOCache)
  return target;
}

size_t CMsgSerializedSOCache::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSerializedSOCache)
  size_t total_size = 0;

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

  // repeated .CMsgSerializedSOCache.Cache caches = 2;
  total_size += 1UL * this->_internal_caches_size();
  for (const auto& msg : this->_impl_.caches_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional uint32 file_version = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_file_version());
    }

    // optional uint32 gc_socache_file_version = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_gc_socache_file_version());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSerializedSOCache::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSerializedSOCache::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSerializedSOCache::GetClassData() const { return &_class_data_; }


void CMsgSerializedSOCache::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSerializedSOCache*>(&to_msg);
  auto& from = static_cast<const CMsgSerializedSOCache&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSerializedSOCache)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.caches_.MergeFrom(from._impl_.caches_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.file_version_ = from._impl_.file_version_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.gc_socache_file_version_ = from._impl_.gc_socache_file_version_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

bool CMsgSerializedSOCache::IsInitialized() const {
  return true;
}

void CMsgSerializedSOCache::InternalSwap(CMsgSerializedSOCache* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.caches_.InternalSwap(&other->_impl_.caches_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache, _impl_.gc_socache_file_version_)
      + sizeof(CMsgSerializedSOCache::_impl_.gc_socache_file_version_)
      - PROTOBUF_FIELD_OFFSET(CMsgSerializedSOCache, _impl_.file_version_)>(
          reinterpret_cast<char*>(&_impl_.file_version_),
          reinterpret_cast<char*>(&other->_impl_.file_version_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSerializedSOCache::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_gcsdk_5fgcmessages_2eproto_getter, &descriptor_table_gcsdk_5fgcmessages_2eproto_once,
      file_level_metadata_gcsdk_5fgcmessages_2eproto[49]);
}

// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::CMsgSOIDOwner*
Arena::CreateMaybeMessage< ::CMsgSOIDOwner >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOIDOwner >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOSingleObject*
Arena::CreateMaybeMessage< ::CMsgSOSingleObject >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOSingleObject >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOMultipleObjects_SingleObject*
Arena::CreateMaybeMessage< ::CMsgSOMultipleObjects_SingleObject >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOMultipleObjects_SingleObject >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOMultipleObjects*
Arena::CreateMaybeMessage< ::CMsgSOMultipleObjects >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOMultipleObjects >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheSubscribed_SubscribedType*
Arena::CreateMaybeMessage< ::CMsgSOCacheSubscribed_SubscribedType >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheSubscribed_SubscribedType >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheSubscribed*
Arena::CreateMaybeMessage< ::CMsgSOCacheSubscribed >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheSubscribed >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheUnsubscribed*
Arena::CreateMaybeMessage< ::CMsgSOCacheUnsubscribed >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheUnsubscribed >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheSubscriptionCheck*
Arena::CreateMaybeMessage< ::CMsgSOCacheSubscriptionCheck >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheSubscriptionCheck >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheSubscriptionRefresh*
Arena::CreateMaybeMessage< ::CMsgSOCacheSubscriptionRefresh >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheSubscriptionRefresh >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheVersion*
Arena::CreateMaybeMessage< ::CMsgSOCacheVersion >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheVersion >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgAccountDetails*
Arena::CreateMaybeMessage< ::CMsgAccountDetails >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgAccountDetails >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgGCMultiplexMessage*
Arena::CreateMaybeMessage< ::CMsgGCMultiplexMessage >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgGCMultiplexMessage >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgGCMultiplexMessage_Response*
Arena::CreateMaybeMessage< ::CMsgGCMultiplexMessage_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgGCMultiplexMessage_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CGCToGCMsgMasterAck*
Arena::CreateMaybeMessage< ::CGCToGCMsgMasterAck >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGCToGCMsgMasterAck >(arena);
}
template<> PROTOBUF_NOINLINE ::CGCToGCMsgMasterAck_Response*
Arena::CreateMaybeMessage< ::CGCToGCMsgMasterAck_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGCToGCMsgMasterAck_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CGCToGCMsgMasterStartupComplete*
Arena::CreateMaybeMessage< ::CGCToGCMsgMasterStartupComplete >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGCToGCMsgMasterStartupComplete >(arena);
}
template<> PROTOBUF_NOINLINE ::CGCToGCMsgRouted*
Arena::CreateMaybeMessage< ::CGCToGCMsgRouted >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGCToGCMsgRouted >(arena);
}
template<> PROTOBUF_NOINLINE ::CGCToGCMsgRoutedReply*
Arena::CreateMaybeMessage< ::CGCToGCMsgRoutedReply >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGCToGCMsgRoutedReply >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgGCUpdateSessionIP*
Arena::CreateMaybeMessage< ::CMsgGCUpdateSessionIP >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgGCUpdateSessionIP >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgGCRequestSessionIP*
Arena::CreateMaybeMessage< ::CMsgGCRequestSessionIP >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgGCRequestSessionIP >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgGCRequestSessionIPResponse*
Arena::CreateMaybeMessage< ::CMsgGCRequestSessionIPResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgGCRequestSessionIPResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSOCacheHaveVersion*
Arena::CreateMaybeMessage< ::CMsgSOCacheHaveVersion >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSOCacheHaveVersion >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgClientHello*
Arena::CreateMaybeMessage< ::CMsgClientHello >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgClientHello >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgServerHello*
Arena::CreateMaybeMessage< ::CMsgServerHello >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgServerHello >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgClientWelcome_Location*
Arena::CreateMaybeMessage< ::CMsgClientWelcome_Location >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgClientWelcome_Location >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgClientWelcome*
Arena::CreateMaybeMessage< ::CMsgClientWelcome >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgClientWelcome >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgConnectionStatus*
Arena::CreateMaybeMessage< ::CMsgConnectionStatus >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgConnectionStatus >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription*
Arena::CreateMaybeMessage< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock*
Arena::CreateMaybeMessage< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_PopulateItemDescriptions_Request*
Arena::CreateMaybeMessage< ::CWorkshop_PopulateItemDescriptions_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_PopulateItemDescriptions_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_GetContributors_Request*
Arena::CreateMaybeMessage< ::CWorkshop_GetContributors_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_GetContributors_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_GetContributors_Response*
Arena::CreateMaybeMessage< ::CWorkshop_GetContributors_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_GetContributors_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule*
Arena::CreateMaybeMessage< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule*
Arena::CreateMaybeMessage< ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule*
Arena::CreateMaybeMessage< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_SetItemPaymentRules_Request*
Arena::CreateMaybeMessage< ::CWorkshop_SetItemPaymentRules_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_SetItemPaymentRules_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_SetItemPaymentRules_Response*
Arena::CreateMaybeMessage< ::CWorkshop_SetItemPaymentRules_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_SetItemPaymentRules_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CGameServers_AggregationQuery_Request*
Arena::CreateMaybeMessage< ::CGameServers_AggregationQuery_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGameServers_AggregationQuery_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CGameServers_AggregationQuery_Response_Group*
Arena::CreateMaybeMessage< ::CGameServers_AggregationQuery_Response_Group >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGameServers_AggregationQuery_Response_Group >(arena);
}
template<> PROTOBUF_NOINLINE ::CGameServers_AggregationQuery_Response*
Arena::CreateMaybeMessage< ::CGameServers_AggregationQuery_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CGameServers_AggregationQuery_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_AddSpecialPayment_Request*
Arena::CreateMaybeMessage< ::CWorkshop_AddSpecialPayment_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_AddSpecialPayment_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CWorkshop_AddSpecialPayment_Response*
Arena::CreateMaybeMessage< ::CWorkshop_AddSpecialPayment_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CWorkshop_AddSpecialPayment_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CProductInfo_SetRichPresenceLocalization_Request_Token*
Arena::CreateMaybeMessage< ::CProductInfo_SetRichPresenceLocalization_Request_Token >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CProductInfo_SetRichPresenceLocalization_Request_Token >(arena);
}
template<> PROTOBUF_NOINLINE ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection*
Arena::CreateMaybeMessage< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >(arena);
}
template<> PROTOBUF_NOINLINE ::CProductInfo_SetRichPresenceLocalization_Request*
Arena::CreateMaybeMessage< ::CProductInfo_SetRichPresenceLocalization_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CProductInfo_SetRichPresenceLocalization_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CProductInfo_SetRichPresenceLocalization_Response*
Arena::CreateMaybeMessage< ::CProductInfo_SetRichPresenceLocalization_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CProductInfo_SetRichPresenceLocalization_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSerializedSOCache_TypeCache*
Arena::CreateMaybeMessage< ::CMsgSerializedSOCache_TypeCache >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSerializedSOCache_TypeCache >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSerializedSOCache_Cache_Version*
Arena::CreateMaybeMessage< ::CMsgSerializedSOCache_Cache_Version >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSerializedSOCache_Cache_Version >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSerializedSOCache_Cache*
Arena::CreateMaybeMessage< ::CMsgSerializedSOCache_Cache >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSerializedSOCache_Cache >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSerializedSOCache*
Arena::CreateMaybeMessage< ::CMsgSerializedSOCache >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSerializedSOCache >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
