text:
namespace google {
namespace pubsub {
namespace v1beta2 {

namespace {

const ::google::protobuf::Descriptor* Topic_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  Topic_reflection_ = NULL;
const ::google::protobuf::Descriptor* PubsubMessage_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PubsubMessage_reflection_ = NULL;
const ::google::protobuf::Descriptor* PubsubMessage_AttributesEntry_descriptor_ = NULL;
const ::google::protobuf::Descriptor* GetTopicRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  GetTopicRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* PublishRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PublishRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* PublishResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PublishResponse_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListTopicsRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListTopicsRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListTopicsResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListTopicsResponse_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListTopicSubscriptionsRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListTopicSubscriptionsRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListTopicSubscriptionsResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListTopicSubscriptionsResponse_reflection_ = NULL;
const ::google::protobuf::Descriptor* DeleteTopicRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  DeleteTopicRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* Subscription_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  Subscription_reflection_ = NULL;
const ::google::protobuf::Descriptor* PushConfig_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PushConfig_reflection_ = NULL;
const ::google::protobuf::Descriptor* PushConfig_AttributesEntry_descriptor_ = NULL;
const ::google::protobuf::Descriptor* ReceivedMessage_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ReceivedMessage_reflection_ = NULL;
const ::google::protobuf::Descriptor* GetSubscriptionRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  GetSubscriptionRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListSubscriptionsRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListSubscriptionsRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* ListSubscriptionsResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ListSubscriptionsResponse_reflection_ = NULL;
const ::google::protobuf::Descriptor* DeleteSubscriptionRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  DeleteSubscriptionRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* ModifyPushConfigRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ModifyPushConfigRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* PullRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PullRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* PullResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  PullResponse_reflection_ = NULL;
const ::google::protobuf::Descriptor* ModifyAckDeadlineRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  ModifyAckDeadlineRequest_reflection_ = NULL;
const ::google::protobuf::Descriptor* AcknowledgeRequest_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  AcknowledgeRequest_reflection_ = NULL;

}  // namespace

void protobuf_AssignDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() GOOGLE_ATTRIBUTE_COLD;
void protobuf_AssignDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() {
  protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  const ::google::protobuf::FileDescriptor* file =
    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
      "google/pubsub/v1beta2/pubsub.proto");
  GOOGLE_CHECK(file != NULL);
  Topic_descriptor_ = file->message_type(0);
  static const int Topic_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Topic, name_),
  };
  Topic_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      Topic_descriptor_,
      Topic::internal_default_instance(),
      Topic_offsets_,
      -1,
      -1,
      -1,
      sizeof(Topic),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Topic, _internal_metadata_));
  PubsubMessage_descriptor_ = file->message_type(1);
  static const int PubsubMessage_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PubsubMessage, data_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PubsubMessage, attributes_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PubsubMessage, message_id_),
  };
  PubsubMessage_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PubsubMessage_descriptor_,
      PubsubMessage::internal_default_instance(),
      PubsubMessage_offsets_,
      -1,
      -1,
      -1,
      sizeof(PubsubMessage),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PubsubMessage, _internal_metadata_));
  PubsubMessage_AttributesEntry_descriptor_ = PubsubMessage_descriptor_->nested_type(0);
  GetTopicRequest_descriptor_ = file->message_type(2);
  static const int GetTopicRequest_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GetTopicRequest, topic_),
  };
  GetTopicRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      GetTopicRequest_descriptor_,
      GetTopicRequest::internal_default_instance(),
      GetTopicRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(GetTopicRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GetTopicRequest, _internal_metadata_));
  PublishRequest_descriptor_ = file->message_type(3);
  static const int PublishRequest_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, messages_),
  };
  PublishRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PublishRequest_descriptor_,
      PublishRequest::internal_default_instance(),
      PublishRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(PublishRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, _internal_metadata_));
  PublishResponse_descriptor_ = file->message_type(4);
  static const int PublishResponse_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishResponse, message_ids_),
  };
  PublishResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PublishResponse_descriptor_,
      PublishResponse::internal_default_instance(),
      PublishResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(PublishResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishResponse, _internal_metadata_));
  ListTopicsRequest_descriptor_ = file->message_type(5);
  static const int ListTopicsRequest_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsRequest, project_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsRequest, page_token_),
  };
  ListTopicsRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListTopicsRequest_descriptor_,
      ListTopicsRequest::internal_default_instance(),
      ListTopicsRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListTopicsRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsRequest, _internal_metadata_));
  ListTopicsResponse_descriptor_ = file->message_type(6);
  static const int ListTopicsResponse_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsResponse, topics_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsResponse, next_page_token_),
  };
  ListTopicsResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListTopicsResponse_descriptor_,
      ListTopicsResponse::internal_default_instance(),
      ListTopicsResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListTopicsResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicsResponse, _internal_metadata_));
  ListTopicSubscriptionsRequest_descriptor_ = file->message_type(7);
  static const int ListTopicSubscriptionsRequest_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsRequest, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsRequest, page_token_),
  };
  ListTopicSubscriptionsRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListTopicSubscriptionsRequest_descriptor_,
      ListTopicSubscriptionsRequest::internal_default_instance(),
      ListTopicSubscriptionsRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListTopicSubscriptionsRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsRequest, _internal_metadata_));
  ListTopicSubscriptionsResponse_descriptor_ = file->message_type(8);
  static const int ListTopicSubscriptionsResponse_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsResponse, subscriptions_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsResponse, next_page_token_),
  };
  ListTopicSubscriptionsResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListTopicSubscriptionsResponse_descriptor_,
      ListTopicSubscriptionsResponse::internal_default_instance(),
      ListTopicSubscriptionsResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListTopicSubscriptionsResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListTopicSubscriptionsResponse, _internal_metadata_));
  DeleteTopicRequest_descriptor_ = file->message_type(9);
  static const int DeleteTopicRequest_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DeleteTopicRequest, topic_),
  };
  DeleteTopicRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      DeleteTopicRequest_descriptor_,
      DeleteTopicRequest::internal_default_instance(),
      DeleteTopicRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(DeleteTopicRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DeleteTopicRequest, _internal_metadata_));
  Subscription_descriptor_ = file->message_type(10);
  static const int Subscription_offsets_[4] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Subscription, name_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Subscription, topic_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Subscription, push_config_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Subscription, ack_deadline_seconds_),
  };
  Subscription_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      Subscription_descriptor_,
      Subscription::internal_default_instance(),
      Subscription_offsets_,
      -1,
      -1,
      -1,
      sizeof(Subscription),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Subscription, _internal_metadata_));
  PushConfig_descriptor_ = file->message_type(11);
  static const int PushConfig_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PushConfig, push_endpoint_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PushConfig, attributes_),
  };
  PushConfig_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PushConfig_descriptor_,
      PushConfig::internal_default_instance(),
      PushConfig_offsets_,
      -1,
      -1,
      -1,
      sizeof(PushConfig),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PushConfig, _internal_metadata_));
  PushConfig_AttributesEntry_descriptor_ = PushConfig_descriptor_->nested_type(0);
  ReceivedMessage_descriptor_ = file->message_type(12);
  static const int ReceivedMessage_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReceivedMessage, ack_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReceivedMessage, message_),
  };
  ReceivedMessage_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ReceivedMessage_descriptor_,
      ReceivedMessage::internal_default_instance(),
      ReceivedMessage_offsets_,
      -1,
      -1,
      -1,
      sizeof(ReceivedMessage),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReceivedMessage, _internal_metadata_));
  GetSubscriptionRequest_descriptor_ = file->message_type(13);
  static const int GetSubscriptionRequest_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GetSubscriptionRequest, subscription_),
  };
  GetSubscriptionRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      GetSubscriptionRequest_descriptor_,
      GetSubscriptionRequest::internal_default_instance(),
      GetSubscriptionRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(GetSubscriptionRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GetSubscriptionRequest, _internal_metadata_));
  ListSubscriptionsRequest_descriptor_ = file->message_type(14);
  static const int ListSubscriptionsRequest_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsRequest, project_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsRequest, page_size_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsRequest, page_token_),
  };
  ListSubscriptionsRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListSubscriptionsRequest_descriptor_,
      ListSubscriptionsRequest::internal_default_instance(),
      ListSubscriptionsRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListSubscriptionsRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsRequest, _internal_metadata_));
  ListSubscriptionsResponse_descriptor_ = file->message_type(15);
  static const int ListSubscriptionsResponse_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsResponse, subscriptions_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsResponse, next_page_token_),
  };
  ListSubscriptionsResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ListSubscriptionsResponse_descriptor_,
      ListSubscriptionsResponse::internal_default_instance(),
      ListSubscriptionsResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(ListSubscriptionsResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListSubscriptionsResponse, _internal_metadata_));
  DeleteSubscriptionRequest_descriptor_ = file->message_type(16);
  static const int DeleteSubscriptionRequest_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DeleteSubscriptionRequest, subscription_),
  };
  DeleteSubscriptionRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      DeleteSubscriptionRequest_descriptor_,
      DeleteSubscriptionRequest::internal_default_instance(),
      DeleteSubscriptionRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(DeleteSubscriptionRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DeleteSubscriptionRequest, _internal_metadata_));
  ModifyPushConfigRequest_descriptor_ = file->message_type(17);
  static const int ModifyPushConfigRequest_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyPushConfigRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyPushConfigRequest, push_config_),
  };
  ModifyPushConfigRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ModifyPushConfigRequest_descriptor_,
      ModifyPushConfigRequest::internal_default_instance(),
      ModifyPushConfigRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(ModifyPushConfigRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyPushConfigRequest, _internal_metadata_));
  PullRequest_descriptor_ = file->message_type(18);
  static const int PullRequest_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullRequest, return_immediately_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullRequest, max_messages_),
  };
  PullRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PullRequest_descriptor_,
      PullRequest::internal_default_instance(),
      PullRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(PullRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullRequest, _internal_metadata_));
  PullResponse_descriptor_ = file->message_type(19);
  static const int PullResponse_offsets_[1] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullResponse, received_messages_),
  };
  PullResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      PullResponse_descriptor_,
      PullResponse::internal_default_instance(),
      PullResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(PullResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PullResponse, _internal_metadata_));
  ModifyAckDeadlineRequest_descriptor_ = file->message_type(20);
  static const int ModifyAckDeadlineRequest_offsets_[3] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyAckDeadlineRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyAckDeadlineRequest, ack_id_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyAckDeadlineRequest, ack_deadline_seconds_),
  };
  ModifyAckDeadlineRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      ModifyAckDeadlineRequest_descriptor_,
      ModifyAckDeadlineRequest::internal_default_instance(),
      ModifyAckDeadlineRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(ModifyAckDeadlineRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ModifyAckDeadlineRequest, _internal_metadata_));
  AcknowledgeRequest_descriptor_ = file->message_type(21);
  static const int AcknowledgeRequest_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AcknowledgeRequest, subscription_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AcknowledgeRequest, ack_ids_),
  };
  AcknowledgeRequest_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      AcknowledgeRequest_descriptor_,
      AcknowledgeRequest::internal_default_instance(),
      AcknowledgeRequest_offsets_,
      -1,
      -1,
      -1,
      sizeof(AcknowledgeRequest),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AcknowledgeRequest, _internal_metadata_));
}

namespace {

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
void protobuf_AssignDescriptorsOnce() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                 &protobuf_AssignDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      Topic_descriptor_, Topic::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PubsubMessage_descriptor_, PubsubMessage::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
        PubsubMessage_AttributesEntry_descriptor_,
        ::google::protobuf::internal::MapEntry<
            ::std::string,
            ::std::string,
            ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
            ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
            0>::CreateDefaultInstance(
                PubsubMessage_AttributesEntry_descriptor_));
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      GetTopicRequest_descriptor_, GetTopicRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PublishRequest_descriptor_, PublishRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PublishResponse_descriptor_, PublishResponse::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListTopicsRequest_descriptor_, ListTopicsRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListTopicsResponse_descriptor_, ListTopicsResponse::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListTopicSubscriptionsRequest_descriptor_, ListTopicSubscriptionsRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListTopicSubscriptionsResponse_descriptor_, ListTopicSubscriptionsResponse::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      DeleteTopicRequest_descriptor_, DeleteTopicRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      Subscription_descriptor_, Subscription::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PushConfig_descriptor_, PushConfig::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
        PushConfig_AttributesEntry_descriptor_,
        ::google::protobuf::internal::MapEntry<
            ::std::string,
            ::std::string,
            ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
            ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
            0>::CreateDefaultInstance(
                PushConfig_AttributesEntry_descriptor_));
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ReceivedMessage_descriptor_, ReceivedMessage::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      GetSubscriptionRequest_descriptor_, GetSubscriptionRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListSubscriptionsRequest_descriptor_, ListSubscriptionsRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ListSubscriptionsResponse_descriptor_, ListSubscriptionsResponse::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      DeleteSubscriptionRequest_descriptor_, DeleteSubscriptionRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ModifyPushConfigRequest_descriptor_, ModifyPushConfigRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PullRequest_descriptor_, PullRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      PullResponse_descriptor_, PullResponse::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      ModifyAckDeadlineRequest_descriptor_, ModifyAckDeadlineRequest::internal_default_instance());
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      AcknowledgeRequest_descriptor_, AcknowledgeRequest::internal_default_instance());
}

}  // namespace

void protobuf_ShutdownFile_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() {
  Topic_default_instance_.Shutdown();
  delete Topic_reflection_;
  PubsubMessage_default_instance_.Shutdown();
  delete PubsubMessage_reflection_;
  GetTopicRequest_default_instance_.Shutdown();
  delete GetTopicRequest_reflection_;
  PublishRequest_default_instance_.Shutdown();
  delete PublishRequest_reflection_;
  PublishResponse_default_instance_.Shutdown();
  delete PublishResponse_reflection_;
  ListTopicsRequest_default_instance_.Shutdown();
  delete ListTopicsRequest_reflection_;
  ListTopicsResponse_default_instance_.Shutdown();
  delete ListTopicsResponse_reflection_;
  ListTopicSubscriptionsRequest_default_instance_.Shutdown();
  delete ListTopicSubscriptionsRequest_reflection_;
  ListTopicSubscriptionsResponse_default_instance_.Shutdown();
  delete ListTopicSubscriptionsResponse_reflection_;
  DeleteTopicRequest_default_instance_.Shutdown();
  delete DeleteTopicRequest_reflection_;
  Subscription_default_instance_.Shutdown();
  delete Subscription_reflection_;
  PushConfig_default_instance_.Shutdown();
  delete PushConfig_reflection_;
  ReceivedMessage_default_instance_.Shutdown();
  delete ReceivedMessage_reflection_;
  GetSubscriptionRequest_default_instance_.Shutdown();
  delete GetSubscriptionRequest_reflection_;
  ListSubscriptionsRequest_default_instance_.Shutdown();
  delete ListSubscriptionsRequest_reflection_;
  ListSubscriptionsResponse_default_instance_.Shutdown();
  delete ListSubscriptionsResponse_reflection_;
  DeleteSubscriptionRequest_default_instance_.Shutdown();
  delete DeleteSubscriptionRequest_reflection_;
  ModifyPushConfigRequest_default_instance_.Shutdown();
  delete ModifyPushConfigRequest_reflection_;
  PullRequest_default_instance_.Shutdown();
  delete PullRequest_reflection_;
  PullResponse_default_instance_.Shutdown();
  delete PullResponse_reflection_;
  ModifyAckDeadlineRequest_default_instance_.Shutdown();
  delete ModifyAckDeadlineRequest_reflection_;
  AcknowledgeRequest_default_instance_.Shutdown();
  delete AcknowledgeRequest_reflection_;
}

void protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_impl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::protobuf_InitDefaults_google_2fprotobuf_2fempty_2eproto();
  ::google::protobuf::internal::GetEmptyString();
  Topic_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  PubsubMessage_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  GetTopicRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  PublishRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  PublishResponse_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListTopicsRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListTopicsResponse_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListTopicSubscriptionsRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListTopicSubscriptionsResponse_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  DeleteTopicRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  Subscription_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  PushConfig_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ReceivedMessage_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  GetSubscriptionRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListSubscriptionsRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ListSubscriptionsResponse_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  DeleteSubscriptionRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ModifyPushConfigRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  PullRequest_default_instance_.DefaultConstruct();
  PullResponse_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  ModifyAckDeadlineRequest_default_instance_.DefaultConstruct();
  ::google::protobuf::internal::GetEmptyString();
  AcknowledgeRequest_default_instance_.DefaultConstruct();
  Topic_default_instance_.get_mutable()->InitAsDefaultInstance();
  PubsubMessage_default_instance_.get_mutable()->InitAsDefaultInstance();
  GetTopicRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  PublishRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  PublishResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListTopicsRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListTopicsResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListTopicSubscriptionsRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListTopicSubscriptionsResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
  DeleteTopicRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  Subscription_default_instance_.get_mutable()->InitAsDefaultInstance();
  PushConfig_default_instance_.get_mutable()->InitAsDefaultInstance();
  ReceivedMessage_default_instance_.get_mutable()->InitAsDefaultInstance();
  GetSubscriptionRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListSubscriptionsRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  ListSubscriptionsResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
  DeleteSubscriptionRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  ModifyPushConfigRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  PullRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  PullResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
  ModifyAckDeadlineRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
  AcknowledgeRequest_default_instance_.get_mutable()->InitAsDefaultInstance();
}

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_once_);
void protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() {
  ::google::protobuf::GoogleOnceInit(&protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_once_,
                 &protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_impl);
}
void protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_impl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    "\n\"google/pubsub/v1beta2/pubsub.proto\022\025go"
    "ogle.pubsub.v1beta2\032\033google/protobuf/emp"
    "ty.proto\"\025\n\005Topic\022\014\n\004name\030\001 \001(\t\"\256\001\n\rPubs"
    "ubMessage\022\014\n\004data\030\001 \001(\014\022H\n\nattributes\030\002 "
    "\003(\01324.google.pubsub.v1beta2.PubsubMessag"
    "e.AttributesEntry\022\022\n\nmessage_id\030\003 \001(\t\0321\n"
    "\017AttributesEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002"
    " \001(\t:\0028\001\" \n\017GetTopicRequest\022\r\n\005topic\030\001 \001"
    "(\t\"W\n\016PublishRequest\022\r\n\005topic\030\001 \001(\t\0226\n\010m"
    "essages\030\002 \003(\0132$.google.pubsub.v1beta2.Pu"
    "bsubMessage\"&\n\017PublishResponse\022\023\n\013messag"
    "e_ids\030\001 \003(\t\"K\n\021ListTopicsRequest\022\017\n\007proj"
    "ect\030\001 \001(\t\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_tok"
    "en\030\003 \001(\t\"[\n\022ListTopicsResponse\022,\n\006topics"
    "\030\001 \003(\0132\034.google.pubsub.v1beta2.Topic\022\027\n\017"
    "next_page_token\030\002 \001(\t\"U\n\035ListTopicSubscr"
    "iptionsRequest\022\r\n\005topic\030\001 \001(\t\022\021\n\tpage_si"
    "ze\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"P\n\036ListTopi"
    "cSubscriptionsResponse\022\025\n\rsubscriptions\030"
    "\001 \003(\t\022\027\n\017next_page_token\030\002 \001(\t\"#\n\022Delete"
    "TopicRequest\022\r\n\005topic\030\001 \001(\t\"\201\001\n\014Subscrip"
    "tion\022\014\n\004name\030\001 \001(\t\022\r\n\005topic\030\002 \001(\t\0226\n\013pus"
    "h_config\030\004 \001(\0132!.google.pubsub.v1beta2.P"
    "ushConfig\022\034\n\024ack_deadline_seconds\030\005 \001(\005\""
    "\235\001\n\nPushConfig\022\025\n\rpush_endpoint\030\001 \001(\t\022E\n"
    "\nattributes\030\002 \003(\01321.google.pubsub.v1beta"
    "2.PushConfig.AttributesEntry\0321\n\017Attribut"
    "esEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\""
    "X\n\017ReceivedMessage\022\016\n\006ack_id\030\001 \001(\t\0225\n\007me"
    "ssage\030\002 \001(\0132$.google.pubsub.v1beta2.Pubs"
    "ubMessage\".\n\026GetSubscriptionRequest\022\024\n\014s"
    "ubscription\030\001 \001(\t\"R\n\030ListSubscriptionsRe"
    "quest\022\017\n\007project\030\001 \001(\t\022\021\n\tpage_size\030\002 \001("
    "\005\022\022\n\npage_token\030\003 \001(\t\"p\n\031ListSubscriptio"
    "nsResponse\022:\n\rsubscriptions\030\001 \003(\0132#.goog"
    "le.pubsub.v1beta2.Subscription\022\027\n\017next_p"
    "age_token\030\002 \001(\t\"1\n\031DeleteSubscriptionReq"
    "uest\022\024\n\014subscription\030\001 \001(\t\"g\n\027ModifyPush"
    "ConfigRequest\022\024\n\014subscription\030\001 \001(\t\0226\n\013p"
    "ush_config\030\002 \001(\0132!.google.pubsub.v1beta2"
    ".PushConfig\"U\n\013PullRequest\022\024\n\014subscripti"
    "on\030\001 \001(\t\022\032\n\022return_immediately\030\002 \001(\010\022\024\n\014"
    "max_messages\030\003 \001(\005\"Q\n\014PullResponse\022A\n\021re"
    "ceived_messages\030\001 \003(\0132&.google.pubsub.v1"
    "beta2.ReceivedMessage\"^\n\030ModifyAckDeadli"
    "neRequest\022\024\n\014subscription\030\001 \001(\t\022\016\n\006ack_i"
    "d\030\002 \001(\t\022\034\n\024ack_deadline_seconds\030\003 \001(\005\";\n"
    "\022AcknowledgeRequest\022\024\n\014subscription\030\001 \001("
    "\t\022\017\n\007ack_ids\030\002 \003(\t2\210\006\n\nSubscriber\022^\n\022Cre"
    "ateSubscription\022#.google.pubsub.v1beta2."
    "Subscription\032#.google.pubsub.v1beta2.Sub"
    "scription\022e\n\017GetSubscription\022-.google.pu"
    "bsub.v1beta2.GetSubscriptionRequest\032#.go"
    "ogle.pubsub.v1beta2.Subscription\022v\n\021List"
    "Subscriptions\022/.google.pubsub.v1beta2.Li"
    "stSubscriptionsRequest\0320.google.pubsub.v"
    "1beta2.ListSubscriptionsResponse\022^\n\022Dele"
    "teSubscription\0220.google.pubsub.v1beta2.D"
    "eleteSubscriptionRequest\032\026.google.protob"
    "uf.Empty\022\\\n\021ModifyAckDeadline\022/.google.p"
    "ubsub.v1beta2.ModifyAckDeadlineRequest\032\026"
    ".google.protobuf.Empty\022P\n\013Acknowledge\022)."
    "google.pubsub.v1beta2.AcknowledgeRequest"
    "\032\026.google.protobuf.Empty\022O\n\004Pull\022\".googl"
    "e.pubsub.v1beta2.PullRequest\032#.google.pu"
    "bsub.v1beta2.PullResponse\022Z\n\020ModifyPushC"
    "onfig\022..google.pubsub.v1beta2.ModifyPush"
    "ConfigRequest\032\026.google.protobuf.Empty2\277\004"
    "\n\tPublisher\022I\n\013CreateTopic\022\034.google.pubs"
    "ub.v1beta2.Topic\032\034.google.pubsub.v1beta2"
    ".Topic\022X\n\007Publish\022%.google.pubsub.v1beta"
    "2.PublishRequest\032&.google.pubsub.v1beta2"
    ".PublishResponse\022P\n\010GetTopic\022&.google.pu"
    "bsub.v1beta2.GetTopicRequest\032\034.google.pu"
    "bsub.v1beta2.Topic\022a\n\nListTopics\022(.googl"
    "e.pubsub.v1beta2.ListTopicsRequest\032).goo"
    "gle.pubsub.v1beta2.ListTopicsResponse\022\205\001"
    "\n\026ListTopicSubscriptions\0224.google.pubsub"
    ".v1beta2.ListTopicSubscriptionsRequest\0325"
    ".google.pubsub.v1beta2.ListTopicSubscrip"
    "tionsResponse\022P\n\013DeleteTopic\022).google.pu"
    "bsub.v1beta2.DeleteTopicRequest\032\026.google"
    ".protobuf.EmptyBg\n\031com.google.pubsub.v1b"
    "eta2B\013PubsubProtoP\001Z;google.golang.org/g"
    "enproto/googleapis/pubsub/v1beta2;pubsub"
    "b\006proto3", 3408);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "google/pubsub/v1beta2/pubsub.proto", &protobuf_RegisterTypes);
  ::google::protobuf::protobuf_AddDesc_google_2fprotobuf_2fempty_2eproto();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fpubsub_2fv1beta2_2fpubsub_2eproto);
}

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_once_);
void protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_once_,
                 &protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_impl);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_google_2fpubsub_2fv1beta2_2fpubsub_2eproto {
  StaticDescriptorInitializer_google_2fpubsub_2fv1beta2_2fpubsub_2eproto() {
    protobuf_AddDesc_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  }
} static_descriptor_initializer_google_2fpubsub_2fv1beta2_2fpubsub_2eproto_;

namespace {

static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD GOOGLE_ATTRIBUTE_NORETURN;
static void MergeFromFail(int line) {
  ::google::protobuf::internal::MergeFromFail(__FILE__, line);
}

}  // namespace

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Topic::kNameFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Topic::Topic()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.Topic)
}

void Topic::InitAsDefaultInstance() {
}

Topic::Topic(const Topic& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.Topic)
}

void Topic::SharedCtor() {
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

Topic::~Topic() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.Topic)
  SharedDtor();
}

void Topic::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void Topic::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* Topic::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return Topic_descriptor_;
}

const Topic& Topic::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<Topic> Topic_default_instance_;

Topic* Topic::New(::google::protobuf::Arena* arena) const {
  Topic* n = new Topic;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void Topic::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.Topic)
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool Topic::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.Topic)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), this->name().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.Topic.name"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.Topic)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.Topic)
  return false;
#undef DO_
}

void Topic::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.Topic)
  // optional string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Topic.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.Topic)
}

::google::protobuf::uint8* Topic::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.Topic)
  // optional string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Topic.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->name(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.Topic)
  return target;
}

size_t Topic::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.Topic)
  size_t total_size = 0;

  // optional string name = 1;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void Topic::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.Topic)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const Topic* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Topic>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.Topic)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.Topic)
    UnsafeMergeFrom(*source);
  }
}

void Topic::MergeFrom(const Topic& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.Topic)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void Topic::UnsafeMergeFrom(const Topic& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
}

void Topic::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.Topic)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Topic::CopyFrom(const Topic& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.Topic)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool Topic::IsInitialized() const {

  return true;
}

void Topic::Swap(Topic* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Topic::InternalSwap(Topic* other) {
  name_.Swap(&other->name_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata Topic::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = Topic_descriptor_;
  metadata.reflection = Topic_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// Topic

// optional string name = 1;
void Topic::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& Topic::name() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.Topic.name)
  return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Topic::set_name(const ::std::string& value) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.Topic.name)
}
void Topic::set_name(const char* value) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.Topic.name)
}
void Topic::set_name(const char* value, size_t size) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.Topic.name)
}
::std::string* Topic::mutable_name() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.Topic.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* Topic::release_name() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.Topic.name)

  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Topic::set_allocated_name(::std::string* name) {
  if (name != NULL) {

  } else {

  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.Topic.name)
}

inline const Topic* Topic::internal_default_instance() {
  return &Topic_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PubsubMessage::kDataFieldNumber;
const int PubsubMessage::kAttributesFieldNumber;
const int PubsubMessage::kMessageIdFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PubsubMessage::PubsubMessage()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PubsubMessage)
}

void PubsubMessage::InitAsDefaultInstance() {
}

PubsubMessage::PubsubMessage(const PubsubMessage& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PubsubMessage)
}

void PubsubMessage::SharedCtor() {
  attributes_.SetAssignDescriptorCallback(
      protobuf_AssignDescriptorsOnce);
  attributes_.SetEntryDescriptor(
      &::google::pubsub::v1beta2::PubsubMessage_AttributesEntry_descriptor_);
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  message_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

PubsubMessage::~PubsubMessage() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PubsubMessage)
  SharedDtor();
}

void PubsubMessage::SharedDtor() {
  data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  message_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void PubsubMessage::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PubsubMessage::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PubsubMessage_descriptor_;
}

const PubsubMessage& PubsubMessage::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PubsubMessage> PubsubMessage_default_instance_;

PubsubMessage* PubsubMessage::New(::google::protobuf::Arena* arena) const {
  PubsubMessage* n = new PubsubMessage;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PubsubMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PubsubMessage)
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  message_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  attributes_.Clear();
}

bool PubsubMessage::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PubsubMessage)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes data = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_data()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_attributes;
        break;
      }

      // map<string, string> attributes = 2;
      case 2: {
        if (tag == 18) {
         parse_attributes:
          DO_(input->IncrementRecursionDepth());
         parse_loop_attributes:
          PubsubMessage_AttributesEntry::Parser< ::google::protobuf::internal::MapField<
              ::std::string, ::std::string,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              0 >,
            ::google::protobuf::Map< ::std::string, ::std::string > > parser(&attributes_);
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
              input, &parser));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.key().data(), parser.key().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key"));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.value().data(), parser.value().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_loop_attributes;
        input->UnsafeDecrementRecursionDepth();
        if (input->ExpectTag(26)) goto parse_message_id;
        break;
      }

      // optional string message_id = 3;
      case 3: {
        if (tag == 26) {
         parse_message_id:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_message_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->message_id().data(), this->message_id().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PubsubMessage.message_id"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PubsubMessage)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PubsubMessage)
  return false;
#undef DO_
}

void PubsubMessage::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PubsubMessage)
  // optional bytes data = 1;
  if (this->data().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->data(), output);
  }

  // map<string, string> attributes = 2;
  if (!this->attributes().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value");
      }
    };

    if (output->IsSerializationDeterminstic() &&
        this->attributes().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->attributes().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(attributes_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            2, *entry, output);
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(
            it->first, it->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            2, *entry, output);
        Utf8Check::Check(&*it);
      }
    }
  }

  // optional string message_id = 3;
  if (this->message_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->message_id().data(), this->message_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PubsubMessage.message_id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->message_id(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PubsubMessage)
}

::google::protobuf::uint8* PubsubMessage::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PubsubMessage)
  // optional bytes data = 1;
  if (this->data().size() > 0) {
    target =
      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
        1, this->data(), target);
  }

  // map<string, string> attributes = 2;
  if (!this->attributes().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PubsubMessage.AttributesEntry.value");
      }
    };

    if (deterministic &&
        this->attributes().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->attributes().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(attributes_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       2, *entry, deterministic, target);
;
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(
            it->first, it->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       2, *entry, deterministic, target);
;
        Utf8Check::Check(&*it);
      }
    }
  }

  // optional string message_id = 3;
  if (this->message_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->message_id().data(), this->message_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PubsubMessage.message_id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->message_id(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PubsubMessage)
  return target;
}

size_t PubsubMessage::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PubsubMessage)
  size_t total_size = 0;

  // optional bytes data = 1;
  if (this->data().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->data());
  }

  // optional string message_id = 3;
  if (this->message_id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->message_id());
  }

  // map<string, string> attributes = 2;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->attributes_size());
  {
    ::google::protobuf::scoped_ptr<PubsubMessage_AttributesEntry> entry;
    for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
        it = this->attributes().begin();
        it != this->attributes().end(); ++it) {
      entry.reset(attributes_.NewEntryWrapper(it->first, it->second));
      total_size += ::google::protobuf::internal::WireFormatLite::
          MessageSizeNoVirtual(*entry);
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PubsubMessage::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PubsubMessage)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PubsubMessage* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PubsubMessage>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PubsubMessage)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PubsubMessage)
    UnsafeMergeFrom(*source);
  }
}

void PubsubMessage::MergeFrom(const PubsubMessage& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PubsubMessage)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PubsubMessage::UnsafeMergeFrom(const PubsubMessage& from) {
  GOOGLE_DCHECK(&from != this);
  attributes_.MergeFrom(from.attributes_);
  if (from.data().size() > 0) {

    data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
  }
  if (from.message_id().size() > 0) {

    message_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_id_);
  }
}

void PubsubMessage::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PubsubMessage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PubsubMessage::CopyFrom(const PubsubMessage& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PubsubMessage)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PubsubMessage::IsInitialized() const {

  return true;
}

void PubsubMessage::Swap(PubsubMessage* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PubsubMessage::InternalSwap(PubsubMessage* other) {
  data_.Swap(&other->data_);
  attributes_.Swap(&other->attributes_);
  message_id_.Swap(&other->message_id_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PubsubMessage::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PubsubMessage_descriptor_;
  metadata.reflection = PubsubMessage_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PubsubMessage

// optional bytes data = 1;
void PubsubMessage::clear_data() {
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& PubsubMessage::data() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PubsubMessage.data)
  return data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PubsubMessage::set_data(const ::std::string& value) {

  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PubsubMessage.data)
}
void PubsubMessage::set_data(const char* value) {

  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PubsubMessage.data)
}
void PubsubMessage::set_data(const void* value, size_t size) {

  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PubsubMessage.data)
}
::std::string* PubsubMessage::mutable_data() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PubsubMessage.data)
  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* PubsubMessage::release_data() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.PubsubMessage.data)

  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PubsubMessage::set_allocated_data(::std::string* data) {
  if (data != NULL) {

  } else {

  }
  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.PubsubMessage.data)
}

// map<string, string> attributes = 2;
int PubsubMessage::attributes_size() const {
  return attributes_.size();
}
void PubsubMessage::clear_attributes() {
  attributes_.Clear();
}
 const ::google::protobuf::Map< ::std::string, ::std::string >&
