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

#ifndef PROTOBUF_bindopmobileforreg_2eproto__INCLUDED
#define PROTOBUF_bindopmobileforreg_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3003000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
namespace com {
namespace tencent {
namespace mars {
namespace microchat {
namespace proto {
class BindRequest;
class BindRequestDefaultTypeInternal;
extern BindRequestDefaultTypeInternal _BindRequest_default_instance_;
class BindRequest_AesKey;
class BindRequest_AesKeyDefaultTypeInternal;
extern BindRequest_AesKeyDefaultTypeInternal _BindRequest_AesKey_default_instance_;
class BindRequest_DeviceInfo;
class BindRequest_DeviceInfoDefaultTypeInternal;
extern BindRequest_DeviceInfoDefaultTypeInternal _BindRequest_DeviceInfo_default_instance_;
class BindResponse;
class BindResponseDefaultTypeInternal;
extern BindResponseDefaultTypeInternal _BindResponse_default_instance_;
class BindResponse__Result;
class BindResponse__ResultDefaultTypeInternal;
extern BindResponse__ResultDefaultTypeInternal _BindResponse__Result_default_instance_;
class BindResponse__Result__Result;
class BindResponse__Result__ResultDefaultTypeInternal;
extern BindResponse__Result__ResultDefaultTypeInternal _BindResponse__Result__Result_default_instance_;
}  // namespace proto
}  // namespace microchat
}  // namespace mars
}  // namespace tencent
}  // namespace com

namespace com {
namespace tencent {
namespace mars {
namespace microchat {
namespace proto {

namespace protobuf_bindopmobileforreg_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static void InitDefaultsImpl();
  static void Shutdown();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_bindopmobileforreg_2eproto

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

class BindRequest_DeviceInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo) */ {
 public:
  BindRequest_DeviceInfo();
  virtual ~BindRequest_DeviceInfo();

  BindRequest_DeviceInfo(const BindRequest_DeviceInfo& from);

