text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: IM.Internal.proto
  
  #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
  #include "IM.Internal.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.h>
  #include <google/protobuf/stubs/once.h>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/wire_format_lite_inl.h>
  #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
  // @@protoc_insertion_point(includes)
  
  namespace IM {
  namespace Internal {
  
  void protobuf_ShutdownFile_IM_2eInternal_2eproto() {
    delete IMSyncAuthInfoReq::default_instance_;
    delete IMSyncAuthInfoRsp::default_instance_;
    delete IMGetUserIdListByNickNameReq::default_instance_;
    delete IMGetUserIdListByNickNameRsp::default_instance_;
  }
  
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
  void protobuf_AddDesc_IM_2eInternal_2eproto_impl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #else
  void protobuf_AddDesc_IM_2eInternal_2eproto() {
    static bool already_here = false;
    if (already_here) return;
    already_here = true;
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #endif
    ::IM::BaseDefine::protobuf_AddDesc_IM_2eBaseDefine_2eproto();
    IMSyncAuthInfoReq::default_instance_ = new IMSyncAuthInfoReq();
    IMSyncAuthInfoRsp::default_instance_ = new IMSyncAuthInfoRsp();
    IMGetUserIdListByNickNameReq::default_instance_ = new IMGetUserIdListByNickNameReq();
    IMGetUserIdListByNickNameRsp::default_instance_ = new IMGetUserIdListByNickNameRsp();
    IMSyncAuthInfoReq::default_instance_->InitAsDefaultInstance();
    IMSyncAuthInfoRsp::default_instance_->InitAsDefaultInstance();
    IMGetUserIdListByNickNameReq::default_instance_->InitAsDefaultInstance();
    IMGetUserIdListByNickNameRsp::default_instance_->InitAsDefaultInstance();
    ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_IM_2eInternal_2eproto);
  }
  
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
  GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_IM_2eInternal_2eproto_once_);
  void protobuf_AddDesc_IM_2eInternal_2eproto() {
    ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_IM_2eInternal_2eproto_once_,
                   &protobuf_AddDesc_IM_2eInternal_2eproto_impl);
  }
  #else
  // Force AddDescriptors() to be called at static initialization time.
  struct StaticDescriptorInitializer_IM_2eInternal_2eproto {
    StaticDescriptorInitializer_IM_2eInternal_2eproto() {
      protobuf_AddDesc_IM_2eInternal_2eproto();
    }
  } static_descriptor_initializer_IM_2eInternal_2eproto_;
  #endif
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int IMSyncAuthInfoReq::kLatestTimeFieldNumber;
  const int IMSyncAuthInfoReq::kAttachDataFieldNumber;
  #endif  // !_MSC_VER
  
  IMSyncAuthInfoReq::IMSyncAuthInfoReq()
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:IM.Internal.IMSyncAuthInfoReq)
  }
  
  void IMSyncAuthInfoReq::InitAsDefaultInstance() {
  }
  
  IMSyncAuthInfoReq::IMSyncAuthInfoReq(const IMSyncAuthInfoReq& from)
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:IM.Internal.IMSyncAuthInfoReq)
  }
  
  void IMSyncAuthInfoReq::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    latest_time_ = 0u;
    attach_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  IMSyncAuthInfoReq::~IMSyncAuthInfoReq() {
    // @@protoc_insertion_point(destructor:IM.Internal.IMSyncAuthInfoReq)
    SharedDtor();
  }
  
  void IMSyncAuthInfoReq::SharedDtor() {
    if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete attach_data_;
    }
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    if (this != &default_instance()) {
    #else
    if (this != default_instance_) {
    #endif
    }
  }
  
  void IMSyncAuthInfoReq::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const IMSyncAuthInfoReq& IMSyncAuthInfoReq::default_instance() {
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    protobuf_AddDesc_IM_2eInternal_2eproto();
  #else
    if (default_instance_ == NULL) protobuf_AddDesc_IM_2eInternal_2eproto();
  #endif
    return *default_instance_;
  }
  
  IMSyncAuthInfoReq* IMSyncAuthInfoReq::default_instance_ = NULL;
  
  IMSyncAuthInfoReq* IMSyncAuthInfoReq::New() const {
    return new IMSyncAuthInfoReq;
  }
  
  void IMSyncAuthInfoReq::Clear() {
    if (_has_bits_[0 / 32] & 3) {
      latest_time_ = 0u;
      if (has_attach_data()) {
        if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
          attach_data_->clear();
        }
      }
    }
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->clear();
  }
  
  bool IMSyncAuthInfoReq::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    ::google::protobuf::io::StringOutputStream unknown_fields_string(
        mutable_unknown_fields());
    ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
        &unknown_fields_string);
    // @@protoc_insertion_point(parse_start:IM.Internal.IMSyncAuthInfoReq)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required uint32 latest_time = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                   input, &latest_time_)));
            set_has_latest_time();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(162)) goto parse_attach_data;
          break;
        }
  
        // optional bytes attach_data = 20;
        case 20: {
          if (tag == 162) {
           parse_attach_data:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_attach_data()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormatLite::SkipField(
              input, tag, &unknown_fields_stream));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:IM.Internal.IMSyncAuthInfoReq)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:IM.Internal.IMSyncAuthInfoReq)
    return false;
  #undef DO_
  }
  
  void IMSyncAuthInfoReq::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:IM.Internal.IMSyncAuthInfoReq)
    // required uint32 latest_time = 1;
    if (has_latest_time()) {
      ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->latest_time(), output);
    }
  
    // optional bytes attach_data = 20;
    if (has_attach_data()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        20, this->attach_data(), output);
    }
  
    output->WriteRaw(unknown_fields().data(),
                     unknown_fields().size());
    // @@protoc_insertion_point(serialize_end:IM.Internal.IMSyncAuthInfoReq)
  }
  
  int IMSyncAuthInfoReq::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required uint32 latest_time = 1;
      if (has_latest_time()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::UInt32Size(
            this->latest_time());
      }
  
      // optional bytes attach_data = 20;
      if (has_attach_data()) {
        total_size += 2 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->attach_data());
      }
  
    }
    total_size += unknown_fields().size();
  
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void IMSyncAuthInfoReq::CheckTypeAndMergeFrom(
      const ::google::protobuf::MessageLite& from) {
    MergeFrom(*::google::protobuf::down_cast<const IMSyncAuthInfoReq*>(&from));
  }
  
  void IMSyncAuthInfoReq::MergeFrom(const IMSyncAuthInfoReq& from) {
    GOOGLE_CHECK_NE(&from, this);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_latest_time()) {
        set_latest_time(from.latest_time());
      }
      if (from.has_attach_data()) {
        set_attach_data(from.attach_data());
      }
    }
    mutable_unknown_fields()->append(from.unknown_fields());
  }
  
  void IMSyncAuthInfoReq::CopyFrom(const IMSyncAuthInfoReq& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool IMSyncAuthInfoReq::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    return true;
  }
  
  void IMSyncAuthInfoReq::Swap(IMSyncAuthInfoReq* other) {
    if (other != this) {
      std::swap(latest_time_, other->latest_time_);
      std::swap(attach_data_, other->attach_data_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.swap(other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::std::string IMSyncAuthInfoReq::GetTypeName() const {
    return "IM.Internal.IMSyncAuthInfoReq";
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int IMSyncAuthInfoRsp::kLatestTimeFieldNumber;
  const int IMSyncAuthInfoRsp::kAuthListFieldNumber;
  const int IMSyncAuthInfoRsp::kAttachDataFieldNumber;
  #endif  // !_MSC_VER
  
  IMSyncAuthInfoRsp::IMSyncAuthInfoRsp()
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:IM.Internal.IMSyncAuthInfoRsp)
  }
  
  void IMSyncAuthInfoRsp::InitAsDefaultInstance() {
  }
  
  IMSyncAuthInfoRsp::IMSyncAuthInfoRsp(const IMSyncAuthInfoRsp& from)
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:IM.Internal.IMSyncAuthInfoRsp)
  }
  
  void IMSyncAuthInfoRsp::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    latest_time_ = 0u;
    attach_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  IMSyncAuthInfoRsp::~IMSyncAuthInfoRsp() {
    // @@protoc_insertion_point(destructor:IM.Internal.IMSyncAuthInfoRsp)
    SharedDtor();
  }
  
  void IMSyncAuthInfoRsp::SharedDtor() {
    if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete attach_data_;
    }
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    if (this != &default_instance()) {
    #else
    if (this != default_instance_) {
    #endif
    }
  }
  
  void IMSyncAuthInfoRsp::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const IMSyncAuthInfoRsp& IMSyncAuthInfoRsp::default_instance() {
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    protobuf_AddDesc_IM_2eInternal_2eproto();
  #else
    if (default_instance_ == NULL) protobuf_AddDesc_IM_2eInternal_2eproto();
  #endif
    return *default_instance_;
  }
  
  IMSyncAuthInfoRsp* IMSyncAuthInfoRsp::default_instance_ = NULL;
  
  IMSyncAuthInfoRsp* IMSyncAuthInfoRsp::New() const {
    return new IMSyncAuthInfoRsp;
  }
  
  void IMSyncAuthInfoRsp::Clear() {
    if (_has_bits_[0 / 32] & 5) {
      latest_time_ = 0u;
      if (has_attach_data()) {
        if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
          attach_data_->clear();
        }
      }
    }
    auth_list_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->clear();
  }
  
  bool IMSyncAuthInfoRsp::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    ::google::protobuf::io::StringOutputStream unknown_fields_string(
        mutable_unknown_fields());
    ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
        &unknown_fields_string);
    // @@protoc_insertion_point(parse_start:IM.Internal.IMSyncAuthInfoRsp)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required uint32 latest_time = 1;
        case 1: {
          if (tag == 8) {
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                   input, &latest_time_)));
            set_has_latest_time();
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_auth_list;
          break;
        }
  
        // repeated .IM.BaseDefine.AuthInfo auth_list = 2;
        case 2: {
          if (tag == 18) {
           parse_auth_list:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                  input, add_auth_list()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(18)) goto parse_auth_list;
          if (input->ExpectTag(162)) goto parse_attach_data;
          break;
        }
  
        // optional bytes attach_data = 20;
        case 20: {
          if (tag == 162) {
           parse_attach_data:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_attach_data()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormatLite::SkipField(
              input, tag, &unknown_fields_stream));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:IM.Internal.IMSyncAuthInfoRsp)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:IM.Internal.IMSyncAuthInfoRsp)
    return false;
  #undef DO_
  }
  
  void IMSyncAuthInfoRsp::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:IM.Internal.IMSyncAuthInfoRsp)
    // required uint32 latest_time = 1;
    if (has_latest_time()) {
      ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->latest_time(), output);
    }
  
    // repeated .IM.BaseDefine.AuthInfo auth_list = 2;
    for (int i = 0; i < this->auth_list_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessage(
        2, this->auth_list(i), output);
    }
  
    // optional bytes attach_data = 20;
    if (has_attach_data()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        20, this->attach_data(), output);
    }
  
    output->WriteRaw(unknown_fields().data(),
                     unknown_fields().size());
    // @@protoc_insertion_point(serialize_end:IM.Internal.IMSyncAuthInfoRsp)
  }
  
  int IMSyncAuthInfoRsp::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      // required uint32 latest_time = 1;
      if (has_latest_time()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::UInt32Size(
            this->latest_time());
      }
  
      // optional bytes attach_data = 20;
      if (has_attach_data()) {
        total_size += 2 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->attach_data());
      }
  
    }
    // repeated .IM.BaseDefine.AuthInfo auth_list = 2;
    total_size += 1 * this->auth_list_size();
    for (int i = 0; i < this->auth_list_size(); i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->auth_list(i));
    }
  
    total_size += unknown_fields().size();
  
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void IMSyncAuthInfoRsp::CheckTypeAndMergeFrom(
      const ::google::protobuf::MessageLite& from) {
    MergeFrom(*::google::protobuf::down_cast<const IMSyncAuthInfoRsp*>(&from));
  }
  
  void IMSyncAuthInfoRsp::MergeFrom(const IMSyncAuthInfoRsp& from) {
    GOOGLE_CHECK_NE(&from, this);
    auth_list_.MergeFrom(from.auth_list_);
    if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
      if (from.has_latest_time()) {
        set_latest_time(from.latest_time());
      }
      if (from.has_attach_data()) {
        set_attach_data(from.attach_data());
      }
    }
    mutable_unknown_fields()->append(from.unknown_fields());
  }
  
  void IMSyncAuthInfoRsp::CopyFrom(const IMSyncAuthInfoRsp& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool IMSyncAuthInfoRsp::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  
    if (!::google::protobuf::internal::AllAreInitialized(this->auth_list())) return false;
    return true;
  }
  
  void IMSyncAuthInfoRsp::Swap(IMSyncAuthInfoRsp* other) {
    if (other != this) {
      std::swap(latest_time_, other->latest_time_);
      auth_list_.Swap(&other->auth_list_);
      std::swap(attach_data_, other->attach_data_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.swap(other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::std::string IMSyncAuthInfoRsp::GetTypeName() const {
    return "IM.Internal.IMSyncAuthInfoRsp";
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int IMGetUserIdListByNickNameReq::kNickNameListFieldNumber;
  const int IMGetUserIdListByNickNameReq::kAttachDataFieldNumber;
  #endif  // !_MSC_VER
  
  IMGetUserIdListByNickNameReq::IMGetUserIdListByNickNameReq()
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:IM.Internal.IMGetUserIdListByNickNameReq)
  }
  
  void IMGetUserIdListByNickNameReq::InitAsDefaultInstance() {
  }
  
  IMGetUserIdListByNickNameReq::IMGetUserIdListByNickNameReq(const IMGetUserIdListByNickNameReq& from)
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:IM.Internal.IMGetUserIdListByNickNameReq)
  }
  
  void IMGetUserIdListByNickNameReq::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    attach_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  IMGetUserIdListByNickNameReq::~IMGetUserIdListByNickNameReq() {
    // @@protoc_insertion_point(destructor:IM.Internal.IMGetUserIdListByNickNameReq)
    SharedDtor();
  }
  
  void IMGetUserIdListByNickNameReq::SharedDtor() {
    if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete attach_data_;
    }
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    if (this != &default_instance()) {
    #else
    if (this != default_instance_) {
    #endif
    }
  }
  
  void IMGetUserIdListByNickNameReq::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const IMGetUserIdListByNickNameReq& IMGetUserIdListByNickNameReq::default_instance() {
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    protobuf_AddDesc_IM_2eInternal_2eproto();
  #else
    if (default_instance_ == NULL) protobuf_AddDesc_IM_2eInternal_2eproto();
  #endif
    return *default_instance_;
  }
  
  IMGetUserIdListByNickNameReq* IMGetUserIdListByNickNameReq::default_instance_ = NULL;
  
  IMGetUserIdListByNickNameReq* IMGetUserIdListByNickNameReq::New() const {
    return new IMGetUserIdListByNickNameReq;
  }
  
  void IMGetUserIdListByNickNameReq::Clear() {
    if (has_attach_data()) {
      if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
        attach_data_->clear();
      }
    }
    nick_name_list_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->clear();
  }
  
  bool IMGetUserIdListByNickNameReq::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    ::google::protobuf::io::StringOutputStream unknown_fields_string(
        mutable_unknown_fields());
    ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
        &unknown_fields_string);
    // @@protoc_insertion_point(parse_start:IM.Internal.IMGetUserIdListByNickNameReq)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated string nick_name_list = 1;
        case 1: {
          if (tag == 10) {
           parse_nick_name_list:
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->add_nick_name_list()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(10)) goto parse_nick_name_list;
          if (input->ExpectTag(162)) goto parse_attach_data;
          break;
        }
  
        // optional bytes attach_data = 20;
        case 20: {
          if (tag == 162) {
           parse_attach_data:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_attach_data()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormatLite::SkipField(
              input, tag, &unknown_fields_stream));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:IM.Internal.IMGetUserIdListByNickNameReq)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:IM.Internal.IMGetUserIdListByNickNameReq)
    return false;
  #undef DO_
  }
  
  void IMGetUserIdListByNickNameReq::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:IM.Internal.IMGetUserIdListByNickNameReq)
    // repeated string nick_name_list = 1;
    for (int i = 0; i < this->nick_name_list_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteString(
        1, this->nick_name_list(i), output);
    }
  
    // optional bytes attach_data = 20;
    if (has_attach_data()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        20, this->attach_data(), output);
    }
  
    output->WriteRaw(unknown_fields().data(),
                     unknown_fields().size());
    // @@protoc_insertion_point(serialize_end:IM.Internal.IMGetUserIdListByNickNameReq)
  }
  
  int IMGetUserIdListByNickNameReq::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      // optional bytes attach_data = 20;
      if (has_attach_data()) {
        total_size += 2 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->attach_data());
      }
  
    }
    // repeated string nick_name_list = 1;
    total_size += 1 * this->nick_name_list_size();
    for (int i = 0; i < this->nick_name_list_size(); i++) {
      total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
        this->nick_name_list(i));
    }
  
    total_size += unknown_fields().size();
  
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void IMGetUserIdListByNickNameReq::CheckTypeAndMergeFrom(
      const ::google::protobuf::MessageLite& from) {
    MergeFrom(*::google::protobuf::down_cast<const IMGetUserIdListByNickNameReq*>(&from));
  }
  
  void IMGetUserIdListByNickNameReq::MergeFrom(const IMGetUserIdListByNickNameReq& from) {
    GOOGLE_CHECK_NE(&from, this);
    nick_name_list_.MergeFrom(from.nick_name_list_);
    if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      if (from.has_attach_data()) {
        set_attach_data(from.attach_data());
      }
    }
    mutable_unknown_fields()->append(from.unknown_fields());
  }
  
  void IMGetUserIdListByNickNameReq::CopyFrom(const IMGetUserIdListByNickNameReq& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool IMGetUserIdListByNickNameReq::IsInitialized() const {
  
    return true;
  }
  
  void IMGetUserIdListByNickNameReq::Swap(IMGetUserIdListByNickNameReq* other) {
    if (other != this) {
      nick_name_list_.Swap(&other->nick_name_list_);
      std::swap(attach_data_, other->attach_data_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.swap(other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::std::string IMGetUserIdListByNickNameReq::GetTypeName() const {
    return "IM.Internal.IMGetUserIdListByNickNameReq";
  }
  
  
  // ===================================================================
  
  #ifndef _MSC_VER
  const int IMGetUserIdListByNickNameRsp::kUserInfoListFieldNumber;
  const int IMGetUserIdListByNickNameRsp::kAttachDataFieldNumber;
  #endif  // !_MSC_VER
  
  IMGetUserIdListByNickNameRsp::IMGetUserIdListByNickNameRsp()
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    // @@protoc_insertion_point(constructor:IM.Internal.IMGetUserIdListByNickNameRsp)
  }
  
  void IMGetUserIdListByNickNameRsp::InitAsDefaultInstance() {
  }
  
  IMGetUserIdListByNickNameRsp::IMGetUserIdListByNickNameRsp(const IMGetUserIdListByNickNameRsp& from)
    : ::google::protobuf::MessageLite() {
    SharedCtor();
    MergeFrom(from);
    // @@protoc_insertion_point(copy_constructor:IM.Internal.IMGetUserIdListByNickNameRsp)
  }
  
  void IMGetUserIdListByNickNameRsp::SharedCtor() {
    ::google::protobuf::internal::GetEmptyString();
    _cached_size_ = 0;
    attach_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
  }
  
  IMGetUserIdListByNickNameRsp::~IMGetUserIdListByNickNameRsp() {
    // @@protoc_insertion_point(destructor:IM.Internal.IMGetUserIdListByNickNameRsp)
    SharedDtor();
  }
  
  void IMGetUserIdListByNickNameRsp::SharedDtor() {
    if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete attach_data_;
    }
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    if (this != &default_instance()) {
    #else
    if (this != default_instance_) {
    #endif
    }
  }
  
  void IMGetUserIdListByNickNameRsp::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const IMGetUserIdListByNickNameRsp& IMGetUserIdListByNickNameRsp::default_instance() {
  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    protobuf_AddDesc_IM_2eInternal_2eproto();
  #else
    if (default_instance_ == NULL) protobuf_AddDesc_IM_2eInternal_2eproto();
  #endif
    return *default_instance_;
  }
  
  IMGetUserIdListByNickNameRsp* IMGetUserIdListByNickNameRsp::default_instance_ = NULL;
  
  IMGetUserIdListByNickNameRsp* IMGetUserIdListByNickNameRsp::New() const {
    return new IMGetUserIdListByNickNameRsp;
  }
  
  void IMGetUserIdListByNickNameRsp::Clear() {
    if (has_attach_data()) {
      if (attach_data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
        attach_data_->clear();
      }
    }
    user_info_list_.Clear();
    ::memset(_has_bits_, 0, sizeof(_has_bits_));
    mutable_unknown_fields()->clear();
  }
  
  bool IMGetUserIdListByNickNameRsp::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    ::google::protobuf::io::StringOutputStream unknown_fields_string(
        mutable_unknown_fields());
    ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
        &unknown_fields_string);
    // @@protoc_insertion_point(parse_start:IM.Internal.IMGetUserIdListByNickNameRsp)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // repeated .IM.BaseDefine.UserInfo user_info_list = 1;
        case 1: {
          if (tag == 10) {
           parse_user_info_list:
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                  input, add_user_info_list()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectTag(10)) goto parse_user_info_list;
          if (input->ExpectTag(162)) goto parse_attach_data;
          break;
        }
  
        // optional bytes attach_data = 20;
        case 20: {
          if (tag == 162) {
           parse_attach_data:
            DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                  input, this->mutable_attach_data()));
          } else {
            goto handle_unusual;
          }
          if (input->ExpectAtEnd()) goto success;
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0 ||
              ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
              ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormatLite::SkipField(
              input, tag, &unknown_fields_stream));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:IM.Internal.IMGetUserIdListByNickNameRsp)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:IM.Internal.IMGetUserIdListByNickNameRsp)
    return false;
  #undef DO_
  }
  
  void IMGetUserIdListByNickNameRsp::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:IM.Internal.IMGetUserIdListByNickNameRsp)
    // repeated .IM.BaseDefine.UserInfo user_info_list = 1;
    for (int i = 0; i < this->user_info_list_size(); i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessage(
        1, this->user_info_list(i), output);
    }
  
    // optional bytes attach_data = 20;
    if (has_attach_data()) {
      ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
        20, this->attach_data(), output);
    }
  
    output->WriteRaw(unknown_fields().data(),
                     unknown_fields().size());
    // @@protoc_insertion_point(serialize_end:IM.Internal.IMGetUserIdListByNickNameRsp)
  }
  
  int IMGetUserIdListByNickNameRsp::ByteSize() const {
    int total_size = 0;
  
    if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      // optional bytes attach_data = 20;
      if (has_attach_data()) {
        total_size += 2 +
          ::google::protobuf::internal::WireFormatLite::BytesSize(
            this->attach_data());
      }
  
    }
    // repeated .IM.BaseDefine.UserInfo user_info_list = 1;
    total_size += 1 * this->user_info_list_size();
    for (int i = 0; i < this->user_info_list_size(); i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->user_info_list(i));
    }
  
    total_size += unknown_fields().size();
  
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = total_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void IMGetUserIdListByNickNameRsp::CheckTypeAndMergeFrom(
      const ::google::protobuf::MessageLite& from) {
    MergeFrom(*::google::protobuf::down_cast<const IMGetUserIdListByNickNameRsp*>(&from));
  }
  
  void IMGetUserIdListByNickNameRsp::MergeFrom(const IMGetUserIdListByNickNameRsp& from) {
    GOOGLE_CHECK_NE(&from, this);
    user_info_list_.MergeFrom(from.user_info_list_);
    if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
      if (from.has_attach_data()) {
        set_attach_data(from.attach_data());
      }
    }
    mutable_unknown_fields()->append(from.unknown_fields());
  }
  
  void IMGetUserIdListByNickNameRsp::CopyFrom(const IMGetUserIdListByNickNameRsp& from) {
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool IMGetUserIdListByNickNameRsp::IsInitialized() const {
  
    if (!::google::protobuf::internal::AllAreInitialized(this->user_info_list())) return false;
    return true;
  }
  
  void IMGetUserIdListByNickNameRsp::Swap(IMGetUserIdListByNickNameRsp* other) {
    if (other != this) {
      user_info_list_.Swap(&other->user_info_list_);
      std::swap(attach_data_, other->attach_data_);
      std::swap(_has_bits_[0], other->_has_bits_[0]);
      _unknown_fields_.swap(other->_unknown_fields_);
      std::swap(_cached_size_, other->_cached_size_);
    }
  }
  
  ::std::string IMGetUserIdListByNickNameRsp::GetTypeName() const {
    return "IM.Internal.IMGetUserIdListByNickNameRsp";
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace Internal
  }  // namespace IM
  
  // @@protoc_insertion_point(global_scope)
  