PubsubMessage::attributes() const {
  // @@protoc_insertion_point(field_map:google.pubsub.v1beta2.PubsubMessage.attributes)
  return attributes_.GetMap();
}
 ::google::protobuf::Map< ::std::string, ::std::string >*
PubsubMessage::mutable_attributes() {
  // @@protoc_insertion_point(field_mutable_map:google.pubsub.v1beta2.PubsubMessage.attributes)
  return attributes_.MutableMap();
}

// optional string message_id = 3;
void PubsubMessage::clear_message_id() {
  message_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& PubsubMessage::message_id() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PubsubMessage.message_id)
  return message_id_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PubsubMessage::set_message_id(const ::std::string& value) {

  message_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PubsubMessage.message_id)
}
void PubsubMessage::set_message_id(const char* value) {

  message_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PubsubMessage.message_id)
}
void PubsubMessage::set_message_id(const char* value, size_t size) {

  message_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PubsubMessage.message_id)
}
::std::string* PubsubMessage::mutable_message_id() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PubsubMessage.message_id)
  return message_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* PubsubMessage::release_message_id() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.PubsubMessage.message_id)

  return message_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PubsubMessage::set_allocated_message_id(::std::string* message_id) {
  if (message_id != NULL) {

  } else {

  }
  message_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message_id);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.PubsubMessage.message_id)
}

inline const PubsubMessage* PubsubMessage::internal_default_instance() {
  return &PubsubMessage_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GetTopicRequest::kTopicFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GetTopicRequest::GetTopicRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.GetTopicRequest)
}

void GetTopicRequest::InitAsDefaultInstance() {
}

GetTopicRequest::GetTopicRequest(const GetTopicRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.GetTopicRequest)
}

void GetTopicRequest::SharedCtor() {
  topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

GetTopicRequest::~GetTopicRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.GetTopicRequest)
  SharedDtor();
}

void GetTopicRequest::SharedDtor() {
  topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void GetTopicRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* GetTopicRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return GetTopicRequest_descriptor_;
}

const GetTopicRequest& GetTopicRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<GetTopicRequest> GetTopicRequest_default_instance_;

GetTopicRequest* GetTopicRequest::New(::google::protobuf::Arena* arena) const {
  GetTopicRequest* n = new GetTopicRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void GetTopicRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.GetTopicRequest)
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool GetTopicRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.GetTopicRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string topic = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_topic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->topic().data(), this->topic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.GetTopicRequest.topic"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.GetTopicRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.GetTopicRequest)
  return false;
#undef DO_
}

void GetTopicRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.GetTopicRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.GetTopicRequest.topic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->topic(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.GetTopicRequest)
}

::google::protobuf::uint8* GetTopicRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.GetTopicRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.GetTopicRequest.topic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->topic(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.GetTopicRequest)
  return target;
}

size_t GetTopicRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.GetTopicRequest)
  size_t total_size = 0;

  // optional string topic = 1;
  if (this->topic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->topic());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void GetTopicRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.GetTopicRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const GetTopicRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const GetTopicRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.GetTopicRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.GetTopicRequest)
    UnsafeMergeFrom(*source);
  }
}

void GetTopicRequest::MergeFrom(const GetTopicRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.GetTopicRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void GetTopicRequest::UnsafeMergeFrom(const GetTopicRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.topic().size() > 0) {

    topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
  }
}

void GetTopicRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.GetTopicRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetTopicRequest::CopyFrom(const GetTopicRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.GetTopicRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool GetTopicRequest::IsInitialized() const {

  return true;
}

void GetTopicRequest::Swap(GetTopicRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GetTopicRequest::InternalSwap(GetTopicRequest* other) {
  topic_.Swap(&other->topic_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata GetTopicRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = GetTopicRequest_descriptor_;
  metadata.reflection = GetTopicRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// GetTopicRequest

// optional string topic = 1;
void GetTopicRequest::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& GetTopicRequest::topic() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.GetTopicRequest.topic)
  return topic_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void GetTopicRequest::set_topic(const ::std::string& value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.GetTopicRequest.topic)
}
void GetTopicRequest::set_topic(const char* value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.GetTopicRequest.topic)
}
void GetTopicRequest::set_topic(const char* value, size_t size) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.GetTopicRequest.topic)
}
::std::string* GetTopicRequest::mutable_topic() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.GetTopicRequest.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* GetTopicRequest::release_topic() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.GetTopicRequest.topic)

  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void GetTopicRequest::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {

  } else {

  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.GetTopicRequest.topic)
}

inline const GetTopicRequest* GetTopicRequest::internal_default_instance() {
  return &GetTopicRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PublishRequest::kTopicFieldNumber;
const int PublishRequest::kMessagesFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PublishRequest::PublishRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PublishRequest)
}

void PublishRequest::InitAsDefaultInstance() {
}

PublishRequest::PublishRequest(const PublishRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PublishRequest)
}

void PublishRequest::SharedCtor() {
  topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

PublishRequest::~PublishRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PublishRequest)
  SharedDtor();
}

void PublishRequest::SharedDtor() {
  topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void PublishRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PublishRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PublishRequest_descriptor_;
}

const PublishRequest& PublishRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PublishRequest> PublishRequest_default_instance_;

PublishRequest* PublishRequest::New(::google::protobuf::Arena* arena) const {
  PublishRequest* n = new PublishRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PublishRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PublishRequest)
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messages_.Clear();
}

bool PublishRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PublishRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string topic = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_topic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->topic().data(), this->topic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PublishRequest.topic"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_messages;
        break;
      }

      // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
      case 2: {
        if (tag == 18) {
         parse_messages:
          DO_(input->IncrementRecursionDepth());
         parse_loop_messages:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
                input, add_messages()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_loop_messages;
        input->UnsafeDecrementRecursionDepth();
        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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PublishRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PublishRequest)
  return false;
#undef DO_
}

void PublishRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PublishRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PublishRequest.topic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->topic(), output);
  }

  // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
  for (unsigned int i = 0, n = this->messages_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->messages(i), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PublishRequest)
}

::google::protobuf::uint8* PublishRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PublishRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PublishRequest.topic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->topic(), target);
  }

  // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
  for (unsigned int i = 0, n = this->messages_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        2, this->messages(i), false, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PublishRequest)
  return target;
}

size_t PublishRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PublishRequest)
  size_t total_size = 0;

  // optional string topic = 1;
  if (this->topic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->topic());
  }

  // repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
  {
    unsigned int count = this->messages_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->messages(i));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PublishRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PublishRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PublishRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PublishRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PublishRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PublishRequest)
    UnsafeMergeFrom(*source);
  }
}

void PublishRequest::MergeFrom(const PublishRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PublishRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PublishRequest::UnsafeMergeFrom(const PublishRequest& from) {
  GOOGLE_DCHECK(&from != this);
  messages_.MergeFrom(from.messages_);
  if (from.topic().size() > 0) {

    topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
  }
}

void PublishRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PublishRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PublishRequest::CopyFrom(const PublishRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PublishRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PublishRequest::IsInitialized() const {

  return true;
}

void PublishRequest::Swap(PublishRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PublishRequest::InternalSwap(PublishRequest* other) {
  topic_.Swap(&other->topic_);
  messages_.UnsafeArenaSwap(&other->messages_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PublishRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PublishRequest_descriptor_;
  metadata.reflection = PublishRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PublishRequest

// optional string topic = 1;
void PublishRequest::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& PublishRequest::topic() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PublishRequest.topic)
  return topic_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PublishRequest::set_topic(const ::std::string& value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PublishRequest.topic)
}
void PublishRequest::set_topic(const char* value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PublishRequest.topic)
}
void PublishRequest::set_topic(const char* value, size_t size) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PublishRequest.topic)
}
::std::string* PublishRequest::mutable_topic() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PublishRequest.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* PublishRequest::release_topic() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.PublishRequest.topic)

  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PublishRequest::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {

  } else {

  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.PublishRequest.topic)
}

// repeated .google.pubsub.v1beta2.PubsubMessage messages = 2;
int PublishRequest::messages_size() const {
  return messages_.size();
}
void PublishRequest::clear_messages() {
  messages_.Clear();
}
const ::google::pubsub::v1beta2::PubsubMessage& PublishRequest::messages(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PublishRequest.messages)
  return messages_.Get(index);
}
::google::pubsub::v1beta2::PubsubMessage* PublishRequest::mutable_messages(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PublishRequest.messages)
  return messages_.Mutable(index);
}
::google::pubsub::v1beta2::PubsubMessage* PublishRequest::add_messages() {
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.PublishRequest.messages)
  return messages_.Add();
}
::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::PubsubMessage >*
PublishRequest::mutable_messages() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.PublishRequest.messages)
  return &messages_;
}
const ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::PubsubMessage >&
PublishRequest::messages() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.PublishRequest.messages)
  return messages_;
}

inline const PublishRequest* PublishRequest::internal_default_instance() {
  return &PublishRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PublishResponse::kMessageIdsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PublishResponse::PublishResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PublishResponse)
}

void PublishResponse::InitAsDefaultInstance() {
}

PublishResponse::PublishResponse(const PublishResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PublishResponse)
}

void PublishResponse::SharedCtor() {
  _cached_size_ = 0;
}

PublishResponse::~PublishResponse() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PublishResponse)
  SharedDtor();
}

void PublishResponse::SharedDtor() {
}

void PublishResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PublishResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PublishResponse_descriptor_;
}

const PublishResponse& PublishResponse::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PublishResponse> PublishResponse_default_instance_;

PublishResponse* PublishResponse::New(::google::protobuf::Arena* arena) const {
  PublishResponse* n = new PublishResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PublishResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PublishResponse)
  message_ids_.Clear();
}

bool PublishResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PublishResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated string message_ids = 1;
      case 1: {
        if (tag == 10) {
         parse_message_ids:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_message_ids()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->message_ids(this->message_ids_size() - 1).data(),
            this->message_ids(this->message_ids_size() - 1).length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PublishResponse.message_ids"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(10)) goto parse_message_ids;
        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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PublishResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PublishResponse)
  return false;
#undef DO_
}

void PublishResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PublishResponse)
  // repeated string message_ids = 1;
  for (int i = 0; i < this->message_ids_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->message_ids(i).data(), this->message_ids(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PublishResponse.message_ids");
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->message_ids(i), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PublishResponse)
}

::google::protobuf::uint8* PublishResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PublishResponse)
  // repeated string message_ids = 1;
  for (int i = 0; i < this->message_ids_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->message_ids(i).data(), this->message_ids(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PublishResponse.message_ids");
    target = ::google::protobuf::internal::WireFormatLite::
      WriteStringToArray(1, this->message_ids(i), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PublishResponse)
  return target;
}

size_t PublishResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PublishResponse)
  size_t total_size = 0;

  // repeated string message_ids = 1;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->message_ids_size());
  for (int i = 0; i < this->message_ids_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->message_ids(i));
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PublishResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PublishResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PublishResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PublishResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PublishResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PublishResponse)
    UnsafeMergeFrom(*source);
  }
}

void PublishResponse::MergeFrom(const PublishResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PublishResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PublishResponse::UnsafeMergeFrom(const PublishResponse& from) {
  GOOGLE_DCHECK(&from != this);
  message_ids_.UnsafeMergeFrom(from.message_ids_);
}

void PublishResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PublishResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PublishResponse::CopyFrom(const PublishResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PublishResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PublishResponse::IsInitialized() const {

  return true;
}

void PublishResponse::Swap(PublishResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PublishResponse::InternalSwap(PublishResponse* other) {
  message_ids_.UnsafeArenaSwap(&other->message_ids_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PublishResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PublishResponse_descriptor_;
  metadata.reflection = PublishResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PublishResponse

// repeated string message_ids = 1;
int PublishResponse::message_ids_size() const {
  return message_ids_.size();
}
void PublishResponse::clear_message_ids() {
  message_ids_.Clear();
}
const ::std::string& PublishResponse::message_ids(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PublishResponse.message_ids)
  return message_ids_.Get(index);
}
::std::string* PublishResponse::mutable_message_ids(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PublishResponse.message_ids)
  return message_ids_.Mutable(index);
}
void PublishResponse::set_message_ids(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PublishResponse.message_ids)
  message_ids_.Mutable(index)->assign(value);
}
void PublishResponse::set_message_ids(int index, const char* value) {
  message_ids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PublishResponse.message_ids)
}
void PublishResponse::set_message_ids(int index, const char* value, size_t size) {
  message_ids_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PublishResponse.message_ids)
}
::std::string* PublishResponse::add_message_ids() {
  // @@protoc_insertion_point(field_add_mutable:google.pubsub.v1beta2.PublishResponse.message_ids)
  return message_ids_.Add();
}
void PublishResponse::add_message_ids(const ::std::string& value) {
  message_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.PublishResponse.message_ids)
}
void PublishResponse::add_message_ids(const char* value) {
  message_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:google.pubsub.v1beta2.PublishResponse.message_ids)
}
void PublishResponse::add_message_ids(const char* value, size_t size) {
  message_ids_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:google.pubsub.v1beta2.PublishResponse.message_ids)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
PublishResponse::message_ids() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.PublishResponse.message_ids)
  return message_ids_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
PublishResponse::mutable_message_ids() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.PublishResponse.message_ids)
  return &message_ids_;
}

inline const PublishResponse* PublishResponse::internal_default_instance() {
  return &PublishResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListTopicsRequest::kProjectFieldNumber;
const int ListTopicsRequest::kPageSizeFieldNumber;
const int ListTopicsRequest::kPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListTopicsRequest::ListTopicsRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicsRequest)
}

void ListTopicsRequest::InitAsDefaultInstance() {
}

ListTopicsRequest::ListTopicsRequest(const ListTopicsRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicsRequest)
}

void ListTopicsRequest::SharedCtor() {
  project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  _cached_size_ = 0;
}

ListTopicsRequest::~ListTopicsRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicsRequest)
  SharedDtor();
}

void ListTopicsRequest::SharedDtor() {
  project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListTopicsRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListTopicsRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListTopicsRequest_descriptor_;
}

const ListTopicsRequest& ListTopicsRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListTopicsRequest> ListTopicsRequest_default_instance_;

ListTopicsRequest* ListTopicsRequest::New(::google::protobuf::Arena* arena) const {
  ListTopicsRequest* n = new ListTopicsRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListTopicsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicsRequest)
  project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool ListTopicsRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicsRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string project = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_project()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->project().data(), this->project().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicsRequest.project"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(16)) goto parse_page_size;
        break;
      }

      // optional int32 page_size = 2;
      case 2: {
        if (tag == 16) {
         parse_page_size:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &page_size_)));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(26)) goto parse_page_token;
        break;
      }

      // optional string page_token = 3;
      case 3: {
        if (tag == 26) {
         parse_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->page_token().data(), this->page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicsRequest.page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicsRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicsRequest)
  return false;
#undef DO_
}

void ListTopicsRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicsRequest)
  // optional string project = 1;
  if (this->project().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->project().data(), this->project().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsRequest.project");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->project(), output);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsRequest.page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicsRequest)
}

::google::protobuf::uint8* ListTopicsRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicsRequest)
  // optional string project = 1;
  if (this->project().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->project().data(), this->project().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsRequest.project");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->project(), target);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsRequest.page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicsRequest)
  return target;
}

size_t ListTopicsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicsRequest)
  size_t total_size = 0;

  // optional string project = 1;
  if (this->project().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->project());
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->page_size());
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->page_token());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListTopicsRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicsRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListTopicsRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicsRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicsRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicsRequest)
    UnsafeMergeFrom(*source);
  }
}

void ListTopicsRequest::MergeFrom(const ListTopicsRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicsRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListTopicsRequest::UnsafeMergeFrom(const ListTopicsRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.project().size() > 0) {

    project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
  }
  if (from.page_size() != 0) {
    set_page_size(from.page_size());
  }
  if (from.page_token().size() > 0) {

    page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
  }
}

void ListTopicsRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListTopicsRequest::CopyFrom(const ListTopicsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicsRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListTopicsRequest::IsInitialized() const {

  return true;
}

void ListTopicsRequest::Swap(ListTopicsRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListTopicsRequest::InternalSwap(ListTopicsRequest* other) {
  project_.Swap(&other->project_);
  std::swap(page_size_, other->page_size_);
  page_token_.Swap(&other->page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListTopicsRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListTopicsRequest_descriptor_;
  metadata.reflection = ListTopicsRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListTopicsRequest

// optional string project = 1;
void ListTopicsRequest::clear_project() {
  project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicsRequest::project() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicsRequest.project)
  return project_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsRequest::set_project(const ::std::string& value) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicsRequest.project)
}
void ListTopicsRequest::set_project(const char* value) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicsRequest.project)
}
void ListTopicsRequest::set_project(const char* value, size_t size) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicsRequest.project)
}
::std::string* ListTopicsRequest::mutable_project() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicsRequest.project)
  return project_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicsRequest::release_project() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicsRequest.project)

  return project_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsRequest::set_allocated_project(::std::string* project) {
  if (project != NULL) {

  } else {

  }
  project_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), project);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicsRequest.project)
}