  inline BindRequest_DeviceInfo& operator=(const BindRequest_DeviceInfo& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindRequest_DeviceInfo& default_instance();

  static inline const BindRequest_DeviceInfo* internal_default_instance() {
    return reinterpret_cast<const BindRequest_DeviceInfo*>(
               &_BindRequest_DeviceInfo_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(BindRequest_DeviceInfo* other);

  // implements Message ----------------------------------------------

  inline BindRequest_DeviceInfo* New() const PROTOBUF_FINAL { return New(NULL); }

  BindRequest_DeviceInfo* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindRequest_DeviceInfo& from);
  void MergeFrom(const BindRequest_DeviceInfo& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindRequest_DeviceInfo* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required string unknown1 = 1;
  bool has_unknown1() const;
  void clear_unknown1();
  static const int kUnknown1FieldNumber = 1;
  const ::std::string& unknown1() const;
  void set_unknown1(const ::std::string& value);
  #if LANG_CXX11
  void set_unknown1(::std::string&& value);
  #endif
  void set_unknown1(const char* value);
  void set_unknown1(const char* value, size_t size);
  ::std::string* mutable_unknown1();
  ::std::string* release_unknown1();
  void set_allocated_unknown1(::std::string* unknown1);

  // required string guid = 3;
  bool has_guid() const;
  void clear_guid();
  static const int kGuidFieldNumber = 3;
  const ::std::string& guid() const;
  void set_guid(const ::std::string& value);
  #if LANG_CXX11
  void set_guid(::std::string&& value);
  #endif
  void set_guid(const char* value);
  void set_guid(const char* value, size_t size);
  ::std::string* mutable_guid();
  ::std::string* release_guid();
  void set_allocated_guid(::std::string* guid);

  // required string androidVer = 5;
  bool has_androidver() const;
  void clear_androidver();
  static const int kAndroidVerFieldNumber = 5;
  const ::std::string& androidver() const;
  void set_androidver(const ::std::string& value);
  #if LANG_CXX11
  void set_androidver(::std::string&& value);
  #endif
  void set_androidver(const char* value);
  void set_androidver(const char* value, size_t size);
  ::std::string* mutable_androidver();
  ::std::string* release_androidver();
  void set_allocated_androidver(::std::string* androidver);

  // required int32 unknown2 = 2;
  bool has_unknown2() const;
  void clear_unknown2();
  static const int kUnknown2FieldNumber = 2;
  ::google::protobuf::int32 unknown2() const;
  void set_unknown2(::google::protobuf::int32 value);

  // required int32 clientVer = 4;
  bool has_clientver() const;
  void clear_clientver();
  static const int kClientVerFieldNumber = 4;
  ::google::protobuf::int32 clientver() const;
  void set_clientver(::google::protobuf::int32 value);

  // required int32 unknown3 = 6;
  bool has_unknown3() const;
  void clear_unknown3();
  static const int kUnknown3FieldNumber = 6;
  ::google::protobuf::int32 unknown3() const;
  void set_unknown3(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
 private:
  void set_has_unknown1();
  void clear_has_unknown1();
  void set_has_unknown2();
  void clear_has_unknown2();
  void set_has_guid();
  void clear_has_guid();
  void set_has_clientver();
  void clear_has_clientver();
  void set_has_androidver();
  void clear_has_androidver();
  void set_has_unknown3();
  void clear_has_unknown3();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr unknown1_;
  ::google::protobuf::internal::ArenaStringPtr guid_;
  ::google::protobuf::internal::ArenaStringPtr androidver_;
  ::google::protobuf::int32 unknown2_;
  ::google::protobuf::int32 clientver_;
  ::google::protobuf::int32 unknown3_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class BindRequest_AesKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindRequest.AesKey) */ {
 public:
  BindRequest_AesKey();
  virtual ~BindRequest_AesKey();

  BindRequest_AesKey(const BindRequest_AesKey& from);

  inline BindRequest_AesKey& operator=(const BindRequest_AesKey& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindRequest_AesKey& default_instance();

  static inline const BindRequest_AesKey* internal_default_instance() {
    return reinterpret_cast<const BindRequest_AesKey*>(
               &_BindRequest_AesKey_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(BindRequest_AesKey* other);

  // implements Message ----------------------------------------------

  inline BindRequest_AesKey* New() const PROTOBUF_FINAL { return New(NULL); }

  BindRequest_AesKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindRequest_AesKey& from);
  void MergeFrom(const BindRequest_AesKey& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindRequest_AesKey* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required string key = 2;
  bool has_key() const;
  void clear_key();
  static const int kKeyFieldNumber = 2;
  const ::std::string& key() const;
  void set_key(const ::std::string& value);
  #if LANG_CXX11
  void set_key(::std::string&& value);
  #endif
  void set_key(const char* value);
  void set_key(const char* value, size_t size);
  ::std::string* mutable_key();
  ::std::string* release_key();
  void set_allocated_key(::std::string* key);

  // required int32 len = 1;
  bool has_len() const;
  void clear_len();
  static const int kLenFieldNumber = 1;
  ::google::protobuf::int32 len() const;
  void set_len(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindRequest.AesKey)
 private:
  void set_has_len();
  void clear_has_len();
  void set_has_key();
  void clear_has_key();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr key_;
  ::google::protobuf::int32 len_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class BindRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindRequest) */ {
 public:
  BindRequest();
  virtual ~BindRequest();

  BindRequest(const BindRequest& from);

  inline BindRequest& operator=(const BindRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindRequest& default_instance();

  static inline const BindRequest* internal_default_instance() {
    return reinterpret_cast<const BindRequest*>(
               &_BindRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(BindRequest* other);

  // implements Message ----------------------------------------------

  inline BindRequest* New() const PROTOBUF_FINAL { return New(NULL); }

  BindRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindRequest& from);
  void MergeFrom(const BindRequest& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef BindRequest_DeviceInfo DeviceInfo;
  typedef BindRequest_AesKey AesKey;

  // accessors -------------------------------------------------------

  // optional string mobileNum = 3;
  bool has_mobilenum() const;
  void clear_mobilenum();
  static const int kMobileNumFieldNumber = 3;
  const ::std::string& mobilenum() const;
  void set_mobilenum(const ::std::string& value);
  #if LANG_CXX11
  void set_mobilenum(::std::string&& value);
  #endif
  void set_mobilenum(const char* value);
  void set_mobilenum(const char* value, size_t size);
  ::std::string* mutable_mobilenum();
  ::std::string* release_mobilenum();
  void set_allocated_mobilenum(::std::string* mobilenum);

  // optional string verifycode = 5;
  bool has_verifycode() const;
  void clear_verifycode();
  static const int kVerifycodeFieldNumber = 5;
  const ::std::string& verifycode() const;
  void set_verifycode(const ::std::string& value);
  #if LANG_CXX11
  void set_verifycode(::std::string&& value);
  #endif
  void set_verifycode(const char* value);
  void set_verifycode(const char* value, size_t size);
  ::std::string* mutable_verifycode();
  ::std::string* release_verifycode();
  void set_allocated_verifycode(::std::string* verifycode);

  // optional string tag7 = 7;
  bool has_tag7() const;
  void clear_tag7();
  static const int kTag7FieldNumber = 7;
  const ::std::string& tag7() const;
  void set_tag7(const ::std::string& value);
  #if LANG_CXX11
  void set_tag7(::std::string&& value);
  #endif
  void set_tag7(const char* value);
  void set_tag7(const char* value, size_t size);
  ::std::string* mutable_tag7();
  ::std::string* release_tag7();
  void set_allocated_tag7(::std::string* tag7);

  // optional string authTicket = 8;
  bool has_authticket() const;
  void clear_authticket();
  static const int kAuthTicketFieldNumber = 8;
  const ::std::string& authticket() const;
  void set_authticket(const ::std::string& value);
  #if LANG_CXX11
  void set_authticket(::std::string&& value);
  #endif
  void set_authticket(const char* value);
  void set_authticket(const char* value, size_t size);
  ::std::string* mutable_authticket();
  ::std::string* release_authticket();
  void set_allocated_authticket(::std::string* authticket);

  // optional string deviceType = 10;
  bool has_devicetype() const;
  void clear_devicetype();
  static const int kDeviceTypeFieldNumber = 10;
  const ::std::string& devicetype() const;
  void set_devicetype(const ::std::string& value);
  #if LANG_CXX11
  void set_devicetype(::std::string&& value);
  #endif
  void set_devicetype(const char* value);
  void set_devicetype(const char* value, size_t size);
  ::std::string* mutable_devicetype();
  ::std::string* release_devicetype();
  void set_allocated_devicetype(::std::string* devicetype);

  // optional string deviceName = 11;
  bool has_devicename() const;
  void clear_devicename();
  static const int kDeviceNameFieldNumber = 11;
  const ::std::string& devicename() const;
  void set_devicename(const ::std::string& value);
  #if LANG_CXX11
  void set_devicename(::std::string&& value);
  #endif
  void set_devicename(const char* value);
  void set_devicename(const char* value, size_t size);
  ::std::string* mutable_devicename();
  ::std::string* release_devicename();
  void set_allocated_devicename(::std::string* devicename);

  // optional string launguage = 13;
  bool has_launguage() const;
  void clear_launguage();
  static const int kLaunguageFieldNumber = 13;
  const ::std::string& launguage() const;
  void set_launguage(const ::std::string& value);
  #if LANG_CXX11
  void set_launguage(::std::string&& value);
  #endif
  void set_launguage(const char* value);
  void set_launguage(const char* value, size_t size);
  ::std::string* mutable_launguage();
  ::std::string* release_launguage();
  void set_allocated_launguage(::std::string* launguage);

  // optional string clientSeqId = 16;
  bool has_clientseqid() const;
  void clear_clientseqid();
  static const int kClientSeqIdFieldNumber = 16;
  const ::std::string& clientseqid() const;
  void set_clientseqid(const ::std::string& value);
  #if LANG_CXX11
  void set_clientseqid(::std::string&& value);
  #endif
  void set_clientseqid(const char* value);
  void set_clientseqid(const char* value, size_t size);
  ::std::string* mutable_clientseqid();
  ::std::string* release_clientseqid();
  void set_allocated_clientseqid(::std::string* clientseqid);

  // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
  bool has_info() const;
  void clear_info();
  static const int kInfoFieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo& info() const;
  ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* mutable_info();
  ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* release_info();
  void set_allocated_info(::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* info);

  // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
  bool has_aes() const;
  void clear_aes();
  static const int kAesFieldNumber = 12;
  const ::com::tencent::mars::microchat::proto::BindRequest_AesKey& aes() const;
  ::com::tencent::mars::microchat::proto::BindRequest_AesKey* mutable_aes();
  ::com::tencent::mars::microchat::proto::BindRequest_AesKey* release_aes();
  void set_allocated_aes(::com::tencent::mars::microchat::proto::BindRequest_AesKey* aes);

  // optional int32 option = 4;
  bool has_option() const;
  void clear_option();
  static const int kOptionFieldNumber = 4;
  ::google::protobuf::int32 option() const;
  void set_option(::google::protobuf::int32 value);

  // optional int32 tag6 = 6;
  bool has_tag6() const;
  void clear_tag6();
  static const int kTag6FieldNumber = 6;
  ::google::protobuf::int32 tag6() const;
  void set_tag6(::google::protobuf::int32 value);

  // optional int32 tag9 = 9;
  bool has_tag9() const;
  void clear_tag9();
  static const int kTag9FieldNumber = 9;
  ::google::protobuf::int32 tag9() const;
  void set_tag9(::google::protobuf::int32 value);

  // optional int32 tag14 = 14;
  bool has_tag14() const;
  void clear_tag14();
  static const int kTag14FieldNumber = 14;
  ::google::protobuf::int32 tag14() const;
  void set_tag14(::google::protobuf::int32 value);

  // optional int32 tag15 = 15;
  bool has_tag15() const;
  void clear_tag15();
  static const int kTag15FieldNumber = 15;
  ::google::protobuf::int32 tag15() const;
  void set_tag15(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindRequest)
 private:
  void set_has_info();
  void clear_has_info();
  void set_has_mobilenum();
  void clear_has_mobilenum();
  void set_has_option();
  void clear_has_option();
  void set_has_verifycode();
  void clear_has_verifycode();
  void set_has_tag6();
  void clear_has_tag6();
  void set_has_tag7();
  void clear_has_tag7();
  void set_has_authticket();
  void clear_has_authticket();
  void set_has_tag9();
  void clear_has_tag9();
  void set_has_devicetype();
  void clear_has_devicetype();
  void set_has_devicename();
  void clear_has_devicename();
  void set_has_aes();
  void clear_has_aes();
  void set_has_launguage();
  void clear_has_launguage();
  void set_has_tag14();
  void clear_has_tag14();
  void set_has_tag15();
  void clear_has_tag15();
  void set_has_clientseqid();
  void clear_has_clientseqid();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr mobilenum_;
  ::google::protobuf::internal::ArenaStringPtr verifycode_;
  ::google::protobuf::internal::ArenaStringPtr tag7_;
  ::google::protobuf::internal::ArenaStringPtr authticket_;
  ::google::protobuf::internal::ArenaStringPtr devicetype_;
  ::google::protobuf::internal::ArenaStringPtr devicename_;
  ::google::protobuf::internal::ArenaStringPtr launguage_;
  ::google::protobuf::internal::ArenaStringPtr clientseqid_;
  ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* info_;
  ::com::tencent::mars::microchat::proto::BindRequest_AesKey* aes_;
  ::google::protobuf::int32 option_;
  ::google::protobuf::int32 tag6_;
  ::google::protobuf::int32 tag9_;
  ::google::protobuf::int32 tag14_;
  ::google::protobuf::int32 tag15_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class BindResponse__Result__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindResponse._Result._Result) */ {
 public:
  BindResponse__Result__Result();
  virtual ~BindResponse__Result__Result();

  BindResponse__Result__Result(const BindResponse__Result__Result& from);

  inline BindResponse__Result__Result& operator=(const BindResponse__Result__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindResponse__Result__Result& default_instance();

  static inline const BindResponse__Result__Result* internal_default_instance() {
    return reinterpret_cast<const BindResponse__Result__Result*>(
               &_BindResponse__Result__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(BindResponse__Result__Result* other);

  // implements Message ----------------------------------------------

  inline BindResponse__Result__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  BindResponse__Result__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindResponse__Result__Result& from);
  void MergeFrom(const BindResponse__Result__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindResponse__Result__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional string strResult = 1;
  bool has_strresult() const;
  void clear_strresult();
  static const int kStrResultFieldNumber = 1;
  const ::std::string& strresult() const;
  void set_strresult(const ::std::string& value);
  #if LANG_CXX11
  void set_strresult(::std::string&& value);
  #endif
  void set_strresult(const char* value);
  void set_strresult(const char* value, size_t size);
  ::std::string* mutable_strresult();
  ::std::string* release_strresult();
  void set_allocated_strresult(::std::string* strresult);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
 private:
  void set_has_strresult();
  void clear_has_strresult();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr strresult_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class BindResponse__Result : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindResponse._Result) */ {
 public:
  BindResponse__Result();
  virtual ~BindResponse__Result();

  BindResponse__Result(const BindResponse__Result& from);

  inline BindResponse__Result& operator=(const BindResponse__Result& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindResponse__Result& default_instance();

  static inline const BindResponse__Result* internal_default_instance() {
    return reinterpret_cast<const BindResponse__Result*>(
               &_BindResponse__Result_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    4;

  void Swap(BindResponse__Result* other);

  // implements Message ----------------------------------------------

  inline BindResponse__Result* New() const PROTOBUF_FINAL { return New(NULL); }

  BindResponse__Result* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindResponse__Result& from);
  void MergeFrom(const BindResponse__Result& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindResponse__Result* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef BindResponse__Result__Result _Result;

  // accessors -------------------------------------------------------

  // optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
  bool has_result() const;
  void clear_result();
  static const int kResultFieldNumber = 2;
  const ::com::tencent::mars::microchat::proto::BindResponse__Result__Result& result() const;
  ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* mutable_result();
  ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* release_result();
  void set_allocated_result(::com::tencent::mars::microchat::proto::BindResponse__Result__Result* result);

  // optional int32 code = 1;
  bool has_code() const;
  void clear_code();
  static const int kCodeFieldNumber = 1;
  ::google::protobuf::int32 code() const;
  void set_code(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindResponse._Result)
 private:
  void set_has_code();
  void clear_has_code();
  void set_has_result();
  void clear_has_result();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* result_;
  ::google::protobuf::int32 code_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class BindResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:com.tencent.mars.microchat.proto.BindResponse) */ {
 public:
  BindResponse();
  virtual ~BindResponse();

  BindResponse(const BindResponse& from);

  inline BindResponse& operator=(const BindResponse& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BindResponse& default_instance();

  static inline const BindResponse* internal_default_instance() {
    return reinterpret_cast<const BindResponse*>(
               &_BindResponse_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    5;

  void Swap(BindResponse* other);

  // implements Message ----------------------------------------------

  inline BindResponse* New() const PROTOBUF_FINAL { return New(NULL); }

  BindResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const BindResponse& from);
  void MergeFrom(const BindResponse& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(BindResponse* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef BindResponse__Result _Result;

  // accessors -------------------------------------------------------

  // optional string wxid = 6;
  bool has_wxid() const;
  void clear_wxid();
  static const int kWxidFieldNumber = 6;
  const ::std::string& wxid() const;
  void set_wxid(const ::std::string& value);
  #if LANG_CXX11
  void set_wxid(::std::string&& value);
  #endif
  void set_wxid(const char* value);
  void set_wxid(const char* value, size_t size);
  ::std::string* mutable_wxid();
  ::std::string* release_wxid();
  void set_allocated_wxid(::std::string* wxid);

  // optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
  bool has_tag1() const;
  void clear_tag1();
  static const int kTag1FieldNumber = 1;
  const ::com::tencent::mars::microchat::proto::BindResponse__Result& tag1() const;
  ::com::tencent::mars::microchat::proto::BindResponse__Result* mutable_tag1();
  ::com::tencent::mars::microchat::proto::BindResponse__Result* release_tag1();
  void set_allocated_tag1(::com::tencent::mars::microchat::proto::BindResponse__Result* tag1);

  // @@protoc_insertion_point(class_scope:com.tencent.mars.microchat.proto.BindResponse)
 private:
  void set_has_tag1();
  void clear_has_tag1();
  void set_has_wxid();
  void clear_has_wxid();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr wxid_;
  ::com::tencent::mars::microchat::proto::BindResponse__Result* tag1_;
  friend struct protobuf_bindopmobileforreg_2eproto::TableStruct;
};
// ===================================================================


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

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
// BindRequest_DeviceInfo

// required string unknown1 = 1;
inline bool BindRequest_DeviceInfo::has_unknown1() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_unknown1() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindRequest_DeviceInfo::clear_has_unknown1() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindRequest_DeviceInfo::clear_unknown1() {
  unknown1_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_unknown1();
}
inline const ::std::string& BindRequest_DeviceInfo::unknown1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  return unknown1_.GetNoArena();
}
inline void BindRequest_DeviceInfo::set_unknown1(const ::std::string& value) {
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
#if LANG_CXX11
inline void BindRequest_DeviceInfo::set_unknown1(::std::string&& value) {
  set_has_unknown1();
  unknown1_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
#endif
inline void BindRequest_DeviceInfo::set_unknown1(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
inline void BindRequest_DeviceInfo::set_unknown1(const char* value, size_t size) {
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
inline ::std::string* BindRequest_DeviceInfo::mutable_unknown1() {
  set_has_unknown1();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  return unknown1_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest_DeviceInfo::release_unknown1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  clear_has_unknown1();
  return unknown1_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest_DeviceInfo::set_allocated_unknown1(::std::string* unknown1) {
  if (unknown1 != NULL) {
    set_has_unknown1();
  } else {
    clear_has_unknown1();
  }
  unknown1_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), unknown1);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}

// required int32 unknown2 = 2;
inline bool BindRequest_DeviceInfo::has_unknown2() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_unknown2() {
  _has_bits_[0] |= 0x00000008u;
}
inline void BindRequest_DeviceInfo::clear_has_unknown2() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void BindRequest_DeviceInfo::clear_unknown2() {
  unknown2_ = 0;
  clear_has_unknown2();
}
inline ::google::protobuf::int32 BindRequest_DeviceInfo::unknown2() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown2)
  return unknown2_;
}
inline void BindRequest_DeviceInfo::set_unknown2(::google::protobuf::int32 value) {
  set_has_unknown2();
  unknown2_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown2)
}

// required string guid = 3;
inline bool BindRequest_DeviceInfo::has_guid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_guid() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BindRequest_DeviceInfo::clear_has_guid() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BindRequest_DeviceInfo::clear_guid() {
  guid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_guid();
}
inline const ::std::string& BindRequest_DeviceInfo::guid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  return guid_.GetNoArena();
}
inline void BindRequest_DeviceInfo::set_guid(const ::std::string& value) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
#if LANG_CXX11
inline void BindRequest_DeviceInfo::set_guid(::std::string&& value) {
  set_has_guid();
  guid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
#endif
inline void BindRequest_DeviceInfo::set_guid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
inline void BindRequest_DeviceInfo::set_guid(const char* value, size_t size) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
inline ::std::string* BindRequest_DeviceInfo::mutable_guid() {
  set_has_guid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  return guid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest_DeviceInfo::release_guid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  clear_has_guid();
  return guid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest_DeviceInfo::set_allocated_guid(::std::string* guid) {
  if (guid != NULL) {
    set_has_guid();
  } else {
    clear_has_guid();
  }
  guid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), guid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}

// required int32 clientVer = 4;
inline bool BindRequest_DeviceInfo::has_clientver() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_clientver() {
  _has_bits_[0] |= 0x00000010u;
}
inline void BindRequest_DeviceInfo::clear_has_clientver() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void BindRequest_DeviceInfo::clear_clientver() {
  clientver_ = 0;
  clear_has_clientver();
}
inline ::google::protobuf::int32 BindRequest_DeviceInfo::clientver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.clientVer)
  return clientver_;
}
inline void BindRequest_DeviceInfo::set_clientver(::google::protobuf::int32 value) {
  set_has_clientver();
  clientver_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.clientVer)
}

// required string androidVer = 5;
inline bool BindRequest_DeviceInfo::has_androidver() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_androidver() {
  _has_bits_[0] |= 0x00000004u;
}
inline void BindRequest_DeviceInfo::clear_has_androidver() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void BindRequest_DeviceInfo::clear_androidver() {
  androidver_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_androidver();
}
inline const ::std::string& BindRequest_DeviceInfo::androidver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  return androidver_.GetNoArena();
}
inline void BindRequest_DeviceInfo::set_androidver(const ::std::string& value) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
#if LANG_CXX11
inline void BindRequest_DeviceInfo::set_androidver(::std::string&& value) {
  set_has_androidver();
  androidver_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
#endif
inline void BindRequest_DeviceInfo::set_androidver(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
inline void BindRequest_DeviceInfo::set_androidver(const char* value, size_t size) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
inline ::std::string* BindRequest_DeviceInfo::mutable_androidver() {
  set_has_androidver();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  return androidver_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest_DeviceInfo::release_androidver() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  clear_has_androidver();
  return androidver_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest_DeviceInfo::set_allocated_androidver(::std::string* androidver) {
  if (androidver != NULL) {
    set_has_androidver();
  } else {
    clear_has_androidver();
  }
  androidver_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), androidver);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}

// required int32 unknown3 = 6;
inline bool BindRequest_DeviceInfo::has_unknown3() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void BindRequest_DeviceInfo::set_has_unknown3() {
  _has_bits_[0] |= 0x00000020u;
}
inline void BindRequest_DeviceInfo::clear_has_unknown3() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void BindRequest_DeviceInfo::clear_unknown3() {
  unknown3_ = 0;
  clear_has_unknown3();
}
inline ::google::protobuf::int32 BindRequest_DeviceInfo::unknown3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown3)
  return unknown3_;
}
inline void BindRequest_DeviceInfo::set_unknown3(::google::protobuf::int32 value) {
  set_has_unknown3();
  unknown3_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown3)
}

// -------------------------------------------------------------------

// BindRequest_AesKey

// required int32 len = 1;
inline bool BindRequest_AesKey::has_len() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BindRequest_AesKey::set_has_len() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BindRequest_AesKey::clear_has_len() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BindRequest_AesKey::clear_len() {
  len_ = 0;
  clear_has_len();
}
inline ::google::protobuf::int32 BindRequest_AesKey::len() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.AesKey.len)
  return len_;
}
inline void BindRequest_AesKey::set_len(::google::protobuf::int32 value) {
  set_has_len();
  len_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.AesKey.len)
}

// required string key = 2;
inline bool BindRequest_AesKey::has_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindRequest_AesKey::set_has_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindRequest_AesKey::clear_has_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindRequest_AesKey::clear_key() {
  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_key();
}
inline const ::std::string& BindRequest_AesKey::key() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  return key_.GetNoArena();
}
inline void BindRequest_AesKey::set_key(const ::std::string& value) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
#if LANG_CXX11
inline void BindRequest_AesKey::set_key(::std::string&& value) {
  set_has_key();
  key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
#endif
inline void BindRequest_AesKey::set_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
inline void BindRequest_AesKey::set_key(const char* value, size_t size) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
inline ::std::string* BindRequest_AesKey::mutable_key() {
  set_has_key();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest_AesKey::release_key() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  clear_has_key();
  return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest_AesKey::set_allocated_key(::std::string* key) {
  if (key != NULL) {
    set_has_key();
  } else {
    clear_has_key();
  }
  key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}

// -------------------------------------------------------------------

// BindRequest

// required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
inline bool BindRequest::has_info() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void BindRequest::set_has_info() {
  _has_bits_[0] |= 0x00000100u;
}
inline void BindRequest::clear_has_info() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void BindRequest::clear_info() {
  if (info_ != NULL) info_->::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::Clear();
  clear_has_info();
}
inline const ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo& BindRequest::info() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.info)
  return info_ != NULL ? *info_
                         : *::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* BindRequest::mutable_info() {
  set_has_info();
  if (info_ == NULL) {
    info_ = new ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.info)
  return info_;
}
inline ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* BindRequest::release_info() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.info)
  clear_has_info();
  ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* temp = info_;
  info_ = NULL;
  return temp;
}
inline void BindRequest::set_allocated_info(::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* info) {
  delete info_;
  info_ = info;
  if (info) {
    set_has_info();
  } else {
    clear_has_info();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.info)
}

// optional string mobileNum = 3;
inline bool BindRequest::has_mobilenum() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindRequest::set_has_mobilenum() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindRequest::clear_has_mobilenum() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindRequest::clear_mobilenum() {
  mobilenum_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_mobilenum();
}
inline const ::std::string& BindRequest::mobilenum() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  return mobilenum_.GetNoArena();
}
inline void BindRequest::set_mobilenum(const ::std::string& value) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
#if LANG_CXX11
inline void BindRequest::set_mobilenum(::std::string&& value) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
#endif
inline void BindRequest::set_mobilenum(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
inline void BindRequest::set_mobilenum(const char* value, size_t size) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
inline ::std::string* BindRequest::mutable_mobilenum() {
  set_has_mobilenum();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  return mobilenum_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_mobilenum() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  clear_has_mobilenum();
  return mobilenum_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_mobilenum(::std::string* mobilenum) {
  if (mobilenum != NULL) {
    set_has_mobilenum();
  } else {
    clear_has_mobilenum();
  }
  mobilenum_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mobilenum);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}

// optional int32 option = 4;
inline bool BindRequest::has_option() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
inline void BindRequest::set_has_option() {
  _has_bits_[0] |= 0x00000400u;
}
inline void BindRequest::clear_has_option() {
  _has_bits_[0] &= ~0x00000400u;
}
inline void BindRequest::clear_option() {
  option_ = 0;
  clear_has_option();
}
inline ::google::protobuf::int32 BindRequest::option() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.option)
  return option_;
}
inline void BindRequest::set_option(::google::protobuf::int32 value) {
  set_has_option();
  option_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.option)
}

// optional string verifycode = 5;
inline bool BindRequest::has_verifycode() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BindRequest::set_has_verifycode() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BindRequest::clear_has_verifycode() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BindRequest::clear_verifycode() {
  verifycode_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_verifycode();
}
inline const ::std::string& BindRequest::verifycode() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  return verifycode_.GetNoArena();
}
inline void BindRequest::set_verifycode(const ::std::string& value) {
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
#if LANG_CXX11
inline void BindRequest::set_verifycode(::std::string&& value) {
  set_has_verifycode();
  verifycode_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
#endif
inline void BindRequest::set_verifycode(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
inline void BindRequest::set_verifycode(const char* value, size_t size) {
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
inline ::std::string* BindRequest::mutable_verifycode() {
  set_has_verifycode();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  return verifycode_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_verifycode() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  clear_has_verifycode();
  return verifycode_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_verifycode(::std::string* verifycode) {
  if (verifycode != NULL) {
    set_has_verifycode();
  } else {
    clear_has_verifycode();
  }
  verifycode_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verifycode);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}

// optional int32 tag6 = 6;
inline bool BindRequest::has_tag6() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
inline void BindRequest::set_has_tag6() {
  _has_bits_[0] |= 0x00000800u;
}
inline void BindRequest::clear_has_tag6() {
  _has_bits_[0] &= ~0x00000800u;
}
inline void BindRequest::clear_tag6() {
  tag6_ = 0;
  clear_has_tag6();
}
inline ::google::protobuf::int32 BindRequest::tag6() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag6)
  return tag6_;
}
inline void BindRequest::set_tag6(::google::protobuf::int32 value) {
  set_has_tag6();
  tag6_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag6)
}

// optional string tag7 = 7;
inline bool BindRequest::has_tag7() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void BindRequest::set_has_tag7() {
  _has_bits_[0] |= 0x00000004u;
}
inline void BindRequest::clear_has_tag7() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void BindRequest::clear_tag7() {
  tag7_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag7();
}
inline const ::std::string& BindRequest::tag7() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag7)
  return tag7_.GetNoArena();
}
inline void BindRequest::set_tag7(const ::std::string& value) {
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
#if LANG_CXX11
inline void BindRequest::set_tag7(::std::string&& value) {
  set_has_tag7();
  tag7_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
#endif
inline void BindRequest::set_tag7(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
inline void BindRequest::set_tag7(const char* value, size_t size) {
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
inline ::std::string* BindRequest::mutable_tag7() {
  set_has_tag7();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.tag7)
  return tag7_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_tag7() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.tag7)
  clear_has_tag7();
  return tag7_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_tag7(::std::string* tag7) {
  if (tag7 != NULL) {
    set_has_tag7();
  } else {
    clear_has_tag7();
  }
  tag7_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag7);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.tag7)
}

// optional string authTicket = 8;
inline bool BindRequest::has_authticket() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void BindRequest::set_has_authticket() {
  _has_bits_[0] |= 0x00000008u;
}
inline void BindRequest::clear_has_authticket() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void BindRequest::clear_authticket() {
  authticket_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_authticket();
}
inline const ::std::string& BindRequest::authticket() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  return authticket_.GetNoArena();
}
inline void BindRequest::set_authticket(const ::std::string& value) {
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
#if LANG_CXX11
inline void BindRequest::set_authticket(::std::string&& value) {
  set_has_authticket();
  authticket_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
#endif
inline void BindRequest::set_authticket(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
inline void BindRequest::set_authticket(const char* value, size_t size) {
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
inline ::std::string* BindRequest::mutable_authticket() {
  set_has_authticket();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  return authticket_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_authticket() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  clear_has_authticket();
  return authticket_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_authticket(::std::string* authticket) {
  if (authticket != NULL) {
    set_has_authticket();
  } else {
    clear_has_authticket();
  }
  authticket_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), authticket);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}

// optional int32 tag9 = 9;
inline bool BindRequest::has_tag9() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
inline void BindRequest::set_has_tag9() {
  _has_bits_[0] |= 0x00001000u;
}
inline void BindRequest::clear_has_tag9() {
  _has_bits_[0] &= ~0x00001000u;
}
inline void BindRequest::clear_tag9() {
  tag9_ = 0;
  clear_has_tag9();
}
inline ::google::protobuf::int32 BindRequest::tag9() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag9)
  return tag9_;
}
inline void BindRequest::set_tag9(::google::protobuf::int32 value) {
  set_has_tag9();
  tag9_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag9)
}

// optional string deviceType = 10;
inline bool BindRequest::has_devicetype() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void BindRequest::set_has_devicetype() {
  _has_bits_[0] |= 0x00000010u;
}
inline void BindRequest::clear_has_devicetype() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void BindRequest::clear_devicetype() {
  devicetype_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_devicetype();
}
inline const ::std::string& BindRequest::devicetype() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  return devicetype_.GetNoArena();
}
inline void BindRequest::set_devicetype(const ::std::string& value) {
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
#if LANG_CXX11
inline void BindRequest::set_devicetype(::std::string&& value) {
  set_has_devicetype();
  devicetype_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
#endif
inline void BindRequest::set_devicetype(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
inline void BindRequest::set_devicetype(const char* value, size_t size) {
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
inline ::std::string* BindRequest::mutable_devicetype() {
  set_has_devicetype();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  return devicetype_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_devicetype() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  clear_has_devicetype();
  return devicetype_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_devicetype(::std::string* devicetype) {
  if (devicetype != NULL) {
    set_has_devicetype();
  } else {
    clear_has_devicetype();
  }
  devicetype_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), devicetype);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}

// optional string deviceName = 11;
inline bool BindRequest::has_devicename() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void BindRequest::set_has_devicename() {
  _has_bits_[0] |= 0x00000020u;
}
inline void BindRequest::clear_has_devicename() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void BindRequest::clear_devicename() {
  devicename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_devicename();
}
inline const ::std::string& BindRequest::devicename() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  return devicename_.GetNoArena();
}
inline void BindRequest::set_devicename(const ::std::string& value) {
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
#if LANG_CXX11
inline void BindRequest::set_devicename(::std::string&& value) {
  set_has_devicename();
  devicename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
#endif
inline void BindRequest::set_devicename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
inline void BindRequest::set_devicename(const char* value, size_t size) {
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
inline ::std::string* BindRequest::mutable_devicename() {
  set_has_devicename();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  return devicename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_devicename() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  clear_has_devicename();
  return devicename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_devicename(::std::string* devicename) {
  if (devicename != NULL) {
    set_has_devicename();
  } else {
    clear_has_devicename();
  }
  devicename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), devicename);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}

// required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
inline bool BindRequest::has_aes() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void BindRequest::set_has_aes() {
  _has_bits_[0] |= 0x00000200u;
}
inline void BindRequest::clear_has_aes() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void BindRequest::clear_aes() {
  if (aes_ != NULL) aes_->::com::tencent::mars::microchat::proto::BindRequest_AesKey::Clear();
  clear_has_aes();
}
inline const ::com::tencent::mars::microchat::proto::BindRequest_AesKey& BindRequest::aes() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.aes)
  return aes_ != NULL ? *aes_
                         : *::com::tencent::mars::microchat::proto::BindRequest_AesKey::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::BindRequest_AesKey* BindRequest::mutable_aes() {
  set_has_aes();
  if (aes_ == NULL) {
    aes_ = new ::com::tencent::mars::microchat::proto::BindRequest_AesKey;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.aes)
  return aes_;
}
inline ::com::tencent::mars::microchat::proto::BindRequest_AesKey* BindRequest::release_aes() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.aes)
  clear_has_aes();
  ::com::tencent::mars::microchat::proto::BindRequest_AesKey* temp = aes_;
  aes_ = NULL;
  return temp;
}
inline void BindRequest::set_allocated_aes(::com::tencent::mars::microchat::proto::BindRequest_AesKey* aes) {
  delete aes_;
  aes_ = aes;
  if (aes) {
    set_has_aes();
  } else {
    clear_has_aes();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.aes)
}

// optional string launguage = 13;
inline bool BindRequest::has_launguage() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void BindRequest::set_has_launguage() {
  _has_bits_[0] |= 0x00000040u;
}
inline void BindRequest::clear_has_launguage() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void BindRequest::clear_launguage() {
  launguage_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_launguage();
}
inline const ::std::string& BindRequest::launguage() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.launguage)
  return launguage_.GetNoArena();
}
inline void BindRequest::set_launguage(const ::std::string& value) {
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
#if LANG_CXX11
inline void BindRequest::set_launguage(::std::string&& value) {
  set_has_launguage();
  launguage_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
#endif
inline void BindRequest::set_launguage(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
inline void BindRequest::set_launguage(const char* value, size_t size) {
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
inline ::std::string* BindRequest::mutable_launguage() {
  set_has_launguage();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.launguage)
  return launguage_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_launguage() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.launguage)
  clear_has_launguage();
  return launguage_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_launguage(::std::string* launguage) {
  if (launguage != NULL) {
    set_has_launguage();
  } else {
    clear_has_launguage();
  }
  launguage_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), launguage);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.launguage)
}

// optional int32 tag14 = 14;
inline bool BindRequest::has_tag14() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
inline void BindRequest::set_has_tag14() {
  _has_bits_[0] |= 0x00002000u;
}
inline void BindRequest::clear_has_tag14() {
  _has_bits_[0] &= ~0x00002000u;
}
inline void BindRequest::clear_tag14() {
  tag14_ = 0;
  clear_has_tag14();
}
inline ::google::protobuf::int32 BindRequest::tag14() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag14)
  return tag14_;
}
inline void BindRequest::set_tag14(::google::protobuf::int32 value) {
  set_has_tag14();
  tag14_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag14)
}

// optional int32 tag15 = 15;
inline bool BindRequest::has_tag15() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
inline void BindRequest::set_has_tag15() {
  _has_bits_[0] |= 0x00004000u;
}
inline void BindRequest::clear_has_tag15() {
  _has_bits_[0] &= ~0x00004000u;
}
inline void BindRequest::clear_tag15() {
  tag15_ = 0;
  clear_has_tag15();
}
inline ::google::protobuf::int32 BindRequest::tag15() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag15)
  return tag15_;
}
inline void BindRequest::set_tag15(::google::protobuf::int32 value) {
  set_has_tag15();
  tag15_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag15)
}