// optional int32 page_size = 2;
void ListTopicsRequest::clear_page_size() {
  page_size_ = 0;
}
::google::protobuf::int32 ListTopicsRequest::page_size() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicsRequest.page_size)
  return page_size_;
}
void ListTopicsRequest::set_page_size(::google::protobuf::int32 value) {

  page_size_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicsRequest.page_size)
}

// optional string page_token = 3;
void ListTopicsRequest::clear_page_token() {
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicsRequest::page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicsRequest.page_token)
  return page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsRequest::set_page_token(const ::std::string& value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicsRequest.page_token)
}
void ListTopicsRequest::set_page_token(const char* value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicsRequest.page_token)
}
void ListTopicsRequest::set_page_token(const char* value, size_t size) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicsRequest.page_token)
}
::std::string* ListTopicsRequest::mutable_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicsRequest.page_token)
  return page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicsRequest::release_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicsRequest.page_token)

  return page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsRequest::set_allocated_page_token(::std::string* page_token) {
  if (page_token != NULL) {

  } else {

  }
  page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicsRequest.page_token)
}

inline const ListTopicsRequest* ListTopicsRequest::internal_default_instance() {
  return &ListTopicsRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListTopicsResponse::kTopicsFieldNumber;
const int ListTopicsResponse::kNextPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListTopicsResponse::ListTopicsResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicsResponse)
}

void ListTopicsResponse::InitAsDefaultInstance() {
}

ListTopicsResponse::ListTopicsResponse(const ListTopicsResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicsResponse)
}

void ListTopicsResponse::SharedCtor() {
  next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

ListTopicsResponse::~ListTopicsResponse() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicsResponse)
  SharedDtor();
}

void ListTopicsResponse::SharedDtor() {
  next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListTopicsResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListTopicsResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListTopicsResponse_descriptor_;
}

const ListTopicsResponse& ListTopicsResponse::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListTopicsResponse> ListTopicsResponse_default_instance_;

ListTopicsResponse* ListTopicsResponse::New(::google::protobuf::Arena* arena) const {
  ListTopicsResponse* n = new ListTopicsResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListTopicsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicsResponse)
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  topics_.Clear();
}

bool ListTopicsResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicsResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .google.pubsub.v1beta2.Topic topics = 1;
      case 1: {
        if (tag == 10) {
          DO_(input->IncrementRecursionDepth());
         parse_loop_topics:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
                input, add_topics()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(10)) goto parse_loop_topics;
        input->UnsafeDecrementRecursionDepth();
        if (input->ExpectTag(18)) goto parse_next_page_token;
        break;
      }

      // optional string next_page_token = 2;
      case 2: {
        if (tag == 18) {
         parse_next_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_next_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->next_page_token().data(), this->next_page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicsResponse.next_page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicsResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicsResponse)
  return false;
#undef DO_
}

void ListTopicsResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicsResponse)
  // repeated .google.pubsub.v1beta2.Topic topics = 1;
  for (unsigned int i = 0, n = this->topics_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->topics(i), output);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsResponse.next_page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->next_page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicsResponse)
}

::google::protobuf::uint8* ListTopicsResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicsResponse)
  // repeated .google.pubsub.v1beta2.Topic topics = 1;
  for (unsigned int i = 0, n = this->topics_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, this->topics(i), false, target);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicsResponse.next_page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->next_page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicsResponse)
  return target;
}

size_t ListTopicsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicsResponse)
  size_t total_size = 0;

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->next_page_token());
  }

  // repeated .google.pubsub.v1beta2.Topic topics = 1;
  {
    unsigned int count = this->topics_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->topics(i));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListTopicsResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicsResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListTopicsResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicsResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicsResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicsResponse)
    UnsafeMergeFrom(*source);
  }
}

void ListTopicsResponse::MergeFrom(const ListTopicsResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicsResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListTopicsResponse::UnsafeMergeFrom(const ListTopicsResponse& from) {
  GOOGLE_DCHECK(&from != this);
  topics_.MergeFrom(from.topics_);
  if (from.next_page_token().size() > 0) {

    next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
  }
}

void ListTopicsResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListTopicsResponse::CopyFrom(const ListTopicsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicsResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListTopicsResponse::IsInitialized() const {

  return true;
}

void ListTopicsResponse::Swap(ListTopicsResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListTopicsResponse::InternalSwap(ListTopicsResponse* other) {
  topics_.UnsafeArenaSwap(&other->topics_);
  next_page_token_.Swap(&other->next_page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListTopicsResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListTopicsResponse_descriptor_;
  metadata.reflection = ListTopicsResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListTopicsResponse

// repeated .google.pubsub.v1beta2.Topic topics = 1;
int ListTopicsResponse::topics_size() const {
  return topics_.size();
}
void ListTopicsResponse::clear_topics() {
  topics_.Clear();
}
const ::google::pubsub::v1beta2::Topic& ListTopicsResponse::topics(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicsResponse.topics)
  return topics_.Get(index);
}
::google::pubsub::v1beta2::Topic* ListTopicsResponse::mutable_topics(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicsResponse.topics)
  return topics_.Mutable(index);
}
::google::pubsub::v1beta2::Topic* ListTopicsResponse::add_topics() {
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.ListTopicsResponse.topics)
  return topics_.Add();
}
::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::Topic >*
ListTopicsResponse::mutable_topics() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.ListTopicsResponse.topics)
  return &topics_;
}
const ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::Topic >&
ListTopicsResponse::topics() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.ListTopicsResponse.topics)
  return topics_;
}

// optional string next_page_token = 2;
void ListTopicsResponse::clear_next_page_token() {
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicsResponse::next_page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
  return next_page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsResponse::set_next_page_token(const ::std::string& value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
}
void ListTopicsResponse::set_next_page_token(const char* value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
}
void ListTopicsResponse::set_next_page_token(const char* value, size_t size) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
}
::std::string* ListTopicsResponse::mutable_next_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
  return next_page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicsResponse::release_next_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)

  return next_page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicsResponse::set_allocated_next_page_token(::std::string* next_page_token) {
  if (next_page_token != NULL) {

  } else {

  }
  next_page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), next_page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicsResponse.next_page_token)
}

inline const ListTopicsResponse* ListTopicsResponse::internal_default_instance() {
  return &ListTopicsResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListTopicSubscriptionsRequest::kTopicFieldNumber;
const int ListTopicSubscriptionsRequest::kPageSizeFieldNumber;
const int ListTopicSubscriptionsRequest::kPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListTopicSubscriptionsRequest::ListTopicSubscriptionsRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
}

void ListTopicSubscriptionsRequest::InitAsDefaultInstance() {
}

ListTopicSubscriptionsRequest::ListTopicSubscriptionsRequest(const ListTopicSubscriptionsRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
}

void ListTopicSubscriptionsRequest::SharedCtor() {
  topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  _cached_size_ = 0;
}

ListTopicSubscriptionsRequest::~ListTopicSubscriptionsRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  SharedDtor();
}

void ListTopicSubscriptionsRequest::SharedDtor() {
  topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListTopicSubscriptionsRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListTopicSubscriptionsRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListTopicSubscriptionsRequest_descriptor_;
}

const ListTopicSubscriptionsRequest& ListTopicSubscriptionsRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListTopicSubscriptionsRequest> ListTopicSubscriptionsRequest_default_instance_;

ListTopicSubscriptionsRequest* ListTopicSubscriptionsRequest::New(::google::protobuf::Arena* arena) const {
  ListTopicSubscriptionsRequest* n = new ListTopicSubscriptionsRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListTopicSubscriptionsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool ListTopicSubscriptionsRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string topic = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_topic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->topic().data(), this->topic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(16)) goto parse_page_size;
        break;
      }

      // optional int32 page_size = 2;
      case 2: {
        if (tag == 16) {
         parse_page_size:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &page_size_)));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(26)) goto parse_page_token;
        break;
      }

      // optional string page_token = 3;
      case 3: {
        if (tag == 26) {
         parse_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->page_token().data(), this->page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  return false;
#undef DO_
}

void ListTopicSubscriptionsRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->topic(), output);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
}

::google::protobuf::uint8* ListTopicSubscriptionsRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->topic(), target);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  return target;
}

size_t ListTopicSubscriptionsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  size_t total_size = 0;

  // optional string topic = 1;
  if (this->topic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->topic());
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->page_size());
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->page_token());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListTopicSubscriptionsRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListTopicSubscriptionsRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicSubscriptionsRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
    UnsafeMergeFrom(*source);
  }
}

void ListTopicSubscriptionsRequest::MergeFrom(const ListTopicSubscriptionsRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListTopicSubscriptionsRequest::UnsafeMergeFrom(const ListTopicSubscriptionsRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.topic().size() > 0) {

    topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
  }
  if (from.page_size() != 0) {
    set_page_size(from.page_size());
  }
  if (from.page_token().size() > 0) {

    page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
  }
}

void ListTopicSubscriptionsRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListTopicSubscriptionsRequest::CopyFrom(const ListTopicSubscriptionsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListTopicSubscriptionsRequest::IsInitialized() const {

  return true;
}

void ListTopicSubscriptionsRequest::Swap(ListTopicSubscriptionsRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListTopicSubscriptionsRequest::InternalSwap(ListTopicSubscriptionsRequest* other) {
  topic_.Swap(&other->topic_);
  std::swap(page_size_, other->page_size_);
  page_token_.Swap(&other->page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListTopicSubscriptionsRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListTopicSubscriptionsRequest_descriptor_;
  metadata.reflection = ListTopicSubscriptionsRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListTopicSubscriptionsRequest

// optional string topic = 1;
void ListTopicSubscriptionsRequest::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicSubscriptionsRequest::topic() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
  return topic_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsRequest::set_topic(const ::std::string& value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
}
void ListTopicSubscriptionsRequest::set_topic(const char* value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
}
void ListTopicSubscriptionsRequest::set_topic(const char* value, size_t size) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
}
::std::string* ListTopicSubscriptionsRequest::mutable_topic() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicSubscriptionsRequest::release_topic() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)

  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsRequest::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {

  } else {

  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.topic)
}

// optional int32 page_size = 2;
void ListTopicSubscriptionsRequest::clear_page_size() {
  page_size_ = 0;
}
::google::protobuf::int32 ListTopicSubscriptionsRequest::page_size() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_size)
  return page_size_;
}
void ListTopicSubscriptionsRequest::set_page_size(::google::protobuf::int32 value) {

  page_size_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_size)
}

// optional string page_token = 3;
void ListTopicSubscriptionsRequest::clear_page_token() {
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicSubscriptionsRequest::page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
  return page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsRequest::set_page_token(const ::std::string& value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
}
void ListTopicSubscriptionsRequest::set_page_token(const char* value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
}
void ListTopicSubscriptionsRequest::set_page_token(const char* value, size_t size) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
}
::std::string* ListTopicSubscriptionsRequest::mutable_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
  return page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicSubscriptionsRequest::release_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)

  return page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsRequest::set_allocated_page_token(::std::string* page_token) {
  if (page_token != NULL) {

  } else {

  }
  page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicSubscriptionsRequest.page_token)
}

inline const ListTopicSubscriptionsRequest* ListTopicSubscriptionsRequest::internal_default_instance() {
  return &ListTopicSubscriptionsRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListTopicSubscriptionsResponse::kSubscriptionsFieldNumber;
const int ListTopicSubscriptionsResponse::kNextPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListTopicSubscriptionsResponse::ListTopicSubscriptionsResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
}

void ListTopicSubscriptionsResponse::InitAsDefaultInstance() {
}

ListTopicSubscriptionsResponse::ListTopicSubscriptionsResponse(const ListTopicSubscriptionsResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
}

void ListTopicSubscriptionsResponse::SharedCtor() {
  next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

ListTopicSubscriptionsResponse::~ListTopicSubscriptionsResponse() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  SharedDtor();
}

void ListTopicSubscriptionsResponse::SharedDtor() {
  next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListTopicSubscriptionsResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListTopicSubscriptionsResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListTopicSubscriptionsResponse_descriptor_;
}

const ListTopicSubscriptionsResponse& ListTopicSubscriptionsResponse::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListTopicSubscriptionsResponse> ListTopicSubscriptionsResponse_default_instance_;

ListTopicSubscriptionsResponse* ListTopicSubscriptionsResponse::New(::google::protobuf::Arena* arena) const {
  ListTopicSubscriptionsResponse* n = new ListTopicSubscriptionsResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListTopicSubscriptionsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  subscriptions_.Clear();
}

bool ListTopicSubscriptionsResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated string subscriptions = 1;
      case 1: {
        if (tag == 10) {
         parse_subscriptions:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_subscriptions()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscriptions(this->subscriptions_size() - 1).data(),
            this->subscriptions(this->subscriptions_size() - 1).length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(10)) goto parse_subscriptions;
        if (input->ExpectTag(18)) goto parse_next_page_token;
        break;
      }

      // optional string next_page_token = 2;
      case 2: {
        if (tag == 18) {
         parse_next_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_next_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->next_page_token().data(), this->next_page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  return false;
#undef DO_
}

void ListTopicSubscriptionsResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  // repeated string subscriptions = 1;
  for (int i = 0; i < this->subscriptions_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscriptions(i).data(), this->subscriptions(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions");
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->subscriptions(i), output);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->next_page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
}

::google::protobuf::uint8* ListTopicSubscriptionsResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  // repeated string subscriptions = 1;
  for (int i = 0; i < this->subscriptions_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscriptions(i).data(), this->subscriptions(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions");
    target = ::google::protobuf::internal::WireFormatLite::
      WriteStringToArray(1, this->subscriptions(i), target);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->next_page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  return target;
}

size_t ListTopicSubscriptionsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  size_t total_size = 0;

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->next_page_token());
  }

  // repeated string subscriptions = 1;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->subscriptions_size());
  for (int i = 0; i < this->subscriptions_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->subscriptions(i));
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListTopicSubscriptionsResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListTopicSubscriptionsResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListTopicSubscriptionsResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
    UnsafeMergeFrom(*source);
  }
}

void ListTopicSubscriptionsResponse::MergeFrom(const ListTopicSubscriptionsResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListTopicSubscriptionsResponse::UnsafeMergeFrom(const ListTopicSubscriptionsResponse& from) {
  GOOGLE_DCHECK(&from != this);
  subscriptions_.UnsafeMergeFrom(from.subscriptions_);
  if (from.next_page_token().size() > 0) {

    next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
  }
}

void ListTopicSubscriptionsResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListTopicSubscriptionsResponse::CopyFrom(const ListTopicSubscriptionsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListTopicSubscriptionsResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListTopicSubscriptionsResponse::IsInitialized() const {

  return true;
}

void ListTopicSubscriptionsResponse::Swap(ListTopicSubscriptionsResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListTopicSubscriptionsResponse::InternalSwap(ListTopicSubscriptionsResponse* other) {
  subscriptions_.UnsafeArenaSwap(&other->subscriptions_);
  next_page_token_.Swap(&other->next_page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListTopicSubscriptionsResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListTopicSubscriptionsResponse_descriptor_;
  metadata.reflection = ListTopicSubscriptionsResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListTopicSubscriptionsResponse

// repeated string subscriptions = 1;
int ListTopicSubscriptionsResponse::subscriptions_size() const {
  return subscriptions_.size();
}
void ListTopicSubscriptionsResponse::clear_subscriptions() {
  subscriptions_.Clear();
}
const ::std::string& ListTopicSubscriptionsResponse::subscriptions(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  return subscriptions_.Get(index);
}
::std::string* ListTopicSubscriptionsResponse::mutable_subscriptions(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  return subscriptions_.Mutable(index);
}
void ListTopicSubscriptionsResponse::set_subscriptions(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  subscriptions_.Mutable(index)->assign(value);
}
void ListTopicSubscriptionsResponse::set_subscriptions(int index, const char* value) {
  subscriptions_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
}
void ListTopicSubscriptionsResponse::set_subscriptions(int index, const char* value, size_t size) {
  subscriptions_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
}
::std::string* ListTopicSubscriptionsResponse::add_subscriptions() {
  // @@protoc_insertion_point(field_add_mutable:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  return subscriptions_.Add();
}
void ListTopicSubscriptionsResponse::add_subscriptions(const ::std::string& value) {
  subscriptions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
}
void ListTopicSubscriptionsResponse::add_subscriptions(const char* value) {
  subscriptions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
}
void ListTopicSubscriptionsResponse::add_subscriptions(const char* value, size_t size) {
  subscriptions_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ListTopicSubscriptionsResponse::subscriptions() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  return subscriptions_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ListTopicSubscriptionsResponse::mutable_subscriptions() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.subscriptions)
  return &subscriptions_;
}

// optional string next_page_token = 2;
void ListTopicSubscriptionsResponse::clear_next_page_token() {
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListTopicSubscriptionsResponse::next_page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
  return next_page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsResponse::set_next_page_token(const ::std::string& value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
}
void ListTopicSubscriptionsResponse::set_next_page_token(const char* value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
}
void ListTopicSubscriptionsResponse::set_next_page_token(const char* value, size_t size) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
}
::std::string* ListTopicSubscriptionsResponse::mutable_next_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
  return next_page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListTopicSubscriptionsResponse::release_next_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)

  return next_page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListTopicSubscriptionsResponse::set_allocated_next_page_token(::std::string* next_page_token) {
  if (next_page_token != NULL) {

  } else {

  }
  next_page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), next_page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListTopicSubscriptionsResponse.next_page_token)
}

inline const ListTopicSubscriptionsResponse* ListTopicSubscriptionsResponse::internal_default_instance() {
  return &ListTopicSubscriptionsResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int DeleteTopicRequest::kTopicFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

DeleteTopicRequest::DeleteTopicRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.DeleteTopicRequest)
}

void DeleteTopicRequest::InitAsDefaultInstance() {
}

DeleteTopicRequest::DeleteTopicRequest(const DeleteTopicRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.DeleteTopicRequest)
}

void DeleteTopicRequest::SharedCtor() {
  topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

DeleteTopicRequest::~DeleteTopicRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.DeleteTopicRequest)
  SharedDtor();
}

void DeleteTopicRequest::SharedDtor() {
  topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void DeleteTopicRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* DeleteTopicRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return DeleteTopicRequest_descriptor_;
}

const DeleteTopicRequest& DeleteTopicRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<DeleteTopicRequest> DeleteTopicRequest_default_instance_;

DeleteTopicRequest* DeleteTopicRequest::New(::google::protobuf::Arena* arena) const {
  DeleteTopicRequest* n = new DeleteTopicRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void DeleteTopicRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.DeleteTopicRequest)
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool DeleteTopicRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.DeleteTopicRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string topic = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_topic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->topic().data(), this->topic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.DeleteTopicRequest.topic"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.DeleteTopicRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.DeleteTopicRequest)
  return false;
#undef DO_
}

void DeleteTopicRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.DeleteTopicRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.DeleteTopicRequest.topic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->topic(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.DeleteTopicRequest)
}

::google::protobuf::uint8* DeleteTopicRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.DeleteTopicRequest)
  // optional string topic = 1;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.DeleteTopicRequest.topic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->topic(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.DeleteTopicRequest)
  return target;
}

size_t DeleteTopicRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.DeleteTopicRequest)
  size_t total_size = 0;

  // optional string topic = 1;
  if (this->topic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->topic());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void DeleteTopicRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const DeleteTopicRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const DeleteTopicRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.DeleteTopicRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.DeleteTopicRequest)
    UnsafeMergeFrom(*source);
  }
}

void DeleteTopicRequest::MergeFrom(const DeleteTopicRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void DeleteTopicRequest::UnsafeMergeFrom(const DeleteTopicRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.topic().size() > 0) {

    topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
  }
}

void DeleteTopicRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DeleteTopicRequest::CopyFrom(const DeleteTopicRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.DeleteTopicRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool DeleteTopicRequest::IsInitialized() const {

  return true;
}

void DeleteTopicRequest::Swap(DeleteTopicRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void DeleteTopicRequest::InternalSwap(DeleteTopicRequest* other) {
  topic_.Swap(&other->topic_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata DeleteTopicRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = DeleteTopicRequest_descriptor_;
  metadata.reflection = DeleteTopicRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// DeleteTopicRequest

// optional string topic = 1;
void DeleteTopicRequest::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& DeleteTopicRequest::topic() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.DeleteTopicRequest.topic)
  return topic_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void DeleteTopicRequest::set_topic(const ::std::string& value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.DeleteTopicRequest.topic)
}
void DeleteTopicRequest::set_topic(const char* value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.DeleteTopicRequest.topic)
}
void DeleteTopicRequest::set_topic(const char* value, size_t size) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.DeleteTopicRequest.topic)
}
::std::string* DeleteTopicRequest::mutable_topic() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.DeleteTopicRequest.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* DeleteTopicRequest::release_topic() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.DeleteTopicRequest.topic)

  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void DeleteTopicRequest::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {

  } else {

  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.DeleteTopicRequest.topic)
}

inline const DeleteTopicRequest* DeleteTopicRequest::internal_default_instance() {
  return &DeleteTopicRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Subscription::kNameFieldNumber;
const int Subscription::kTopicFieldNumber;
const int Subscription::kPushConfigFieldNumber;
const int Subscription::kAckDeadlineSecondsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Subscription::Subscription()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.Subscription)
}

void Subscription::InitAsDefaultInstance() {
  push_config_ = const_cast< ::google::pubsub::v1beta2::PushConfig*>(
      ::google::pubsub::v1beta2::PushConfig::internal_default_instance());
}

Subscription::Subscription(const Subscription& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.Subscription)
}

void Subscription::SharedCtor() {
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  topic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  push_config_ = NULL;
  ack_deadline_seconds_ = 0;
  _cached_size_ = 0;
}

Subscription::~Subscription() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.Subscription)
  SharedDtor();
}

void Subscription::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  topic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != &Subscription_default_instance_.get()) {
    delete push_config_;
  }
}

void Subscription::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* Subscription::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return Subscription_descriptor_;
}

const Subscription& Subscription::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<Subscription> Subscription_default_instance_;

Subscription* Subscription::New(::google::protobuf::Arena* arena) const {
  Subscription* n = new Subscription;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void Subscription::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.Subscription)
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == NULL && push_config_ != NULL) delete push_config_;
  push_config_ = NULL;
  ack_deadline_seconds_ = 0;
}

bool Subscription::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.Subscription)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->name().data(), this->name().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.Subscription.name"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_topic;
        break;
      }

      // optional string topic = 2;
      case 2: {
        if (tag == 18) {
         parse_topic:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_topic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->topic().data(), this->topic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.Subscription.topic"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(34)) goto parse_push_config;
        break;
      }

      // optional .google.pubsub.v1beta2.PushConfig push_config = 4;
      case 4: {
        if (tag == 34) {
         parse_push_config:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_push_config()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(40)) goto parse_ack_deadline_seconds;
        break;
      }

      // optional int32 ack_deadline_seconds = 5;
      case 5: {
        if (tag == 40) {
         parse_ack_deadline_seconds:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &ack_deadline_seconds_)));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.Subscription)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.Subscription)
  return false;
#undef DO_
}

void Subscription::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.Subscription)
  // optional string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Subscription.name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // optional string topic = 2;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Subscription.topic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->topic(), output);
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 4;
  if (this->has_push_config()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      4, *this->push_config_, output);
  }

  // optional int32 ack_deadline_seconds = 5;
  if (this->ack_deadline_seconds() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->ack_deadline_seconds(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.Subscription)
}

::google::protobuf::uint8* Subscription::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.Subscription)
  // optional string name = 1;
  if (this->name().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->name().data(), this->name().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Subscription.name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->name(), target);
  }

  // optional string topic = 2;
  if (this->topic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->topic().data(), this->topic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.Subscription.topic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->topic(), target);
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 4;
  if (this->has_push_config()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        4, *this->push_config_, false, target);
  }

  // optional int32 ack_deadline_seconds = 5;
  if (this->ack_deadline_seconds() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->ack_deadline_seconds(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.Subscription)
  return target;
}

size_t Subscription::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.Subscription)
  size_t total_size = 0;

  // optional string name = 1;
  if (this->name().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  // optional string topic = 2;
  if (this->topic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->topic());
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 4;
  if (this->has_push_config()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->push_config_);
  }

  // optional int32 ack_deadline_seconds = 5;
  if (this->ack_deadline_seconds() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->ack_deadline_seconds());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void Subscription::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.Subscription)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const Subscription* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const Subscription>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.Subscription)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.Subscription)
    UnsafeMergeFrom(*source);
  }
}

void Subscription::MergeFrom(const Subscription& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.Subscription)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void Subscription::UnsafeMergeFrom(const Subscription& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.name().size() > 0) {

    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  if (from.topic().size() > 0) {

    topic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.topic_);
  }
  if (from.has_push_config()) {
    mutable_push_config()->::google::pubsub::v1beta2::PushConfig::MergeFrom(from.push_config());
  }
  if (from.ack_deadline_seconds() != 0) {
    set_ack_deadline_seconds(from.ack_deadline_seconds());
  }
}

void Subscription::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.Subscription)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Subscription::CopyFrom(const Subscription& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.Subscription)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool Subscription::IsInitialized() const {

  return true;
}

void Subscription::Swap(Subscription* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Subscription::InternalSwap(Subscription* other) {
  name_.Swap(&other->name_);
  topic_.Swap(&other->topic_);
  std::swap(push_config_, other->push_config_);
  std::swap(ack_deadline_seconds_, other->ack_deadline_seconds_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata Subscription::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = Subscription_descriptor_;
  metadata.reflection = Subscription_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// Subscription

// optional string name = 1;
void Subscription::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& Subscription::name() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.Subscription.name)
  return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Subscription::set_name(const ::std::string& value) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.Subscription.name)
}
void Subscription::set_name(const char* value) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.Subscription.name)
}
void Subscription::set_name(const char* value, size_t size) {

  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.Subscription.name)
}
::std::string* Subscription::mutable_name() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.Subscription.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* Subscription::release_name() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.Subscription.name)

  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Subscription::set_allocated_name(::std::string* name) {
  if (name != NULL) {

  } else {

  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.Subscription.name)
}

// optional string topic = 2;
void Subscription::clear_topic() {
  topic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& Subscription::topic() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.Subscription.topic)
  return topic_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Subscription::set_topic(const ::std::string& value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.Subscription.topic)
}
void Subscription::set_topic(const char* value) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.Subscription.topic)
}
void Subscription::set_topic(const char* value, size_t size) {

  topic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.Subscription.topic)
}
::std::string* Subscription::mutable_topic() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.Subscription.topic)
  return topic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* Subscription::release_topic() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.Subscription.topic)

  return topic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void Subscription::set_allocated_topic(::std::string* topic) {
  if (topic != NULL) {

  } else {

  }
  topic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), topic);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.Subscription.topic)
}

// optional .google.pubsub.v1beta2.PushConfig push_config = 4;
bool Subscription::has_push_config() const {
  return this != internal_default_instance() && push_config_ != NULL;
}
void Subscription::clear_push_config() {
  if (GetArenaNoVirtual() == NULL && push_config_ != NULL) delete push_config_;
  push_config_ = NULL;
}
const ::google::pubsub::v1beta2::PushConfig& Subscription::push_config() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.Subscription.push_config)
  return push_config_ != NULL ? *push_config_
                         : *::google::pubsub::v1beta2::PushConfig::internal_default_instance();
}
::google::pubsub::v1beta2::PushConfig* Subscription::mutable_push_config() {

  if (push_config_ == NULL) {
    push_config_ = new ::google::pubsub::v1beta2::PushConfig;
  }
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.Subscription.push_config)
  return push_config_;
}
::google::pubsub::v1beta2::PushConfig* Subscription::release_push_config() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.Subscription.push_config)

  ::google::pubsub::v1beta2::PushConfig* temp = push_config_;
  push_config_ = NULL;
  return temp;
}
void Subscription::set_allocated_push_config(::google::pubsub::v1beta2::PushConfig* push_config) {
  delete push_config_;
  push_config_ = push_config;
  if (push_config) {

  } else {

  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.Subscription.push_config)
}

// optional int32 ack_deadline_seconds = 5;
void Subscription::clear_ack_deadline_seconds() {
  ack_deadline_seconds_ = 0;
}
::google::protobuf::int32 Subscription::ack_deadline_seconds() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.Subscription.ack_deadline_seconds)
  return ack_deadline_seconds_;
}
void Subscription::set_ack_deadline_seconds(::google::protobuf::int32 value) {

  ack_deadline_seconds_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.Subscription.ack_deadline_seconds)
}

inline const Subscription* Subscription::internal_default_instance() {
  return &Subscription_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PushConfig::kPushEndpointFieldNumber;
const int PushConfig::kAttributesFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PushConfig::PushConfig()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PushConfig)
}

void PushConfig::InitAsDefaultInstance() {
}

PushConfig::PushConfig(const PushConfig& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PushConfig)
}

void PushConfig::SharedCtor() {
  attributes_.SetAssignDescriptorCallback(
      protobuf_AssignDescriptorsOnce);
  attributes_.SetEntryDescriptor(
      &::google::pubsub::v1beta2::PushConfig_AttributesEntry_descriptor_);
  push_endpoint_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

PushConfig::~PushConfig() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PushConfig)
  SharedDtor();
}

void PushConfig::SharedDtor() {
  push_endpoint_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void PushConfig::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PushConfig::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PushConfig_descriptor_;
}

const PushConfig& PushConfig::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PushConfig> PushConfig_default_instance_;

PushConfig* PushConfig::New(::google::protobuf::Arena* arena) const {
  PushConfig* n = new PushConfig;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PushConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PushConfig)
  push_endpoint_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  attributes_.Clear();
}

bool PushConfig::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PushConfig)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string push_endpoint = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_push_endpoint()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->push_endpoint().data(), this->push_endpoint().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PushConfig.push_endpoint"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_attributes;
        break;
      }

      // map<string, string> attributes = 2;
      case 2: {
        if (tag == 18) {
         parse_attributes:
          DO_(input->IncrementRecursionDepth());
         parse_loop_attributes:
          PushConfig_AttributesEntry::Parser< ::google::protobuf::internal::MapField<
              ::std::string, ::std::string,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              0 >,
            ::google::protobuf::Map< ::std::string, ::std::string > > parser(&attributes_);
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
              input, &parser));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.key().data(), parser.key().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.key"));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.value().data(), parser.value().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PushConfig.AttributesEntry.value"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_loop_attributes;
        input->UnsafeDecrementRecursionDepth();
        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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PushConfig)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PushConfig)
  return false;
#undef DO_
}

void PushConfig::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PushConfig)
  // optional string push_endpoint = 1;
  if (this->push_endpoint().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->push_endpoint().data(), this->push_endpoint().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PushConfig.push_endpoint");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->push_endpoint(), output);
  }

  // map<string, string> attributes = 2;
  if (!this->attributes().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PushConfig.AttributesEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PushConfig.AttributesEntry.value");
      }
    };

    if (output->IsSerializationDeterminstic() &&
        this->attributes().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->attributes().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(attributes_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            2, *entry, output);
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(
            it->first, it->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            2, *entry, output);
        Utf8Check::Check(&*it);
      }
    }
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PushConfig)
}

::google::protobuf::uint8* PushConfig::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PushConfig)
  // optional string push_endpoint = 1;
  if (this->push_endpoint().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->push_endpoint().data(), this->push_endpoint().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PushConfig.push_endpoint");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->push_endpoint(), target);
  }

  // map<string, string> attributes = 2;
  if (!this->attributes().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PushConfig.AttributesEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "google.pubsub.v1beta2.PushConfig.AttributesEntry.value");
      }
    };

    if (deterministic &&
        this->attributes().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->attributes().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(attributes_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       2, *entry, deterministic, target);
;
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->attributes().begin();
          it != this->attributes().end(); ++it) {
        entry.reset(attributes_.NewEntryWrapper(
            it->first, it->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       2, *entry, deterministic, target);
;
        Utf8Check::Check(&*it);
      }
    }
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PushConfig)
  return target;
}

size_t PushConfig::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PushConfig)
  size_t total_size = 0;

  // optional string push_endpoint = 1;
  if (this->push_endpoint().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->push_endpoint());
  }

  // map<string, string> attributes = 2;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->attributes_size());
  {
    ::google::protobuf::scoped_ptr<PushConfig_AttributesEntry> entry;
    for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
        it = this->attributes().begin();
        it != this->attributes().end(); ++it) {
      entry.reset(attributes_.NewEntryWrapper(it->first, it->second));
      total_size += ::google::protobuf::internal::WireFormatLite::
          MessageSizeNoVirtual(*entry);
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PushConfig::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PushConfig)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PushConfig* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PushConfig>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PushConfig)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PushConfig)
    UnsafeMergeFrom(*source);
  }
}

void PushConfig::MergeFrom(const PushConfig& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PushConfig)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PushConfig::UnsafeMergeFrom(const PushConfig& from) {
  GOOGLE_DCHECK(&from != this);
  attributes_.MergeFrom(from.attributes_);
  if (from.push_endpoint().size() > 0) {

    push_endpoint_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.push_endpoint_);
  }
}

void PushConfig::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PushConfig)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PushConfig::CopyFrom(const PushConfig& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PushConfig)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PushConfig::IsInitialized() const {

  return true;
}