// optional string clientSeqId = 16;
inline bool BindRequest::has_clientseqid() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void BindRequest::set_has_clientseqid() {
  _has_bits_[0] |= 0x00000080u;
}
inline void BindRequest::clear_has_clientseqid() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void BindRequest::clear_clientseqid() {
  clientseqid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_clientseqid();
}
inline const ::std::string& BindRequest::clientseqid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  return clientseqid_.GetNoArena();
}
inline void BindRequest::set_clientseqid(const ::std::string& value) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
#if LANG_CXX11
inline void BindRequest::set_clientseqid(::std::string&& value) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
#endif
inline void BindRequest::set_clientseqid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
inline void BindRequest::set_clientseqid(const char* value, size_t size) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
inline ::std::string* BindRequest::mutable_clientseqid() {
  set_has_clientseqid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  return clientseqid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindRequest::release_clientseqid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  clear_has_clientseqid();
  return clientseqid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindRequest::set_allocated_clientseqid(::std::string* clientseqid) {
  if (clientseqid != NULL) {
    set_has_clientseqid();
  } else {
    clear_has_clientseqid();
  }
  clientseqid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), clientseqid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}

// -------------------------------------------------------------------

// BindResponse__Result__Result

// optional string strResult = 1;
inline bool BindResponse__Result__Result::has_strresult() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindResponse__Result__Result::set_has_strresult() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindResponse__Result__Result::clear_has_strresult() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindResponse__Result__Result::clear_strresult() {
  strresult_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_strresult();
}
inline const ::std::string& BindResponse__Result__Result::strresult() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  return strresult_.GetNoArena();
}
inline void BindResponse__Result__Result::set_strresult(const ::std::string& value) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
#if LANG_CXX11
inline void BindResponse__Result__Result::set_strresult(::std::string&& value) {
  set_has_strresult();
  strresult_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
#endif
inline void BindResponse__Result__Result::set_strresult(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
inline void BindResponse__Result__Result::set_strresult(const char* value, size_t size) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
inline ::std::string* BindResponse__Result__Result::mutable_strresult() {
  set_has_strresult();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  return strresult_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindResponse__Result__Result::release_strresult() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  clear_has_strresult();
  return strresult_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindResponse__Result__Result::set_allocated_strresult(::std::string* strresult) {
  if (strresult != NULL) {
    set_has_strresult();
  } else {
    clear_has_strresult();
  }
  strresult_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), strresult);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}

// -------------------------------------------------------------------

// BindResponse__Result

// optional int32 code = 1;
inline bool BindResponse__Result::has_code() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BindResponse__Result::set_has_code() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BindResponse__Result::clear_has_code() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BindResponse__Result::clear_code() {
  code_ = 0;
  clear_has_code();
}
inline ::google::protobuf::int32 BindResponse__Result::code() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result.code)
  return code_;
}
inline void BindResponse__Result::set_code(::google::protobuf::int32 value) {
  set_has_code();
  code_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse._Result.code)
}

// optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
inline bool BindResponse__Result::has_result() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindResponse__Result::set_has_result() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindResponse__Result::clear_has_result() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindResponse__Result::clear_result() {
  if (result_ != NULL) result_->::com::tencent::mars::microchat::proto::BindResponse__Result__Result::Clear();
  clear_has_result();
}
inline const ::com::tencent::mars::microchat::proto::BindResponse__Result__Result& BindResponse__Result::result() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  return result_ != NULL ? *result_
                         : *::com::tencent::mars::microchat::proto::BindResponse__Result__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* BindResponse__Result::mutable_result() {
  set_has_result();
  if (result_ == NULL) {
    result_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  return result_;
}
inline ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* BindResponse__Result::release_result() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  clear_has_result();
  ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* temp = result_;
  result_ = NULL;
  return temp;
}
inline void BindResponse__Result::set_allocated_result(::com::tencent::mars::microchat::proto::BindResponse__Result__Result* result) {
  delete result_;
  result_ = result;
  if (result) {
    set_has_result();
  } else {
    clear_has_result();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse._Result.result)
}

// -------------------------------------------------------------------

// BindResponse

// optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
inline bool BindResponse::has_tag1() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BindResponse::set_has_tag1() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BindResponse::clear_has_tag1() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BindResponse::clear_tag1() {
  if (tag1_ != NULL) tag1_->::com::tencent::mars::microchat::proto::BindResponse__Result::Clear();
  clear_has_tag1();
}
inline const ::com::tencent::mars::microchat::proto::BindResponse__Result& BindResponse::tag1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse.tag1)
  return tag1_ != NULL ? *tag1_
                         : *::com::tencent::mars::microchat::proto::BindResponse__Result::internal_default_instance();
}
inline ::com::tencent::mars::microchat::proto::BindResponse__Result* BindResponse::mutable_tag1() {
  set_has_tag1();
  if (tag1_ == NULL) {
    tag1_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse.tag1)
  return tag1_;
}
inline ::com::tencent::mars::microchat::proto::BindResponse__Result* BindResponse::release_tag1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse.tag1)
  clear_has_tag1();
  ::com::tencent::mars::microchat::proto::BindResponse__Result* temp = tag1_;
  tag1_ = NULL;
  return temp;
}
inline void BindResponse::set_allocated_tag1(::com::tencent::mars::microchat::proto::BindResponse__Result* tag1) {
  delete tag1_;
  tag1_ = tag1;
  if (tag1) {
    set_has_tag1();
  } else {
    clear_has_tag1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse.tag1)
}

// optional string wxid = 6;
inline bool BindResponse::has_wxid() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BindResponse::set_has_wxid() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BindResponse::clear_has_wxid() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BindResponse::clear_wxid() {
  wxid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_wxid();
}
inline const ::std::string& BindResponse::wxid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse.wxid)
  return wxid_.GetNoArena();
}
inline void BindResponse::set_wxid(const ::std::string& value) {
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
#if LANG_CXX11
inline void BindResponse::set_wxid(::std::string&& value) {
  set_has_wxid();
  wxid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
#endif
inline void BindResponse::set_wxid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
inline void BindResponse::set_wxid(const char* value, size_t size) {
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
inline ::std::string* BindResponse::mutable_wxid() {
  set_has_wxid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse.wxid)
  return wxid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BindResponse::release_wxid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse.wxid)
  clear_has_wxid();
  return wxid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BindResponse::set_allocated_wxid(::std::string* wxid) {
  if (wxid != NULL) {
    set_has_wxid();
  } else {
    clear_has_wxid();
  }
  wxid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), wxid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse.wxid)
}

#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


}  // namespace proto
}  // namespace microchat
}  // namespace mars
}  // namespace tencent
}  // namespace com

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_bindopmobileforreg_2eproto__INCLUDED