void PushConfig::Swap(PushConfig* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PushConfig::InternalSwap(PushConfig* other) {
  push_endpoint_.Swap(&other->push_endpoint_);
  attributes_.Swap(&other->attributes_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PushConfig::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PushConfig_descriptor_;
  metadata.reflection = PushConfig_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PushConfig

// optional string push_endpoint = 1;
void PushConfig::clear_push_endpoint() {
  push_endpoint_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& PushConfig::push_endpoint() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PushConfig.push_endpoint)
  return push_endpoint_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PushConfig::set_push_endpoint(const ::std::string& value) {

  push_endpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PushConfig.push_endpoint)
}
void PushConfig::set_push_endpoint(const char* value) {

  push_endpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PushConfig.push_endpoint)
}
void PushConfig::set_push_endpoint(const char* value, size_t size) {

  push_endpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PushConfig.push_endpoint)
}
::std::string* PushConfig::mutable_push_endpoint() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PushConfig.push_endpoint)
  return push_endpoint_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* PushConfig::release_push_endpoint() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.PushConfig.push_endpoint)

  return push_endpoint_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PushConfig::set_allocated_push_endpoint(::std::string* push_endpoint) {
  if (push_endpoint != NULL) {

  } else {

  }
  push_endpoint_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), push_endpoint);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.PushConfig.push_endpoint)
}

// map<string, string> attributes = 2;
int PushConfig::attributes_size() const {
  return attributes_.size();
}
void PushConfig::clear_attributes() {
  attributes_.Clear();
}
 const ::google::protobuf::Map< ::std::string, ::std::string >&
PushConfig::attributes() const {
  // @@protoc_insertion_point(field_map:google.pubsub.v1beta2.PushConfig.attributes)
  return attributes_.GetMap();
}
 ::google::protobuf::Map< ::std::string, ::std::string >*
PushConfig::mutable_attributes() {
  // @@protoc_insertion_point(field_mutable_map:google.pubsub.v1beta2.PushConfig.attributes)
  return attributes_.MutableMap();
}

inline const PushConfig* PushConfig::internal_default_instance() {
  return &PushConfig_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ReceivedMessage::kAckIdFieldNumber;
const int ReceivedMessage::kMessageFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ReceivedMessage::ReceivedMessage()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ReceivedMessage)
}

void ReceivedMessage::InitAsDefaultInstance() {
  message_ = const_cast< ::google::pubsub::v1beta2::PubsubMessage*>(
      ::google::pubsub::v1beta2::PubsubMessage::internal_default_instance());
}

ReceivedMessage::ReceivedMessage(const ReceivedMessage& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ReceivedMessage)
}

void ReceivedMessage::SharedCtor() {
  ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  message_ = NULL;
  _cached_size_ = 0;
}

ReceivedMessage::~ReceivedMessage() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ReceivedMessage)
  SharedDtor();
}

void ReceivedMessage::SharedDtor() {
  ack_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != &ReceivedMessage_default_instance_.get()) {
    delete message_;
  }
}

void ReceivedMessage::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ReceivedMessage::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ReceivedMessage_descriptor_;
}

const ReceivedMessage& ReceivedMessage::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ReceivedMessage> ReceivedMessage_default_instance_;

ReceivedMessage* ReceivedMessage::New(::google::protobuf::Arena* arena) const {
  ReceivedMessage* n = new ReceivedMessage;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ReceivedMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ReceivedMessage)
  ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == NULL && message_ != NULL) delete message_;
  message_ = NULL;
}

bool ReceivedMessage::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ReceivedMessage)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string ack_id = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_ack_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->ack_id().data(), this->ack_id().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ReceivedMessage.ack_id"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_message;
        break;
      }

      // optional .google.pubsub.v1beta2.PubsubMessage message = 2;
      case 2: {
        if (tag == 18) {
         parse_message:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_message()));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ReceivedMessage)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ReceivedMessage)
  return false;
#undef DO_
}

void ReceivedMessage::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ReceivedMessage)
  // optional string ack_id = 1;
  if (this->ack_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_id().data(), this->ack_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ReceivedMessage.ack_id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->ack_id(), output);
  }

  // optional .google.pubsub.v1beta2.PubsubMessage message = 2;
  if (this->has_message()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, *this->message_, output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ReceivedMessage)
}

::google::protobuf::uint8* ReceivedMessage::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ReceivedMessage)
  // optional string ack_id = 1;
  if (this->ack_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_id().data(), this->ack_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ReceivedMessage.ack_id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->ack_id(), target);
  }

  // optional .google.pubsub.v1beta2.PubsubMessage message = 2;
  if (this->has_message()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        2, *this->message_, false, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ReceivedMessage)
  return target;
}

size_t ReceivedMessage::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ReceivedMessage)
  size_t total_size = 0;

  // optional string ack_id = 1;
  if (this->ack_id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->ack_id());
  }

  // optional .google.pubsub.v1beta2.PubsubMessage message = 2;
  if (this->has_message()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->message_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReceivedMessage::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ReceivedMessage)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ReceivedMessage* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ReceivedMessage>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ReceivedMessage)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ReceivedMessage)
    UnsafeMergeFrom(*source);
  }
}

void ReceivedMessage::MergeFrom(const ReceivedMessage& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ReceivedMessage)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ReceivedMessage::UnsafeMergeFrom(const ReceivedMessage& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.ack_id().size() > 0) {

    ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
  }
  if (from.has_message()) {
    mutable_message()->::google::pubsub::v1beta2::PubsubMessage::MergeFrom(from.message());
  }
}

void ReceivedMessage::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ReceivedMessage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ReceivedMessage::CopyFrom(const ReceivedMessage& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ReceivedMessage)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ReceivedMessage::IsInitialized() const {

  return true;
}

void ReceivedMessage::Swap(ReceivedMessage* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ReceivedMessage::InternalSwap(ReceivedMessage* other) {
  ack_id_.Swap(&other->ack_id_);
  std::swap(message_, other->message_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ReceivedMessage::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ReceivedMessage_descriptor_;
  metadata.reflection = ReceivedMessage_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ReceivedMessage

// optional string ack_id = 1;
void ReceivedMessage::clear_ack_id() {
  ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ReceivedMessage::ack_id() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ReceivedMessage.ack_id)
  return ack_id_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReceivedMessage::set_ack_id(const ::std::string& value) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ReceivedMessage.ack_id)
}
void ReceivedMessage::set_ack_id(const char* value) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ReceivedMessage.ack_id)
}
void ReceivedMessage::set_ack_id(const char* value, size_t size) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ReceivedMessage.ack_id)
}
::std::string* ReceivedMessage::mutable_ack_id() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ReceivedMessage.ack_id)
  return ack_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReceivedMessage::release_ack_id() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ReceivedMessage.ack_id)

  return ack_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReceivedMessage::set_allocated_ack_id(::std::string* ack_id) {
  if (ack_id != NULL) {

  } else {

  }
  ack_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ack_id);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ReceivedMessage.ack_id)
}

// optional .google.pubsub.v1beta2.PubsubMessage message = 2;
bool ReceivedMessage::has_message() const {
  return this != internal_default_instance() && message_ != NULL;
}
void ReceivedMessage::clear_message() {
  if (GetArenaNoVirtual() == NULL && message_ != NULL) delete message_;
  message_ = NULL;
}
const ::google::pubsub::v1beta2::PubsubMessage& ReceivedMessage::message() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ReceivedMessage.message)
  return message_ != NULL ? *message_
                         : *::google::pubsub::v1beta2::PubsubMessage::internal_default_instance();
}
::google::pubsub::v1beta2::PubsubMessage* ReceivedMessage::mutable_message() {

  if (message_ == NULL) {
    message_ = new ::google::pubsub::v1beta2::PubsubMessage;
  }
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ReceivedMessage.message)
  return message_;
}
::google::pubsub::v1beta2::PubsubMessage* ReceivedMessage::release_message() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ReceivedMessage.message)

  ::google::pubsub::v1beta2::PubsubMessage* temp = message_;
  message_ = NULL;
  return temp;
}
void ReceivedMessage::set_allocated_message(::google::pubsub::v1beta2::PubsubMessage* message) {
  delete message_;
  message_ = message;
  if (message) {

  } else {

  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ReceivedMessage.message)
}

inline const ReceivedMessage* ReceivedMessage::internal_default_instance() {
  return &ReceivedMessage_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GetSubscriptionRequest::kSubscriptionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GetSubscriptionRequest::GetSubscriptionRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.GetSubscriptionRequest)
}

void GetSubscriptionRequest::InitAsDefaultInstance() {
}

GetSubscriptionRequest::GetSubscriptionRequest(const GetSubscriptionRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.GetSubscriptionRequest)
}

void GetSubscriptionRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

GetSubscriptionRequest::~GetSubscriptionRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.GetSubscriptionRequest)
  SharedDtor();
}

void GetSubscriptionRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void GetSubscriptionRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* GetSubscriptionRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return GetSubscriptionRequest_descriptor_;
}

const GetSubscriptionRequest& GetSubscriptionRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<GetSubscriptionRequest> GetSubscriptionRequest_default_instance_;

GetSubscriptionRequest* GetSubscriptionRequest::New(::google::protobuf::Arena* arena) const {
  GetSubscriptionRequest* n = new GetSubscriptionRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void GetSubscriptionRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool GetSubscriptionRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.GetSubscriptionRequest.subscription"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.GetSubscriptionRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.GetSubscriptionRequest)
  return false;
#undef DO_
}

void GetSubscriptionRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.GetSubscriptionRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.GetSubscriptionRequest)
}

::google::protobuf::uint8* GetSubscriptionRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.GetSubscriptionRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.GetSubscriptionRequest)
  return target;
}

size_t GetSubscriptionRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void GetSubscriptionRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const GetSubscriptionRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const GetSubscriptionRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.GetSubscriptionRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.GetSubscriptionRequest)
    UnsafeMergeFrom(*source);
  }
}

void GetSubscriptionRequest::MergeFrom(const GetSubscriptionRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void GetSubscriptionRequest::UnsafeMergeFrom(const GetSubscriptionRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
}

void GetSubscriptionRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetSubscriptionRequest::CopyFrom(const GetSubscriptionRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.GetSubscriptionRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool GetSubscriptionRequest::IsInitialized() const {

  return true;
}

void GetSubscriptionRequest::Swap(GetSubscriptionRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GetSubscriptionRequest::InternalSwap(GetSubscriptionRequest* other) {
  subscription_.Swap(&other->subscription_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata GetSubscriptionRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = GetSubscriptionRequest_descriptor_;
  metadata.reflection = GetSubscriptionRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// GetSubscriptionRequest

// optional string subscription = 1;
void GetSubscriptionRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& GetSubscriptionRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void GetSubscriptionRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
}
void GetSubscriptionRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
}
void GetSubscriptionRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
}
::std::string* GetSubscriptionRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* GetSubscriptionRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void GetSubscriptionRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.GetSubscriptionRequest.subscription)
}

inline const GetSubscriptionRequest* GetSubscriptionRequest::internal_default_instance() {
  return &GetSubscriptionRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListSubscriptionsRequest::kProjectFieldNumber;
const int ListSubscriptionsRequest::kPageSizeFieldNumber;
const int ListSubscriptionsRequest::kPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListSubscriptionsRequest::ListSubscriptionsRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
}

void ListSubscriptionsRequest::InitAsDefaultInstance() {
}

ListSubscriptionsRequest::ListSubscriptionsRequest(const ListSubscriptionsRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
}

void ListSubscriptionsRequest::SharedCtor() {
  project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  _cached_size_ = 0;
}

ListSubscriptionsRequest::~ListSubscriptionsRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListSubscriptionsRequest)
  SharedDtor();
}

void ListSubscriptionsRequest::SharedDtor() {
  project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListSubscriptionsRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListSubscriptionsRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListSubscriptionsRequest_descriptor_;
}

const ListSubscriptionsRequest& ListSubscriptionsRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListSubscriptionsRequest> ListSubscriptionsRequest_default_instance_;

ListSubscriptionsRequest* ListSubscriptionsRequest::New(::google::protobuf::Arena* arena) const {
  ListSubscriptionsRequest* n = new ListSubscriptionsRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListSubscriptionsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_size_ = 0;
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool ListSubscriptionsRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string project = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_project()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->project().data(), this->project().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListSubscriptionsRequest.project"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(16)) goto parse_page_size;
        break;
      }

      // optional int32 page_size = 2;
      case 2: {
        if (tag == 16) {
         parse_page_size:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &page_size_)));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(26)) goto parse_page_token;
        break;
      }

      // optional string page_token = 3;
      case 3: {
        if (tag == 26) {
         parse_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->page_token().data(), this->page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListSubscriptionsRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListSubscriptionsRequest)
  return false;
#undef DO_
}

void ListSubscriptionsRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  // optional string project = 1;
  if (this->project().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->project().data(), this->project().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsRequest.project");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->project(), output);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->page_size(), output);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListSubscriptionsRequest)
}

::google::protobuf::uint8* ListSubscriptionsRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  // optional string project = 1;
  if (this->project().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->project().data(), this->project().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsRequest.project");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->project(), target);
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->page_size(), target);
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->page_token().data(), this->page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsRequest.page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListSubscriptionsRequest)
  return target;
}

size_t ListSubscriptionsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  size_t total_size = 0;

  // optional string project = 1;
  if (this->project().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->project());
  }

  // optional int32 page_size = 2;
  if (this->page_size() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->page_size());
  }

  // optional string page_token = 3;
  if (this->page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->page_token());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListSubscriptionsRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListSubscriptionsRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListSubscriptionsRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListSubscriptionsRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListSubscriptionsRequest)
    UnsafeMergeFrom(*source);
  }
}

void ListSubscriptionsRequest::MergeFrom(const ListSubscriptionsRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListSubscriptionsRequest::UnsafeMergeFrom(const ListSubscriptionsRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.project().size() > 0) {

    project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_);
  }
  if (from.page_size() != 0) {
    set_page_size(from.page_size());
  }
  if (from.page_token().size() > 0) {

    page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_token_);
  }
}

void ListSubscriptionsRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListSubscriptionsRequest::CopyFrom(const ListSubscriptionsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListSubscriptionsRequest::IsInitialized() const {

  return true;
}

void ListSubscriptionsRequest::Swap(ListSubscriptionsRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListSubscriptionsRequest::InternalSwap(ListSubscriptionsRequest* other) {
  project_.Swap(&other->project_);
  std::swap(page_size_, other->page_size_);
  page_token_.Swap(&other->page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListSubscriptionsRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListSubscriptionsRequest_descriptor_;
  metadata.reflection = ListSubscriptionsRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListSubscriptionsRequest

// optional string project = 1;
void ListSubscriptionsRequest::clear_project() {
  project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListSubscriptionsRequest::project() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
  return project_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsRequest::set_project(const ::std::string& value) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
}
void ListSubscriptionsRequest::set_project(const char* value) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
}
void ListSubscriptionsRequest::set_project(const char* value, size_t size) {

  project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
}
::std::string* ListSubscriptionsRequest::mutable_project() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
  return project_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListSubscriptionsRequest::release_project() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListSubscriptionsRequest.project)

  return project_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsRequest::set_allocated_project(::std::string* project) {
  if (project != NULL) {

  } else {

  }
  project_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), project);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListSubscriptionsRequest.project)
}

// optional int32 page_size = 2;
void ListSubscriptionsRequest::clear_page_size() {
  page_size_ = 0;
}
::google::protobuf::int32 ListSubscriptionsRequest::page_size() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListSubscriptionsRequest.page_size)
  return page_size_;
}
void ListSubscriptionsRequest::set_page_size(::google::protobuf::int32 value) {

  page_size_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListSubscriptionsRequest.page_size)
}

// optional string page_token = 3;
void ListSubscriptionsRequest::clear_page_token() {
  page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListSubscriptionsRequest::page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
  return page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsRequest::set_page_token(const ::std::string& value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
}
void ListSubscriptionsRequest::set_page_token(const char* value) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
}
void ListSubscriptionsRequest::set_page_token(const char* value, size_t size) {

  page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
}
::std::string* ListSubscriptionsRequest::mutable_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
  return page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListSubscriptionsRequest::release_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)

  return page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsRequest::set_allocated_page_token(::std::string* page_token) {
  if (page_token != NULL) {

  } else {

  }
  page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListSubscriptionsRequest.page_token)
}

inline const ListSubscriptionsRequest* ListSubscriptionsRequest::internal_default_instance() {
  return &ListSubscriptionsRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ListSubscriptionsResponse::kSubscriptionsFieldNumber;
const int ListSubscriptionsResponse::kNextPageTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ListSubscriptionsResponse::ListSubscriptionsResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
}

void ListSubscriptionsResponse::InitAsDefaultInstance() {
}

ListSubscriptionsResponse::ListSubscriptionsResponse(const ListSubscriptionsResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
}

void ListSubscriptionsResponse::SharedCtor() {
  next_page_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

ListSubscriptionsResponse::~ListSubscriptionsResponse() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ListSubscriptionsResponse)
  SharedDtor();
}

void ListSubscriptionsResponse::SharedDtor() {
  next_page_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ListSubscriptionsResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ListSubscriptionsResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ListSubscriptionsResponse_descriptor_;
}

const ListSubscriptionsResponse& ListSubscriptionsResponse::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ListSubscriptionsResponse> ListSubscriptionsResponse_default_instance_;

ListSubscriptionsResponse* ListSubscriptionsResponse::New(::google::protobuf::Arena* arena) const {
  ListSubscriptionsResponse* n = new ListSubscriptionsResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ListSubscriptionsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  subscriptions_.Clear();
}

bool ListSubscriptionsResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
      case 1: {
        if (tag == 10) {
          DO_(input->IncrementRecursionDepth());
         parse_loop_subscriptions:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
                input, add_subscriptions()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(10)) goto parse_loop_subscriptions;
        input->UnsafeDecrementRecursionDepth();
        if (input->ExpectTag(18)) goto parse_next_page_token;
        break;
      }

      // optional string next_page_token = 2;
      case 2: {
        if (tag == 18) {
         parse_next_page_token:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_next_page_token()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->next_page_token().data(), this->next_page_token().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ListSubscriptionsResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ListSubscriptionsResponse)
  return false;
#undef DO_
}

void ListSubscriptionsResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
  for (unsigned int i = 0, n = this->subscriptions_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->subscriptions(i), output);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->next_page_token(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ListSubscriptionsResponse)
}

::google::protobuf::uint8* ListSubscriptionsResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
  for (unsigned int i = 0, n = this->subscriptions_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, this->subscriptions(i), false, target);
  }

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->next_page_token().data(), this->next_page_token().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->next_page_token(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ListSubscriptionsResponse)
  return target;
}

size_t ListSubscriptionsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  size_t total_size = 0;

  // optional string next_page_token = 2;
  if (this->next_page_token().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->next_page_token());
  }

  // repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
  {
    unsigned int count = this->subscriptions_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->subscriptions(i));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ListSubscriptionsResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ListSubscriptionsResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ListSubscriptionsResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ListSubscriptionsResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ListSubscriptionsResponse)
    UnsafeMergeFrom(*source);
  }
}

void ListSubscriptionsResponse::MergeFrom(const ListSubscriptionsResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ListSubscriptionsResponse::UnsafeMergeFrom(const ListSubscriptionsResponse& from) {
  GOOGLE_DCHECK(&from != this);
  subscriptions_.MergeFrom(from.subscriptions_);
  if (from.next_page_token().size() > 0) {

    next_page_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.next_page_token_);
  }
}

void ListSubscriptionsResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ListSubscriptionsResponse::CopyFrom(const ListSubscriptionsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ListSubscriptionsResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ListSubscriptionsResponse::IsInitialized() const {

  return true;
}

void ListSubscriptionsResponse::Swap(ListSubscriptionsResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ListSubscriptionsResponse::InternalSwap(ListSubscriptionsResponse* other) {
  subscriptions_.UnsafeArenaSwap(&other->subscriptions_);
  next_page_token_.Swap(&other->next_page_token_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ListSubscriptionsResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ListSubscriptionsResponse_descriptor_;
  metadata.reflection = ListSubscriptionsResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ListSubscriptionsResponse

// repeated .google.pubsub.v1beta2.Subscription subscriptions = 1;
int ListSubscriptionsResponse::subscriptions_size() const {
  return subscriptions_.size();
}
void ListSubscriptionsResponse::clear_subscriptions() {
  subscriptions_.Clear();
}
const ::google::pubsub::v1beta2::Subscription& ListSubscriptionsResponse::subscriptions(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListSubscriptionsResponse.subscriptions)
  return subscriptions_.Get(index);
}
::google::pubsub::v1beta2::Subscription* ListSubscriptionsResponse::mutable_subscriptions(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListSubscriptionsResponse.subscriptions)
  return subscriptions_.Mutable(index);
}
::google::pubsub::v1beta2::Subscription* ListSubscriptionsResponse::add_subscriptions() {
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.ListSubscriptionsResponse.subscriptions)
  return subscriptions_.Add();
}
::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::Subscription >*
ListSubscriptionsResponse::mutable_subscriptions() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.ListSubscriptionsResponse.subscriptions)
  return &subscriptions_;
}
const ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::Subscription >&
ListSubscriptionsResponse::subscriptions() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.ListSubscriptionsResponse.subscriptions)
  return subscriptions_;
}

// optional string next_page_token = 2;
void ListSubscriptionsResponse::clear_next_page_token() {
  next_page_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ListSubscriptionsResponse::next_page_token() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
  return next_page_token_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsResponse::set_next_page_token(const ::std::string& value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
}
void ListSubscriptionsResponse::set_next_page_token(const char* value) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
}
void ListSubscriptionsResponse::set_next_page_token(const char* value, size_t size) {

  next_page_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
}
::std::string* ListSubscriptionsResponse::mutable_next_page_token() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
  return next_page_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ListSubscriptionsResponse::release_next_page_token() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)

  return next_page_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ListSubscriptionsResponse::set_allocated_next_page_token(::std::string* next_page_token) {
  if (next_page_token != NULL) {

  } else {

  }
  next_page_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), next_page_token);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ListSubscriptionsResponse.next_page_token)
}

inline const ListSubscriptionsResponse* ListSubscriptionsResponse::internal_default_instance() {
  return &ListSubscriptionsResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int DeleteSubscriptionRequest::kSubscriptionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

DeleteSubscriptionRequest::DeleteSubscriptionRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
}

void DeleteSubscriptionRequest::InitAsDefaultInstance() {
}

DeleteSubscriptionRequest::DeleteSubscriptionRequest(const DeleteSubscriptionRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
}

void DeleteSubscriptionRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

DeleteSubscriptionRequest::~DeleteSubscriptionRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  SharedDtor();
}

void DeleteSubscriptionRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void DeleteSubscriptionRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* DeleteSubscriptionRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return DeleteSubscriptionRequest_descriptor_;
}

const DeleteSubscriptionRequest& DeleteSubscriptionRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<DeleteSubscriptionRequest> DeleteSubscriptionRequest_default_instance_;

DeleteSubscriptionRequest* DeleteSubscriptionRequest::New(::google::protobuf::Arena* arena) const {
  DeleteSubscriptionRequest* n = new DeleteSubscriptionRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void DeleteSubscriptionRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool DeleteSubscriptionRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription"));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  return false;
#undef DO_
}

void DeleteSubscriptionRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.DeleteSubscriptionRequest)
}

::google::protobuf::uint8* DeleteSubscriptionRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  return target;
}

size_t DeleteSubscriptionRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void DeleteSubscriptionRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const DeleteSubscriptionRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const DeleteSubscriptionRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.DeleteSubscriptionRequest)
    UnsafeMergeFrom(*source);
  }
}

void DeleteSubscriptionRequest::MergeFrom(const DeleteSubscriptionRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void DeleteSubscriptionRequest::UnsafeMergeFrom(const DeleteSubscriptionRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
}

void DeleteSubscriptionRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void DeleteSubscriptionRequest::CopyFrom(const DeleteSubscriptionRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.DeleteSubscriptionRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool DeleteSubscriptionRequest::IsInitialized() const {

  return true;
}

void DeleteSubscriptionRequest::Swap(DeleteSubscriptionRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void DeleteSubscriptionRequest::InternalSwap(DeleteSubscriptionRequest* other) {
  subscription_.Swap(&other->subscription_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata DeleteSubscriptionRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = DeleteSubscriptionRequest_descriptor_;
  metadata.reflection = DeleteSubscriptionRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// DeleteSubscriptionRequest

// optional string subscription = 1;
void DeleteSubscriptionRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& DeleteSubscriptionRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void DeleteSubscriptionRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
}
void DeleteSubscriptionRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
}
void DeleteSubscriptionRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
}
::std::string* DeleteSubscriptionRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* DeleteSubscriptionRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void DeleteSubscriptionRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.DeleteSubscriptionRequest.subscription)
}

inline const DeleteSubscriptionRequest* DeleteSubscriptionRequest::internal_default_instance() {
  return &DeleteSubscriptionRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ModifyPushConfigRequest::kSubscriptionFieldNumber;
const int ModifyPushConfigRequest::kPushConfigFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ModifyPushConfigRequest::ModifyPushConfigRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
}

void ModifyPushConfigRequest::InitAsDefaultInstance() {
  push_config_ = const_cast< ::google::pubsub::v1beta2::PushConfig*>(
      ::google::pubsub::v1beta2::PushConfig::internal_default_instance());
}

ModifyPushConfigRequest::ModifyPushConfigRequest(const ModifyPushConfigRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
}

void ModifyPushConfigRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  push_config_ = NULL;
  _cached_size_ = 0;
}

ModifyPushConfigRequest::~ModifyPushConfigRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ModifyPushConfigRequest)
  SharedDtor();
}

void ModifyPushConfigRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != &ModifyPushConfigRequest_default_instance_.get()) {
    delete push_config_;
  }
}

void ModifyPushConfigRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ModifyPushConfigRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ModifyPushConfigRequest_descriptor_;
}

const ModifyPushConfigRequest& ModifyPushConfigRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ModifyPushConfigRequest> ModifyPushConfigRequest_default_instance_;

ModifyPushConfigRequest* ModifyPushConfigRequest::New(::google::protobuf::Arena* arena) const {
  ModifyPushConfigRequest* n = new ModifyPushConfigRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ModifyPushConfigRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == NULL && push_config_ != NULL) delete push_config_;
  push_config_ = NULL;
}

bool ModifyPushConfigRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_push_config;
        break;
      }

      // optional .google.pubsub.v1beta2.PushConfig push_config = 2;
      case 2: {
        if (tag == 18) {
         parse_push_config:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_push_config()));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ModifyPushConfigRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ModifyPushConfigRequest)
  return false;
#undef DO_
}

void ModifyPushConfigRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 2;
  if (this->has_push_config()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, *this->push_config_, output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ModifyPushConfigRequest)
}

::google::protobuf::uint8* ModifyPushConfigRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyPushConfigRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 2;
  if (this->has_push_config()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        2, *this->push_config_, false, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ModifyPushConfigRequest)
  return target;
}

size_t ModifyPushConfigRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  // optional .google.pubsub.v1beta2.PushConfig push_config = 2;
  if (this->has_push_config()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->push_config_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ModifyPushConfigRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ModifyPushConfigRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ModifyPushConfigRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ModifyPushConfigRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ModifyPushConfigRequest)
    UnsafeMergeFrom(*source);
  }
}

void ModifyPushConfigRequest::MergeFrom(const ModifyPushConfigRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ModifyPushConfigRequest::UnsafeMergeFrom(const ModifyPushConfigRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
  if (from.has_push_config()) {
    mutable_push_config()->::google::pubsub::v1beta2::PushConfig::MergeFrom(from.push_config());
  }
}

void ModifyPushConfigRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ModifyPushConfigRequest::CopyFrom(const ModifyPushConfigRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ModifyPushConfigRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ModifyPushConfigRequest::IsInitialized() const {

  return true;
}

void ModifyPushConfigRequest::Swap(ModifyPushConfigRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ModifyPushConfigRequest::InternalSwap(ModifyPushConfigRequest* other) {
  subscription_.Swap(&other->subscription_);
  std::swap(push_config_, other->push_config_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ModifyPushConfigRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ModifyPushConfigRequest_descriptor_;
  metadata.reflection = ModifyPushConfigRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ModifyPushConfigRequest

// optional string subscription = 1;
void ModifyPushConfigRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ModifyPushConfigRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyPushConfigRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
}
void ModifyPushConfigRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
}
void ModifyPushConfigRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
}
::std::string* ModifyPushConfigRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ModifyPushConfigRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyPushConfigRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ModifyPushConfigRequest.subscription)
}

// optional .google.pubsub.v1beta2.PushConfig push_config = 2;
bool ModifyPushConfigRequest::has_push_config() const {
  return this != internal_default_instance() && push_config_ != NULL;
}
void ModifyPushConfigRequest::clear_push_config() {
  if (GetArenaNoVirtual() == NULL && push_config_ != NULL) delete push_config_;
  push_config_ = NULL;
}
const ::google::pubsub::v1beta2::PushConfig& ModifyPushConfigRequest::push_config() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ModifyPushConfigRequest.push_config)
  return push_config_ != NULL ? *push_config_
                         : *::google::pubsub::v1beta2::PushConfig::internal_default_instance();
}
::google::pubsub::v1beta2::PushConfig* ModifyPushConfigRequest::mutable_push_config() {

  if (push_config_ == NULL) {
    push_config_ = new ::google::pubsub::v1beta2::PushConfig;
  }
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ModifyPushConfigRequest.push_config)
  return push_config_;
}
::google::pubsub::v1beta2::PushConfig* ModifyPushConfigRequest::release_push_config() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ModifyPushConfigRequest.push_config)

  ::google::pubsub::v1beta2::PushConfig* temp = push_config_;
  push_config_ = NULL;
  return temp;
}
void ModifyPushConfigRequest::set_allocated_push_config(::google::pubsub::v1beta2::PushConfig* push_config) {
  delete push_config_;
  push_config_ = push_config;
  if (push_config) {

  } else {

  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ModifyPushConfigRequest.push_config)
}

inline const ModifyPushConfigRequest* ModifyPushConfigRequest::internal_default_instance() {
  return &ModifyPushConfigRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PullRequest::kSubscriptionFieldNumber;
const int PullRequest::kReturnImmediatelyFieldNumber;
const int PullRequest::kMaxMessagesFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PullRequest::PullRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PullRequest)
}

void PullRequest::InitAsDefaultInstance() {
}

PullRequest::PullRequest(const PullRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PullRequest)
}

void PullRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&return_immediately_, 0, reinterpret_cast<char*>(&max_messages_) -
    reinterpret_cast<char*>(&return_immediately_) + sizeof(max_messages_));
  _cached_size_ = 0;
}

PullRequest::~PullRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PullRequest)
  SharedDtor();
}

void PullRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void PullRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PullRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PullRequest_descriptor_;
}

const PullRequest& PullRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PullRequest> PullRequest_default_instance_;

PullRequest* PullRequest::New(::google::protobuf::Arena* arena) const {
  PullRequest* n = new PullRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PullRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PullRequest)
#if defined(__clang__)
#define ZR_HELPER_(f) \
  _Pragma("clang diagnostic push") \
  _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
  __builtin_offsetof(PullRequest, f) \
  _Pragma("clang diagnostic pop")
#else
#define ZR_HELPER_(f) reinterpret_cast<char*>(\
  &reinterpret_cast<PullRequest*>(16)->f)
#endif

#define ZR_(first, last) do {\
  ::memset(&(first), 0,\
           ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
} while (0)

  ZR_(return_immediately_, max_messages_);
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());

#undef ZR_HELPER_
#undef ZR_

}

bool PullRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PullRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.PullRequest.subscription"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(16)) goto parse_return_immediately;
        break;
      }

      // optional bool return_immediately = 2;
      case 2: {
        if (tag == 16) {
         parse_return_immediately:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &return_immediately_)));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(24)) goto parse_max_messages;
        break;
      }

      // optional int32 max_messages = 3;
      case 3: {
        if (tag == 24) {
         parse_max_messages:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &max_messages_)));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PullRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PullRequest)
  return false;
#undef DO_
}

void PullRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PullRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PullRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // optional bool return_immediately = 2;
  if (this->return_immediately() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->return_immediately(), output);
  }

  // optional int32 max_messages = 3;
  if (this->max_messages() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->max_messages(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PullRequest)
}

::google::protobuf::uint8* PullRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PullRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.PullRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // optional bool return_immediately = 2;
  if (this->return_immediately() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->return_immediately(), target);
  }

  // optional int32 max_messages = 3;
  if (this->max_messages() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->max_messages(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PullRequest)
  return target;
}

size_t PullRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PullRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  // optional bool return_immediately = 2;
  if (this->return_immediately() != 0) {
    total_size += 1 + 1;
  }

  // optional int32 max_messages = 3;
  if (this->max_messages() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->max_messages());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PullRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PullRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PullRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PullRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PullRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PullRequest)
    UnsafeMergeFrom(*source);
  }
}

void PullRequest::MergeFrom(const PullRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PullRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PullRequest::UnsafeMergeFrom(const PullRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
  if (from.return_immediately() != 0) {
    set_return_immediately(from.return_immediately());
  }
  if (from.max_messages() != 0) {
    set_max_messages(from.max_messages());
  }
}

void PullRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PullRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PullRequest::CopyFrom(const PullRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PullRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PullRequest::IsInitialized() const {

  return true;
}

void PullRequest::Swap(PullRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PullRequest::InternalSwap(PullRequest* other) {
  subscription_.Swap(&other->subscription_);
  std::swap(return_immediately_, other->return_immediately_);
  std::swap(max_messages_, other->max_messages_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PullRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PullRequest_descriptor_;
  metadata.reflection = PullRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PullRequest

// optional string subscription = 1;
void PullRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& PullRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PullRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PullRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PullRequest.subscription)
}
void PullRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.PullRequest.subscription)
}
void PullRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.PullRequest.subscription)
}
::std::string* PullRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PullRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* PullRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.PullRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void PullRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.PullRequest.subscription)
}

// optional bool return_immediately = 2;
void PullRequest::clear_return_immediately() {
  return_immediately_ = false;
}
bool PullRequest::return_immediately() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PullRequest.return_immediately)
  return return_immediately_;
}
void PullRequest::set_return_immediately(bool value) {

  return_immediately_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PullRequest.return_immediately)
}

// optional int32 max_messages = 3;
void PullRequest::clear_max_messages() {
  max_messages_ = 0;
}
::google::protobuf::int32 PullRequest::max_messages() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PullRequest.max_messages)
  return max_messages_;
}
void PullRequest::set_max_messages(::google::protobuf::int32 value) {

  max_messages_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.PullRequest.max_messages)
}

inline const PullRequest* PullRequest::internal_default_instance() {
  return &PullRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int PullResponse::kReceivedMessagesFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

PullResponse::PullResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.PullResponse)
}

void PullResponse::InitAsDefaultInstance() {
}

PullResponse::PullResponse(const PullResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.PullResponse)
}

void PullResponse::SharedCtor() {
  _cached_size_ = 0;
}

PullResponse::~PullResponse() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.PullResponse)
  SharedDtor();
}

void PullResponse::SharedDtor() {
}

void PullResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* PullResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return PullResponse_descriptor_;
}

const PullResponse& PullResponse::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<PullResponse> PullResponse_default_instance_;

PullResponse* PullResponse::New(::google::protobuf::Arena* arena) const {
  PullResponse* n = new PullResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void PullResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.PullResponse)
  received_messages_.Clear();
}

bool PullResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.PullResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
      case 1: {
        if (tag == 10) {
          DO_(input->IncrementRecursionDepth());
         parse_loop_received_messages:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
                input, add_received_messages()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(10)) goto parse_loop_received_messages;
        input->UnsafeDecrementRecursionDepth();
        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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.PullResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.PullResponse)
  return false;
#undef DO_
}

void PullResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.PullResponse)
  // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
  for (unsigned int i = 0, n = this->received_messages_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, this->received_messages(i), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.PullResponse)
}

::google::protobuf::uint8* PullResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.PullResponse)
  // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
  for (unsigned int i = 0, n = this->received_messages_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, this->received_messages(i), false, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.PullResponse)
  return target;
}

size_t PullResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.PullResponse)
  size_t total_size = 0;

  // repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
  {
    unsigned int count = this->received_messages_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->received_messages(i));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void PullResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.PullResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const PullResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const PullResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.PullResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.PullResponse)
    UnsafeMergeFrom(*source);
  }
}

void PullResponse::MergeFrom(const PullResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.PullResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void PullResponse::UnsafeMergeFrom(const PullResponse& from) {
  GOOGLE_DCHECK(&from != this);
  received_messages_.MergeFrom(from.received_messages_);
}

void PullResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.PullResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PullResponse::CopyFrom(const PullResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.PullResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool PullResponse::IsInitialized() const {

  return true;
}

void PullResponse::Swap(PullResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void PullResponse::InternalSwap(PullResponse* other) {
  received_messages_.UnsafeArenaSwap(&other->received_messages_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata PullResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = PullResponse_descriptor_;
  metadata.reflection = PullResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// PullResponse

// repeated .google.pubsub.v1beta2.ReceivedMessage received_messages = 1;
int PullResponse::received_messages_size() const {
  return received_messages_.size();
}
void PullResponse::clear_received_messages() {
  received_messages_.Clear();
}
const ::google::pubsub::v1beta2::ReceivedMessage& PullResponse::received_messages(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.PullResponse.received_messages)
  return received_messages_.Get(index);
}
::google::pubsub::v1beta2::ReceivedMessage* PullResponse::mutable_received_messages(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.PullResponse.received_messages)
  return received_messages_.Mutable(index);
}
::google::pubsub::v1beta2::ReceivedMessage* PullResponse::add_received_messages() {
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.PullResponse.received_messages)
  return received_messages_.Add();
}
::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::ReceivedMessage >*
PullResponse::mutable_received_messages() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.PullResponse.received_messages)
  return &received_messages_;
}
const ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1beta2::ReceivedMessage >&
PullResponse::received_messages() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.PullResponse.received_messages)
  return received_messages_;
}

inline const PullResponse* PullResponse::internal_default_instance() {
  return &PullResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ModifyAckDeadlineRequest::kSubscriptionFieldNumber;
const int ModifyAckDeadlineRequest::kAckIdFieldNumber;
const int ModifyAckDeadlineRequest::kAckDeadlineSecondsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ModifyAckDeadlineRequest::ModifyAckDeadlineRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
}

void ModifyAckDeadlineRequest::InitAsDefaultInstance() {
}

ModifyAckDeadlineRequest::ModifyAckDeadlineRequest(const ModifyAckDeadlineRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
}

void ModifyAckDeadlineRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_deadline_seconds_ = 0;
  _cached_size_ = 0;
}

ModifyAckDeadlineRequest::~ModifyAckDeadlineRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  SharedDtor();
}

void ModifyAckDeadlineRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ModifyAckDeadlineRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ModifyAckDeadlineRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return ModifyAckDeadlineRequest_descriptor_;
}

const ModifyAckDeadlineRequest& ModifyAckDeadlineRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<ModifyAckDeadlineRequest> ModifyAckDeadlineRequest_default_instance_;

ModifyAckDeadlineRequest* ModifyAckDeadlineRequest::New(::google::protobuf::Arena* arena) const {
  ModifyAckDeadlineRequest* n = new ModifyAckDeadlineRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ModifyAckDeadlineRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_deadline_seconds_ = 0;
}

bool ModifyAckDeadlineRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_ack_id;
        break;
      }

      // optional string ack_id = 2;
      case 2: {
        if (tag == 18) {
         parse_ack_id:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_ack_id()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->ack_id().data(), this->ack_id().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(24)) goto parse_ack_deadline_seconds;
        break;
      }

      // optional int32 ack_deadline_seconds = 3;
      case 3: {
        if (tag == 24) {
         parse_ack_deadline_seconds:

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &ack_deadline_seconds_)));
        } 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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  return false;
#undef DO_
}

void ModifyAckDeadlineRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // optional string ack_id = 2;
  if (this->ack_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_id().data(), this->ack_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->ack_id(), output);
  }

  // optional int32 ack_deadline_seconds = 3;
  if (this->ack_deadline_seconds() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->ack_deadline_seconds(), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
}

::google::protobuf::uint8* ModifyAckDeadlineRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // optional string ack_id = 2;
  if (this->ack_id().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_id().data(), this->ack_id().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->ack_id(), target);
  }

  // optional int32 ack_deadline_seconds = 3;
  if (this->ack_deadline_seconds() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->ack_deadline_seconds(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  return target;
}

size_t ModifyAckDeadlineRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  // optional string ack_id = 2;
  if (this->ack_id().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->ack_id());
  }

  // optional int32 ack_deadline_seconds = 3;
  if (this->ack_deadline_seconds() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->ack_deadline_seconds());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ModifyAckDeadlineRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const ModifyAckDeadlineRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const ModifyAckDeadlineRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
    UnsafeMergeFrom(*source);
  }
}

void ModifyAckDeadlineRequest::MergeFrom(const ModifyAckDeadlineRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void ModifyAckDeadlineRequest::UnsafeMergeFrom(const ModifyAckDeadlineRequest& from) {
  GOOGLE_DCHECK(&from != this);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
  if (from.ack_id().size() > 0) {

    ack_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ack_id_);
  }
  if (from.ack_deadline_seconds() != 0) {
    set_ack_deadline_seconds(from.ack_deadline_seconds());
  }
}

void ModifyAckDeadlineRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ModifyAckDeadlineRequest::CopyFrom(const ModifyAckDeadlineRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.ModifyAckDeadlineRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool ModifyAckDeadlineRequest::IsInitialized() const {

  return true;
}

void ModifyAckDeadlineRequest::Swap(ModifyAckDeadlineRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ModifyAckDeadlineRequest::InternalSwap(ModifyAckDeadlineRequest* other) {
  subscription_.Swap(&other->subscription_);
  ack_id_.Swap(&other->ack_id_);
  std::swap(ack_deadline_seconds_, other->ack_deadline_seconds_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata ModifyAckDeadlineRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = ModifyAckDeadlineRequest_descriptor_;
  metadata.reflection = ModifyAckDeadlineRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ModifyAckDeadlineRequest

// optional string subscription = 1;
void ModifyAckDeadlineRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ModifyAckDeadlineRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyAckDeadlineRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
}
void ModifyAckDeadlineRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
}
void ModifyAckDeadlineRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
}
::std::string* ModifyAckDeadlineRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ModifyAckDeadlineRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyAckDeadlineRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ModifyAckDeadlineRequest.subscription)
}

// optional string ack_id = 2;
void ModifyAckDeadlineRequest::clear_ack_id() {
  ack_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& ModifyAckDeadlineRequest::ack_id() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
  return ack_id_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyAckDeadlineRequest::set_ack_id(const ::std::string& value) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
}
void ModifyAckDeadlineRequest::set_ack_id(const char* value) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
}
void ModifyAckDeadlineRequest::set_ack_id(const char* value, size_t size) {

  ack_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
}
::std::string* ModifyAckDeadlineRequest::mutable_ack_id() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
  return ack_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ModifyAckDeadlineRequest::release_ack_id() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)

  return ack_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ModifyAckDeadlineRequest::set_allocated_ack_id(::std::string* ack_id) {
  if (ack_id != NULL) {

  } else {

  }
  ack_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ack_id);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_id)
}

// optional int32 ack_deadline_seconds = 3;
void ModifyAckDeadlineRequest::clear_ack_deadline_seconds() {
  ack_deadline_seconds_ = 0;
}
::google::protobuf::int32 ModifyAckDeadlineRequest::ack_deadline_seconds() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_deadline_seconds)
  return ack_deadline_seconds_;
}
void ModifyAckDeadlineRequest::set_ack_deadline_seconds(::google::protobuf::int32 value) {

  ack_deadline_seconds_ = value;
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.ModifyAckDeadlineRequest.ack_deadline_seconds)
}

inline const ModifyAckDeadlineRequest* ModifyAckDeadlineRequest::internal_default_instance() {
  return &ModifyAckDeadlineRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int AcknowledgeRequest::kSubscriptionFieldNumber;
const int AcknowledgeRequest::kAckIdsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

AcknowledgeRequest::AcknowledgeRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.pubsub.v1beta2.AcknowledgeRequest)
}

void AcknowledgeRequest::InitAsDefaultInstance() {
}

AcknowledgeRequest::AcknowledgeRequest(const AcknowledgeRequest& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:google.pubsub.v1beta2.AcknowledgeRequest)
}

void AcknowledgeRequest::SharedCtor() {
  subscription_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

AcknowledgeRequest::~AcknowledgeRequest() {
  // @@protoc_insertion_point(destructor:google.pubsub.v1beta2.AcknowledgeRequest)
  SharedDtor();
}

void AcknowledgeRequest::SharedDtor() {
  subscription_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void AcknowledgeRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* AcknowledgeRequest::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return AcknowledgeRequest_descriptor_;
}

const AcknowledgeRequest& AcknowledgeRequest::default_instance() {
  protobuf_InitDefaults_google_2fpubsub_2fv1beta2_2fpubsub_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<AcknowledgeRequest> AcknowledgeRequest_default_instance_;

AcknowledgeRequest* AcknowledgeRequest::New(::google::protobuf::Arena* arena) const {
  AcknowledgeRequest* n = new AcknowledgeRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void AcknowledgeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:google.pubsub.v1beta2.AcknowledgeRequest)
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ack_ids_.Clear();
}

bool AcknowledgeRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.pubsub.v1beta2.AcknowledgeRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string subscription = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_subscription()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->subscription().data(), this->subscription().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.AcknowledgeRequest.subscription"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_ack_ids;
        break;
      }

      // repeated string ack_ids = 2;
      case 2: {
        if (tag == 18) {
         parse_ack_ids:
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_ack_ids()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->ack_ids(this->ack_ids_size() - 1).data(),
            this->ack_ids(this->ack_ids_size() - 1).length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids"));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_ack_ids;
        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));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.pubsub.v1beta2.AcknowledgeRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.pubsub.v1beta2.AcknowledgeRequest)
  return false;
#undef DO_
}

void AcknowledgeRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.pubsub.v1beta2.AcknowledgeRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.AcknowledgeRequest.subscription");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->subscription(), output);
  }

  // repeated string ack_ids = 2;
  for (int i = 0; i < this->ack_ids_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_ids(i).data(), this->ack_ids(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids");
    ::google::protobuf::internal::WireFormatLite::WriteString(
      2, this->ack_ids(i), output);
  }

  // @@protoc_insertion_point(serialize_end:google.pubsub.v1beta2.AcknowledgeRequest)
}

::google::protobuf::uint8* AcknowledgeRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.pubsub.v1beta2.AcknowledgeRequest)
  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->subscription().data(), this->subscription().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.AcknowledgeRequest.subscription");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->subscription(), target);
  }

  // repeated string ack_ids = 2;
  for (int i = 0; i < this->ack_ids_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->ack_ids(i).data(), this->ack_ids(i).length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "google.pubsub.v1beta2.AcknowledgeRequest.ack_ids");
    target = ::google::protobuf::internal::WireFormatLite::
      WriteStringToArray(2, this->ack_ids(i), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:google.pubsub.v1beta2.AcknowledgeRequest)
  return target;
}

size_t AcknowledgeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.pubsub.v1beta2.AcknowledgeRequest)
  size_t total_size = 0;

  // optional string subscription = 1;
  if (this->subscription().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->subscription());
  }

  // repeated string ack_ids = 2;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->ack_ids_size());
  for (int i = 0; i < this->ack_ids_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->ack_ids(i));
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void AcknowledgeRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const AcknowledgeRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const AcknowledgeRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.pubsub.v1beta2.AcknowledgeRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.pubsub.v1beta2.AcknowledgeRequest)
    UnsafeMergeFrom(*source);
  }
}

void AcknowledgeRequest::MergeFrom(const AcknowledgeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void AcknowledgeRequest::UnsafeMergeFrom(const AcknowledgeRequest& from) {
  GOOGLE_DCHECK(&from != this);
  ack_ids_.UnsafeMergeFrom(from.ack_ids_);
  if (from.subscription().size() > 0) {

    subscription_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.subscription_);
  }
}

void AcknowledgeRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void AcknowledgeRequest::CopyFrom(const AcknowledgeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.pubsub.v1beta2.AcknowledgeRequest)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool AcknowledgeRequest::IsInitialized() const {

  return true;
}

void AcknowledgeRequest::Swap(AcknowledgeRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void AcknowledgeRequest::InternalSwap(AcknowledgeRequest* other) {
  subscription_.Swap(&other->subscription_);
  ack_ids_.UnsafeArenaSwap(&other->ack_ids_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata AcknowledgeRequest::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = AcknowledgeRequest_descriptor_;
  metadata.reflection = AcknowledgeRequest_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// AcknowledgeRequest

// optional string subscription = 1;
void AcknowledgeRequest::clear_subscription() {
  subscription_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& AcknowledgeRequest::subscription() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
  return subscription_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void AcknowledgeRequest::set_subscription(const ::std::string& value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
}
void AcknowledgeRequest::set_subscription(const char* value) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
}
void AcknowledgeRequest::set_subscription(const char* value, size_t size) {

  subscription_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
}
::std::string* AcknowledgeRequest::mutable_subscription() {

  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
  return subscription_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* AcknowledgeRequest::release_subscription() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1beta2.AcknowledgeRequest.subscription)

  return subscription_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void AcknowledgeRequest::set_allocated_subscription(::std::string* subscription) {
  if (subscription != NULL) {

  } else {

  }
  subscription_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1beta2.AcknowledgeRequest.subscription)
}

// repeated string ack_ids = 2;
int AcknowledgeRequest::ack_ids_size() const {
  return ack_ids_.size();
}
void AcknowledgeRequest::clear_ack_ids() {
  ack_ids_.Clear();
}
const ::std::string& AcknowledgeRequest::ack_ids(int index) const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  return ack_ids_.Get(index);
}
::std::string* AcknowledgeRequest::mutable_ack_ids(int index) {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  return ack_ids_.Mutable(index);
}
void AcknowledgeRequest::set_ack_ids(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  ack_ids_.Mutable(index)->assign(value);
}
void AcknowledgeRequest::set_ack_ids(int index, const char* value) {
  ack_ids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
}
void AcknowledgeRequest::set_ack_ids(int index, const char* value, size_t size) {
  ack_ids_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
}
::std::string* AcknowledgeRequest::add_ack_ids() {
  // @@protoc_insertion_point(field_add_mutable:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  return ack_ids_.Add();
}
void AcknowledgeRequest::add_ack_ids(const ::std::string& value) {
  ack_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
}
void AcknowledgeRequest::add_ack_ids(const char* value) {
  ack_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
}
void AcknowledgeRequest::add_ack_ids(const char* value, size_t size) {
  ack_ids_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
AcknowledgeRequest::ack_ids() const {
  // @@protoc_insertion_point(field_list:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  return ack_ids_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
AcknowledgeRequest::mutable_ack_ids() {
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1beta2.AcknowledgeRequest.ack_ids)
  return &ack_ids_;
}

inline const AcknowledgeRequest* AcknowledgeRequest::internal_default_instance() {
  return &AcknowledgeRequest_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

}  // namespace v1beta2
}  // namespace pubsub
}  // namespace google

// @@protoc_insertion_point(global_scope)