All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencent.polaris.client.pb.ServiceProto Maven / Gradle / Ivy

There is a newer version: 1.15.4
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: service.proto

package com.tencent.polaris.client.pb;

public final class ServiceProto {
  private ServiceProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code v1.AliasType}
   */
  public enum AliasType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * DEFAULT = 0;
     */
    DEFAULT(0),
    /**
     * CL5SID = 1;
     */
    CL5SID(1),
    UNRECOGNIZED(-1),
    ;

    /**
     * DEFAULT = 0;
     */
    public static final int DEFAULT_VALUE = 0;
    /**
     * CL5SID = 1;
     */
    public static final int CL5SID_VALUE = 1;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static AliasType valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static AliasType forNumber(int value) {
      switch (value) {
        case 0: return DEFAULT;
        case 1: return CL5SID;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        AliasType> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public AliasType findValueByNumber(int number) {
              return AliasType.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalStateException(
            "Can't get the descriptor of an unrecognized enum value.");
      }
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.getDescriptor().getEnumTypes().get(0);
    }

    private static final AliasType[] VALUES = values();

    public static AliasType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      if (desc.getIndex() == -1) {
        return UNRECOGNIZED;
      }
      return VALUES[desc.getIndex()];
    }

    private final int value;

    private AliasType(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:v1.AliasType)
  }

  public interface NamespaceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.Namespace)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .google.protobuf.StringValue name = 1;
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * .google.protobuf.StringValue name = 1;
     * @return The name.
     */
    com.google.protobuf.StringValue getName();
    /**
     * .google.protobuf.StringValue name = 1;
     */
    com.google.protobuf.StringValueOrBuilder getNameOrBuilder();

    /**
     * .google.protobuf.StringValue comment = 2;
     * @return Whether the comment field is set.
     */
    boolean hasComment();
    /**
     * .google.protobuf.StringValue comment = 2;
     * @return The comment.
     */
    com.google.protobuf.StringValue getComment();
    /**
     * .google.protobuf.StringValue comment = 2;
     */
    com.google.protobuf.StringValueOrBuilder getCommentOrBuilder();

    /**
     * .google.protobuf.StringValue owners = 3;
     * @return Whether the owners field is set.
     */
    boolean hasOwners();
    /**
     * .google.protobuf.StringValue owners = 3;
     * @return The owners.
     */
    com.google.protobuf.StringValue getOwners();
    /**
     * .google.protobuf.StringValue owners = 3;
     */
    com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder();

    /**
     * .google.protobuf.StringValue token = 4;
     * @return Whether the token field is set.
     */
    boolean hasToken();
    /**
     * .google.protobuf.StringValue token = 4;
     * @return The token.
     */
    com.google.protobuf.StringValue getToken();
    /**
     * .google.protobuf.StringValue token = 4;
     */
    com.google.protobuf.StringValueOrBuilder getTokenOrBuilder();

    /**
     * .google.protobuf.StringValue ctime = 5;
     * @return Whether the ctime field is set.
     */
    boolean hasCtime();
    /**
     * .google.protobuf.StringValue ctime = 5;
     * @return The ctime.
     */
    com.google.protobuf.StringValue getCtime();
    /**
     * .google.protobuf.StringValue ctime = 5;
     */
    com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder();

    /**
     * .google.protobuf.StringValue mtime = 6;
     * @return Whether the mtime field is set.
     */
    boolean hasMtime();
    /**
     * .google.protobuf.StringValue mtime = 6;
     * @return The mtime.
     */
    com.google.protobuf.StringValue getMtime();
    /**
     * .google.protobuf.StringValue mtime = 6;
     */
    com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder();
  }
  /**
   * Protobuf type {@code v1.Namespace}
   */
  public static final class Namespace extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.Namespace)
      NamespaceOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Namespace.newBuilder() to construct.
    private Namespace(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Namespace() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Namespace();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Namespace(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (name_ != null) {
                subBuilder = name_.toBuilder();
              }
              name_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(name_);
                name_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (comment_ != null) {
                subBuilder = comment_.toBuilder();
              }
              comment_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(comment_);
                comment_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (owners_ != null) {
                subBuilder = owners_.toBuilder();
              }
              owners_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(owners_);
                owners_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (token_ != null) {
                subBuilder = token_.toBuilder();
              }
              token_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(token_);
                token_ = subBuilder.buildPartial();
              }

              break;
            }
            case 42: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (ctime_ != null) {
                subBuilder = ctime_.toBuilder();
              }
              ctime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ctime_);
                ctime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (mtime_ != null) {
                subBuilder = mtime_.toBuilder();
              }
              mtime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mtime_);
                mtime_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Namespace_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Namespace_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.Namespace.class, com.tencent.polaris.client.pb.ServiceProto.Namespace.Builder.class);
    }

    public static final int NAME_FIELD_NUMBER = 1;
    private com.google.protobuf.StringValue name_;
    /**
     * .google.protobuf.StringValue name = 1;
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return name_ != null;
    }
    /**
     * .google.protobuf.StringValue name = 1;
     * @return The name.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getName() {
      return name_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : name_;
    }
    /**
     * .google.protobuf.StringValue name = 1;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getNameOrBuilder() {
      return getName();
    }

    public static final int COMMENT_FIELD_NUMBER = 2;
    private com.google.protobuf.StringValue comment_;
    /**
     * .google.protobuf.StringValue comment = 2;
     * @return Whether the comment field is set.
     */
    @java.lang.Override
    public boolean hasComment() {
      return comment_ != null;
    }
    /**
     * .google.protobuf.StringValue comment = 2;
     * @return The comment.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getComment() {
      return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
    }
    /**
     * .google.protobuf.StringValue comment = 2;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
      return getComment();
    }

    public static final int OWNERS_FIELD_NUMBER = 3;
    private com.google.protobuf.StringValue owners_;
    /**
     * .google.protobuf.StringValue owners = 3;
     * @return Whether the owners field is set.
     */
    @java.lang.Override
    public boolean hasOwners() {
      return owners_ != null;
    }
    /**
     * .google.protobuf.StringValue owners = 3;
     * @return The owners.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getOwners() {
      return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
    }
    /**
     * .google.protobuf.StringValue owners = 3;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
      return getOwners();
    }

    public static final int TOKEN_FIELD_NUMBER = 4;
    private com.google.protobuf.StringValue token_;
    /**
     * .google.protobuf.StringValue token = 4;
     * @return Whether the token field is set.
     */
    @java.lang.Override
    public boolean hasToken() {
      return token_ != null;
    }
    /**
     * .google.protobuf.StringValue token = 4;
     * @return The token.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getToken() {
      return token_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : token_;
    }
    /**
     * .google.protobuf.StringValue token = 4;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getTokenOrBuilder() {
      return getToken();
    }

    public static final int CTIME_FIELD_NUMBER = 5;
    private com.google.protobuf.StringValue ctime_;
    /**
     * .google.protobuf.StringValue ctime = 5;
     * @return Whether the ctime field is set.
     */
    @java.lang.Override
    public boolean hasCtime() {
      return ctime_ != null;
    }
    /**
     * .google.protobuf.StringValue ctime = 5;
     * @return The ctime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCtime() {
      return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
    }
    /**
     * .google.protobuf.StringValue ctime = 5;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
      return getCtime();
    }

    public static final int MTIME_FIELD_NUMBER = 6;
    private com.google.protobuf.StringValue mtime_;
    /**
     * .google.protobuf.StringValue mtime = 6;
     * @return Whether the mtime field is set.
     */
    @java.lang.Override
    public boolean hasMtime() {
      return mtime_ != null;
    }
    /**
     * .google.protobuf.StringValue mtime = 6;
     * @return The mtime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getMtime() {
      return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
    }
    /**
     * .google.protobuf.StringValue mtime = 6;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
      return getMtime();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (name_ != null) {
        output.writeMessage(1, getName());
      }
      if (comment_ != null) {
        output.writeMessage(2, getComment());
      }
      if (owners_ != null) {
        output.writeMessage(3, getOwners());
      }
      if (token_ != null) {
        output.writeMessage(4, getToken());
      }
      if (ctime_ != null) {
        output.writeMessage(5, getCtime());
      }
      if (mtime_ != null) {
        output.writeMessage(6, getMtime());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (name_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getName());
      }
      if (comment_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getComment());
      }
      if (owners_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getOwners());
      }
      if (token_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getToken());
      }
      if (ctime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getCtime());
      }
      if (mtime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getMtime());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.Namespace)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.Namespace other = (com.tencent.polaris.client.pb.ServiceProto.Namespace) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasComment() != other.hasComment()) return false;
      if (hasComment()) {
        if (!getComment()
            .equals(other.getComment())) return false;
      }
      if (hasOwners() != other.hasOwners()) return false;
      if (hasOwners()) {
        if (!getOwners()
            .equals(other.getOwners())) return false;
      }
      if (hasToken() != other.hasToken()) return false;
      if (hasToken()) {
        if (!getToken()
            .equals(other.getToken())) return false;
      }
      if (hasCtime() != other.hasCtime()) return false;
      if (hasCtime()) {
        if (!getCtime()
            .equals(other.getCtime())) return false;
      }
      if (hasMtime() != other.hasMtime()) return false;
      if (hasMtime()) {
        if (!getMtime()
            .equals(other.getMtime())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasComment()) {
        hash = (37 * hash) + COMMENT_FIELD_NUMBER;
        hash = (53 * hash) + getComment().hashCode();
      }
      if (hasOwners()) {
        hash = (37 * hash) + OWNERS_FIELD_NUMBER;
        hash = (53 * hash) + getOwners().hashCode();
      }
      if (hasToken()) {
        hash = (37 * hash) + TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getToken().hashCode();
      }
      if (hasCtime()) {
        hash = (37 * hash) + CTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCtime().hashCode();
      }
      if (hasMtime()) {
        hash = (37 * hash) + MTIME_FIELD_NUMBER;
        hash = (53 * hash) + getMtime().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Namespace parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.Namespace prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.Namespace}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.Namespace)
        com.tencent.polaris.client.pb.ServiceProto.NamespaceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Namespace_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Namespace_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.Namespace.class, com.tencent.polaris.client.pb.ServiceProto.Namespace.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.Namespace.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (nameBuilder_ == null) {
          name_ = null;
        } else {
          name_ = null;
          nameBuilder_ = null;
        }
        if (commentBuilder_ == null) {
          comment_ = null;
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }
        if (ownersBuilder_ == null) {
          owners_ = null;
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }
        if (tokenBuilder_ == null) {
          token_ = null;
        } else {
          token_ = null;
          tokenBuilder_ = null;
        }
        if (ctimeBuilder_ == null) {
          ctime_ = null;
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }
        if (mtimeBuilder_ == null) {
          mtime_ = null;
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Namespace_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Namespace getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.Namespace.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Namespace build() {
        com.tencent.polaris.client.pb.ServiceProto.Namespace result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Namespace buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.Namespace result = new com.tencent.polaris.client.pb.ServiceProto.Namespace(this);
        if (nameBuilder_ == null) {
          result.name_ = name_;
        } else {
          result.name_ = nameBuilder_.build();
        }
        if (commentBuilder_ == null) {
          result.comment_ = comment_;
        } else {
          result.comment_ = commentBuilder_.build();
        }
        if (ownersBuilder_ == null) {
          result.owners_ = owners_;
        } else {
          result.owners_ = ownersBuilder_.build();
        }
        if (tokenBuilder_ == null) {
          result.token_ = token_;
        } else {
          result.token_ = tokenBuilder_.build();
        }
        if (ctimeBuilder_ == null) {
          result.ctime_ = ctime_;
        } else {
          result.ctime_ = ctimeBuilder_.build();
        }
        if (mtimeBuilder_ == null) {
          result.mtime_ = mtime_;
        } else {
          result.mtime_ = mtimeBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.Namespace) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.Namespace)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.Namespace other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.Namespace.getDefaultInstance()) return this;
        if (other.hasName()) {
          mergeName(other.getName());
        }
        if (other.hasComment()) {
          mergeComment(other.getComment());
        }
        if (other.hasOwners()) {
          mergeOwners(other.getOwners());
        }
        if (other.hasToken()) {
          mergeToken(other.getToken());
        }
        if (other.hasCtime()) {
          mergeCtime(other.getCtime());
        }
        if (other.hasMtime()) {
          mergeMtime(other.getMtime());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.Namespace parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.Namespace) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.StringValue name_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> nameBuilder_;
      /**
       * .google.protobuf.StringValue name = 1;
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return nameBuilder_ != null || name_ != null;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       * @return The name.
       */
      public com.google.protobuf.StringValue getName() {
        if (nameBuilder_ == null) {
          return name_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : name_;
        } else {
          return nameBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder setName(com.google.protobuf.StringValue value) {
        if (nameBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          name_ = value;
          onChanged();
        } else {
          nameBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder setName(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (nameBuilder_ == null) {
          name_ = builderForValue.build();
          onChanged();
        } else {
          nameBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder mergeName(com.google.protobuf.StringValue value) {
        if (nameBuilder_ == null) {
          if (name_ != null) {
            name_ =
              com.google.protobuf.StringValue.newBuilder(name_).mergeFrom(value).buildPartial();
          } else {
            name_ = value;
          }
          onChanged();
        } else {
          nameBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder clearName() {
        if (nameBuilder_ == null) {
          name_ = null;
          onChanged();
        } else {
          name_ = null;
          nameBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public com.google.protobuf.StringValue.Builder getNameBuilder() {
        
        onChanged();
        return getNameFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public com.google.protobuf.StringValueOrBuilder getNameOrBuilder() {
        if (nameBuilder_ != null) {
          return nameBuilder_.getMessageOrBuilder();
        } else {
          return name_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : name_;
        }
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getNameFieldBuilder() {
        if (nameBuilder_ == null) {
          nameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getName(),
                  getParentForChildren(),
                  isClean());
          name_ = null;
        }
        return nameBuilder_;
      }

      private com.google.protobuf.StringValue comment_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> commentBuilder_;
      /**
       * .google.protobuf.StringValue comment = 2;
       * @return Whether the comment field is set.
       */
      public boolean hasComment() {
        return commentBuilder_ != null || comment_ != null;
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       * @return The comment.
       */
      public com.google.protobuf.StringValue getComment() {
        if (commentBuilder_ == null) {
          return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        } else {
          return commentBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public Builder setComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          comment_ = value;
          onChanged();
        } else {
          commentBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public Builder setComment(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (commentBuilder_ == null) {
          comment_ = builderForValue.build();
          onChanged();
        } else {
          commentBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public Builder mergeComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (comment_ != null) {
            comment_ =
              com.google.protobuf.StringValue.newBuilder(comment_).mergeFrom(value).buildPartial();
          } else {
            comment_ = value;
          }
          onChanged();
        } else {
          commentBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public Builder clearComment() {
        if (commentBuilder_ == null) {
          comment_ = null;
          onChanged();
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public com.google.protobuf.StringValue.Builder getCommentBuilder() {
        
        onChanged();
        return getCommentFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
        if (commentBuilder_ != null) {
          return commentBuilder_.getMessageOrBuilder();
        } else {
          return comment_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        }
      }
      /**
       * .google.protobuf.StringValue comment = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCommentFieldBuilder() {
        if (commentBuilder_ == null) {
          commentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getComment(),
                  getParentForChildren(),
                  isClean());
          comment_ = null;
        }
        return commentBuilder_;
      }

      private com.google.protobuf.StringValue owners_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ownersBuilder_;
      /**
       * .google.protobuf.StringValue owners = 3;
       * @return Whether the owners field is set.
       */
      public boolean hasOwners() {
        return ownersBuilder_ != null || owners_ != null;
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       * @return The owners.
       */
      public com.google.protobuf.StringValue getOwners() {
        if (ownersBuilder_ == null) {
          return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        } else {
          return ownersBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public Builder setOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          owners_ = value;
          onChanged();
        } else {
          ownersBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public Builder setOwners(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ownersBuilder_ == null) {
          owners_ = builderForValue.build();
          onChanged();
        } else {
          ownersBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public Builder mergeOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (owners_ != null) {
            owners_ =
              com.google.protobuf.StringValue.newBuilder(owners_).mergeFrom(value).buildPartial();
          } else {
            owners_ = value;
          }
          onChanged();
        } else {
          ownersBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public Builder clearOwners() {
        if (ownersBuilder_ == null) {
          owners_ = null;
          onChanged();
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public com.google.protobuf.StringValue.Builder getOwnersBuilder() {
        
        onChanged();
        return getOwnersFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
        if (ownersBuilder_ != null) {
          return ownersBuilder_.getMessageOrBuilder();
        } else {
          return owners_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        }
      }
      /**
       * .google.protobuf.StringValue owners = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getOwnersFieldBuilder() {
        if (ownersBuilder_ == null) {
          ownersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getOwners(),
                  getParentForChildren(),
                  isClean());
          owners_ = null;
        }
        return ownersBuilder_;
      }

      private com.google.protobuf.StringValue token_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> tokenBuilder_;
      /**
       * .google.protobuf.StringValue token = 4;
       * @return Whether the token field is set.
       */
      public boolean hasToken() {
        return tokenBuilder_ != null || token_ != null;
      }
      /**
       * .google.protobuf.StringValue token = 4;
       * @return The token.
       */
      public com.google.protobuf.StringValue getToken() {
        if (tokenBuilder_ == null) {
          return token_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : token_;
        } else {
          return tokenBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public Builder setToken(com.google.protobuf.StringValue value) {
        if (tokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          token_ = value;
          onChanged();
        } else {
          tokenBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public Builder setToken(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (tokenBuilder_ == null) {
          token_ = builderForValue.build();
          onChanged();
        } else {
          tokenBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public Builder mergeToken(com.google.protobuf.StringValue value) {
        if (tokenBuilder_ == null) {
          if (token_ != null) {
            token_ =
              com.google.protobuf.StringValue.newBuilder(token_).mergeFrom(value).buildPartial();
          } else {
            token_ = value;
          }
          onChanged();
        } else {
          tokenBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public Builder clearToken() {
        if (tokenBuilder_ == null) {
          token_ = null;
          onChanged();
        } else {
          token_ = null;
          tokenBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public com.google.protobuf.StringValue.Builder getTokenBuilder() {
        
        onChanged();
        return getTokenFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      public com.google.protobuf.StringValueOrBuilder getTokenOrBuilder() {
        if (tokenBuilder_ != null) {
          return tokenBuilder_.getMessageOrBuilder();
        } else {
          return token_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : token_;
        }
      }
      /**
       * .google.protobuf.StringValue token = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getTokenFieldBuilder() {
        if (tokenBuilder_ == null) {
          tokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getToken(),
                  getParentForChildren(),
                  isClean());
          token_ = null;
        }
        return tokenBuilder_;
      }

      private com.google.protobuf.StringValue ctime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ctimeBuilder_;
      /**
       * .google.protobuf.StringValue ctime = 5;
       * @return Whether the ctime field is set.
       */
      public boolean hasCtime() {
        return ctimeBuilder_ != null || ctime_ != null;
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       * @return The ctime.
       */
      public com.google.protobuf.StringValue getCtime() {
        if (ctimeBuilder_ == null) {
          return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        } else {
          return ctimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public Builder setCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ctime_ = value;
          onChanged();
        } else {
          ctimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public Builder setCtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ctimeBuilder_ == null) {
          ctime_ = builderForValue.build();
          onChanged();
        } else {
          ctimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public Builder mergeCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (ctime_ != null) {
            ctime_ =
              com.google.protobuf.StringValue.newBuilder(ctime_).mergeFrom(value).buildPartial();
          } else {
            ctime_ = value;
          }
          onChanged();
        } else {
          ctimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public Builder clearCtime() {
        if (ctimeBuilder_ == null) {
          ctime_ = null;
          onChanged();
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public com.google.protobuf.StringValue.Builder getCtimeBuilder() {
        
        onChanged();
        return getCtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
        if (ctimeBuilder_ != null) {
          return ctimeBuilder_.getMessageOrBuilder();
        } else {
          return ctime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCtimeFieldBuilder() {
        if (ctimeBuilder_ == null) {
          ctimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCtime(),
                  getParentForChildren(),
                  isClean());
          ctime_ = null;
        }
        return ctimeBuilder_;
      }

      private com.google.protobuf.StringValue mtime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> mtimeBuilder_;
      /**
       * .google.protobuf.StringValue mtime = 6;
       * @return Whether the mtime field is set.
       */
      public boolean hasMtime() {
        return mtimeBuilder_ != null || mtime_ != null;
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       * @return The mtime.
       */
      public com.google.protobuf.StringValue getMtime() {
        if (mtimeBuilder_ == null) {
          return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        } else {
          return mtimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public Builder setMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mtime_ = value;
          onChanged();
        } else {
          mtimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public Builder setMtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (mtimeBuilder_ == null) {
          mtime_ = builderForValue.build();
          onChanged();
        } else {
          mtimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public Builder mergeMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (mtime_ != null) {
            mtime_ =
              com.google.protobuf.StringValue.newBuilder(mtime_).mergeFrom(value).buildPartial();
          } else {
            mtime_ = value;
          }
          onChanged();
        } else {
          mtimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public Builder clearMtime() {
        if (mtimeBuilder_ == null) {
          mtime_ = null;
          onChanged();
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public com.google.protobuf.StringValue.Builder getMtimeBuilder() {
        
        onChanged();
        return getMtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
        if (mtimeBuilder_ != null) {
          return mtimeBuilder_.getMessageOrBuilder();
        } else {
          return mtime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getMtimeFieldBuilder() {
        if (mtimeBuilder_ == null) {
          mtimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getMtime(),
                  getParentForChildren(),
                  isClean());
          mtime_ = null;
        }
        return mtimeBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.Namespace)
    }

    // @@protoc_insertion_point(class_scope:v1.Namespace)
    private static final com.tencent.polaris.client.pb.ServiceProto.Namespace DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.Namespace();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Namespace getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Namespace parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Namespace(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.Namespace getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ServiceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.Service)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .google.protobuf.StringValue name = 1;
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * .google.protobuf.StringValue name = 1;
     * @return The name.
     */
    com.google.protobuf.StringValue getName();
    /**
     * .google.protobuf.StringValue name = 1;
     */
    com.google.protobuf.StringValueOrBuilder getNameOrBuilder();

    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return Whether the namespace field is set.
     */
    boolean hasNamespace();
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return The namespace.
     */
    com.google.protobuf.StringValue getNamespace();
    /**
     * .google.protobuf.StringValue namespace = 2;
     */
    com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder();

    /**
     * map<string, string> metadata = 3;
     */
    int getMetadataCount();
    /**
     * map<string, string> metadata = 3;
     */
    boolean containsMetadata(
        java.lang.String key);
    /**
     * Use {@link #getMetadataMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getMetadata();
    /**
     * map<string, string> metadata = 3;
     */
    java.util.Map
    getMetadataMap();
    /**
     * map<string, string> metadata = 3;
     */

    java.lang.String getMetadataOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> metadata = 3;
     */

    java.lang.String getMetadataOrThrow(
        java.lang.String key);

    /**
     * .google.protobuf.StringValue ports = 4;
     * @return Whether the ports field is set.
     */
    boolean hasPorts();
    /**
     * .google.protobuf.StringValue ports = 4;
     * @return The ports.
     */
    com.google.protobuf.StringValue getPorts();
    /**
     * .google.protobuf.StringValue ports = 4;
     */
    com.google.protobuf.StringValueOrBuilder getPortsOrBuilder();

    /**
     * .google.protobuf.StringValue business = 5;
     * @return Whether the business field is set.
     */
    boolean hasBusiness();
    /**
     * .google.protobuf.StringValue business = 5;
     * @return The business.
     */
    com.google.protobuf.StringValue getBusiness();
    /**
     * .google.protobuf.StringValue business = 5;
     */
    com.google.protobuf.StringValueOrBuilder getBusinessOrBuilder();

    /**
     * .google.protobuf.StringValue department = 6;
     * @return Whether the department field is set.
     */
    boolean hasDepartment();
    /**
     * .google.protobuf.StringValue department = 6;
     * @return The department.
     */
    com.google.protobuf.StringValue getDepartment();
    /**
     * .google.protobuf.StringValue department = 6;
     */
    com.google.protobuf.StringValueOrBuilder getDepartmentOrBuilder();

    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     * @return Whether the cmdbMod1 field is set.
     */
    boolean hasCmdbMod1();
    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     * @return The cmdbMod1.
     */
    com.google.protobuf.StringValue getCmdbMod1();
    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     */
    com.google.protobuf.StringValueOrBuilder getCmdbMod1OrBuilder();

    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     * @return Whether the cmdbMod2 field is set.
     */
    boolean hasCmdbMod2();
    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     * @return The cmdbMod2.
     */
    com.google.protobuf.StringValue getCmdbMod2();
    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     */
    com.google.protobuf.StringValueOrBuilder getCmdbMod2OrBuilder();

    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     * @return Whether the cmdbMod3 field is set.
     */
    boolean hasCmdbMod3();
    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     * @return The cmdbMod3.
     */
    com.google.protobuf.StringValue getCmdbMod3();
    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     */
    com.google.protobuf.StringValueOrBuilder getCmdbMod3OrBuilder();

    /**
     * .google.protobuf.StringValue comment = 10;
     * @return Whether the comment field is set.
     */
    boolean hasComment();
    /**
     * .google.protobuf.StringValue comment = 10;
     * @return The comment.
     */
    com.google.protobuf.StringValue getComment();
    /**
     * .google.protobuf.StringValue comment = 10;
     */
    com.google.protobuf.StringValueOrBuilder getCommentOrBuilder();

    /**
     * .google.protobuf.StringValue owners = 11;
     * @return Whether the owners field is set.
     */
    boolean hasOwners();
    /**
     * .google.protobuf.StringValue owners = 11;
     * @return The owners.
     */
    com.google.protobuf.StringValue getOwners();
    /**
     * .google.protobuf.StringValue owners = 11;
     */
    com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder();

    /**
     * .google.protobuf.StringValue token = 12;
     * @return Whether the token field is set.
     */
    boolean hasToken();
    /**
     * .google.protobuf.StringValue token = 12;
     * @return The token.
     */
    com.google.protobuf.StringValue getToken();
    /**
     * .google.protobuf.StringValue token = 12;
     */
    com.google.protobuf.StringValueOrBuilder getTokenOrBuilder();

    /**
     * .google.protobuf.StringValue ctime = 13;
     * @return Whether the ctime field is set.
     */
    boolean hasCtime();
    /**
     * .google.protobuf.StringValue ctime = 13;
     * @return The ctime.
     */
    com.google.protobuf.StringValue getCtime();
    /**
     * .google.protobuf.StringValue ctime = 13;
     */
    com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder();

    /**
     * .google.protobuf.StringValue mtime = 14;
     * @return Whether the mtime field is set.
     */
    boolean hasMtime();
    /**
     * .google.protobuf.StringValue mtime = 14;
     * @return The mtime.
     */
    com.google.protobuf.StringValue getMtime();
    /**
     * .google.protobuf.StringValue mtime = 14;
     */
    com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder();

    /**
     * .google.protobuf.StringValue revision = 15;
     * @return Whether the revision field is set.
     */
    boolean hasRevision();
    /**
     * .google.protobuf.StringValue revision = 15;
     * @return The revision.
     */
    com.google.protobuf.StringValue getRevision();
    /**
     * .google.protobuf.StringValue revision = 15;
     */
    com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder();

    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     * @return Whether the platformId field is set.
     */
    boolean hasPlatformId();
    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     * @return The platformId.
     */
    com.google.protobuf.StringValue getPlatformId();
    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     */
    com.google.protobuf.StringValueOrBuilder getPlatformIdOrBuilder();
  }
  /**
   * Protobuf type {@code v1.Service}
   */
  public static final class Service extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.Service)
      ServiceOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Service.newBuilder() to construct.
    private Service(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Service() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Service();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Service(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (name_ != null) {
                subBuilder = name_.toBuilder();
              }
              name_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(name_);
                name_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (namespace_ != null) {
                subBuilder = namespace_.toBuilder();
              }
              namespace_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(namespace_);
                namespace_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                metadata_ = com.google.protobuf.MapField.newMapField(
                    MetadataDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              metadata__ = input.readMessage(
                  MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              metadata_.getMutableMap().put(
                  metadata__.getKey(), metadata__.getValue());
              break;
            }
            case 34: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (ports_ != null) {
                subBuilder = ports_.toBuilder();
              }
              ports_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ports_);
                ports_ = subBuilder.buildPartial();
              }

              break;
            }
            case 42: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (business_ != null) {
                subBuilder = business_.toBuilder();
              }
              business_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(business_);
                business_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (department_ != null) {
                subBuilder = department_.toBuilder();
              }
              department_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(department_);
                department_ = subBuilder.buildPartial();
              }

              break;
            }
            case 58: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (cmdbMod1_ != null) {
                subBuilder = cmdbMod1_.toBuilder();
              }
              cmdbMod1_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cmdbMod1_);
                cmdbMod1_ = subBuilder.buildPartial();
              }

              break;
            }
            case 66: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (cmdbMod2_ != null) {
                subBuilder = cmdbMod2_.toBuilder();
              }
              cmdbMod2_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cmdbMod2_);
                cmdbMod2_ = subBuilder.buildPartial();
              }

              break;
            }
            case 74: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (cmdbMod3_ != null) {
                subBuilder = cmdbMod3_.toBuilder();
              }
              cmdbMod3_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cmdbMod3_);
                cmdbMod3_ = subBuilder.buildPartial();
              }

              break;
            }
            case 82: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (comment_ != null) {
                subBuilder = comment_.toBuilder();
              }
              comment_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(comment_);
                comment_ = subBuilder.buildPartial();
              }

              break;
            }
            case 90: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (owners_ != null) {
                subBuilder = owners_.toBuilder();
              }
              owners_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(owners_);
                owners_ = subBuilder.buildPartial();
              }

              break;
            }
            case 98: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (token_ != null) {
                subBuilder = token_.toBuilder();
              }
              token_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(token_);
                token_ = subBuilder.buildPartial();
              }

              break;
            }
            case 106: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (ctime_ != null) {
                subBuilder = ctime_.toBuilder();
              }
              ctime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ctime_);
                ctime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 114: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (mtime_ != null) {
                subBuilder = mtime_.toBuilder();
              }
              mtime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mtime_);
                mtime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 122: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (revision_ != null) {
                subBuilder = revision_.toBuilder();
              }
              revision_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(revision_);
                revision_ = subBuilder.buildPartial();
              }

              break;
            }
            case 130: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (platformId_ != null) {
                subBuilder = platformId_.toBuilder();
              }
              platformId_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(platformId_);
                platformId_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 3:
          return internalGetMetadata();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.Service.class, com.tencent.polaris.client.pb.ServiceProto.Service.Builder.class);
    }

    public static final int NAME_FIELD_NUMBER = 1;
    private com.google.protobuf.StringValue name_;
    /**
     * .google.protobuf.StringValue name = 1;
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return name_ != null;
    }
    /**
     * .google.protobuf.StringValue name = 1;
     * @return The name.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getName() {
      return name_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : name_;
    }
    /**
     * .google.protobuf.StringValue name = 1;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getNameOrBuilder() {
      return getName();
    }

    public static final int NAMESPACE_FIELD_NUMBER = 2;
    private com.google.protobuf.StringValue namespace_;
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return Whether the namespace field is set.
     */
    @java.lang.Override
    public boolean hasNamespace() {
      return namespace_ != null;
    }
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return The namespace.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getNamespace() {
      return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
    }
    /**
     * .google.protobuf.StringValue namespace = 2;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
      return getNamespace();
    }

    public static final int METADATA_FIELD_NUMBER = 3;
    private static final class MetadataDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_MetadataEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> metadata_;
    private com.google.protobuf.MapField
    internalGetMetadata() {
      if (metadata_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            MetadataDefaultEntryHolder.defaultEntry);
      }
      return metadata_;
    }

    public int getMetadataCount() {
      return internalGetMetadata().getMap().size();
    }
    /**
     * map<string, string> metadata = 3;
     */

    @java.lang.Override
    public boolean containsMetadata(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetMetadata().getMap().containsKey(key);
    }
    /**
     * Use {@link #getMetadataMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getMetadata() {
      return getMetadataMap();
    }
    /**
     * map<string, string> metadata = 3;
     */
    @java.lang.Override

    public java.util.Map getMetadataMap() {
      return internalGetMetadata().getMap();
    }
    /**
     * map<string, string> metadata = 3;
     */
    @java.lang.Override

    public java.lang.String getMetadataOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetMetadata().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> metadata = 3;
     */
    @java.lang.Override

    public java.lang.String getMetadataOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetMetadata().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int PORTS_FIELD_NUMBER = 4;
    private com.google.protobuf.StringValue ports_;
    /**
     * .google.protobuf.StringValue ports = 4;
     * @return Whether the ports field is set.
     */
    @java.lang.Override
    public boolean hasPorts() {
      return ports_ != null;
    }
    /**
     * .google.protobuf.StringValue ports = 4;
     * @return The ports.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getPorts() {
      return ports_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ports_;
    }
    /**
     * .google.protobuf.StringValue ports = 4;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getPortsOrBuilder() {
      return getPorts();
    }

    public static final int BUSINESS_FIELD_NUMBER = 5;
    private com.google.protobuf.StringValue business_;
    /**
     * .google.protobuf.StringValue business = 5;
     * @return Whether the business field is set.
     */
    @java.lang.Override
    public boolean hasBusiness() {
      return business_ != null;
    }
    /**
     * .google.protobuf.StringValue business = 5;
     * @return The business.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getBusiness() {
      return business_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : business_;
    }
    /**
     * .google.protobuf.StringValue business = 5;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getBusinessOrBuilder() {
      return getBusiness();
    }

    public static final int DEPARTMENT_FIELD_NUMBER = 6;
    private com.google.protobuf.StringValue department_;
    /**
     * .google.protobuf.StringValue department = 6;
     * @return Whether the department field is set.
     */
    @java.lang.Override
    public boolean hasDepartment() {
      return department_ != null;
    }
    /**
     * .google.protobuf.StringValue department = 6;
     * @return The department.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getDepartment() {
      return department_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : department_;
    }
    /**
     * .google.protobuf.StringValue department = 6;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getDepartmentOrBuilder() {
      return getDepartment();
    }

    public static final int CMDB_MOD1_FIELD_NUMBER = 7;
    private com.google.protobuf.StringValue cmdbMod1_;
    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     * @return Whether the cmdbMod1 field is set.
     */
    @java.lang.Override
    public boolean hasCmdbMod1() {
      return cmdbMod1_ != null;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     * @return The cmdbMod1.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCmdbMod1() {
      return cmdbMod1_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod1_;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCmdbMod1OrBuilder() {
      return getCmdbMod1();
    }

    public static final int CMDB_MOD2_FIELD_NUMBER = 8;
    private com.google.protobuf.StringValue cmdbMod2_;
    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     * @return Whether the cmdbMod2 field is set.
     */
    @java.lang.Override
    public boolean hasCmdbMod2() {
      return cmdbMod2_ != null;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     * @return The cmdbMod2.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCmdbMod2() {
      return cmdbMod2_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod2_;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCmdbMod2OrBuilder() {
      return getCmdbMod2();
    }

    public static final int CMDB_MOD3_FIELD_NUMBER = 9;
    private com.google.protobuf.StringValue cmdbMod3_;
    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     * @return Whether the cmdbMod3 field is set.
     */
    @java.lang.Override
    public boolean hasCmdbMod3() {
      return cmdbMod3_ != null;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     * @return The cmdbMod3.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCmdbMod3() {
      return cmdbMod3_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod3_;
    }
    /**
     * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCmdbMod3OrBuilder() {
      return getCmdbMod3();
    }

    public static final int COMMENT_FIELD_NUMBER = 10;
    private com.google.protobuf.StringValue comment_;
    /**
     * .google.protobuf.StringValue comment = 10;
     * @return Whether the comment field is set.
     */
    @java.lang.Override
    public boolean hasComment() {
      return comment_ != null;
    }
    /**
     * .google.protobuf.StringValue comment = 10;
     * @return The comment.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getComment() {
      return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
    }
    /**
     * .google.protobuf.StringValue comment = 10;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
      return getComment();
    }

    public static final int OWNERS_FIELD_NUMBER = 11;
    private com.google.protobuf.StringValue owners_;
    /**
     * .google.protobuf.StringValue owners = 11;
     * @return Whether the owners field is set.
     */
    @java.lang.Override
    public boolean hasOwners() {
      return owners_ != null;
    }
    /**
     * .google.protobuf.StringValue owners = 11;
     * @return The owners.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getOwners() {
      return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
    }
    /**
     * .google.protobuf.StringValue owners = 11;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
      return getOwners();
    }

    public static final int TOKEN_FIELD_NUMBER = 12;
    private com.google.protobuf.StringValue token_;
    /**
     * .google.protobuf.StringValue token = 12;
     * @return Whether the token field is set.
     */
    @java.lang.Override
    public boolean hasToken() {
      return token_ != null;
    }
    /**
     * .google.protobuf.StringValue token = 12;
     * @return The token.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getToken() {
      return token_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : token_;
    }
    /**
     * .google.protobuf.StringValue token = 12;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getTokenOrBuilder() {
      return getToken();
    }

    public static final int CTIME_FIELD_NUMBER = 13;
    private com.google.protobuf.StringValue ctime_;
    /**
     * .google.protobuf.StringValue ctime = 13;
     * @return Whether the ctime field is set.
     */
    @java.lang.Override
    public boolean hasCtime() {
      return ctime_ != null;
    }
    /**
     * .google.protobuf.StringValue ctime = 13;
     * @return The ctime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCtime() {
      return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
    }
    /**
     * .google.protobuf.StringValue ctime = 13;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
      return getCtime();
    }

    public static final int MTIME_FIELD_NUMBER = 14;
    private com.google.protobuf.StringValue mtime_;
    /**
     * .google.protobuf.StringValue mtime = 14;
     * @return Whether the mtime field is set.
     */
    @java.lang.Override
    public boolean hasMtime() {
      return mtime_ != null;
    }
    /**
     * .google.protobuf.StringValue mtime = 14;
     * @return The mtime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getMtime() {
      return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
    }
    /**
     * .google.protobuf.StringValue mtime = 14;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
      return getMtime();
    }

    public static final int REVISION_FIELD_NUMBER = 15;
    private com.google.protobuf.StringValue revision_;
    /**
     * .google.protobuf.StringValue revision = 15;
     * @return Whether the revision field is set.
     */
    @java.lang.Override
    public boolean hasRevision() {
      return revision_ != null;
    }
    /**
     * .google.protobuf.StringValue revision = 15;
     * @return The revision.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getRevision() {
      return revision_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : revision_;
    }
    /**
     * .google.protobuf.StringValue revision = 15;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder() {
      return getRevision();
    }

    public static final int PLATFORM_ID_FIELD_NUMBER = 16;
    private com.google.protobuf.StringValue platformId_;
    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     * @return Whether the platformId field is set.
     */
    @java.lang.Override
    public boolean hasPlatformId() {
      return platformId_ != null;
    }
    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     * @return The platformId.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getPlatformId() {
      return platformId_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : platformId_;
    }
    /**
     * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getPlatformIdOrBuilder() {
      return getPlatformId();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (name_ != null) {
        output.writeMessage(1, getName());
      }
      if (namespace_ != null) {
        output.writeMessage(2, getNamespace());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetMetadata(),
          MetadataDefaultEntryHolder.defaultEntry,
          3);
      if (ports_ != null) {
        output.writeMessage(4, getPorts());
      }
      if (business_ != null) {
        output.writeMessage(5, getBusiness());
      }
      if (department_ != null) {
        output.writeMessage(6, getDepartment());
      }
      if (cmdbMod1_ != null) {
        output.writeMessage(7, getCmdbMod1());
      }
      if (cmdbMod2_ != null) {
        output.writeMessage(8, getCmdbMod2());
      }
      if (cmdbMod3_ != null) {
        output.writeMessage(9, getCmdbMod3());
      }
      if (comment_ != null) {
        output.writeMessage(10, getComment());
      }
      if (owners_ != null) {
        output.writeMessage(11, getOwners());
      }
      if (token_ != null) {
        output.writeMessage(12, getToken());
      }
      if (ctime_ != null) {
        output.writeMessage(13, getCtime());
      }
      if (mtime_ != null) {
        output.writeMessage(14, getMtime());
      }
      if (revision_ != null) {
        output.writeMessage(15, getRevision());
      }
      if (platformId_ != null) {
        output.writeMessage(16, getPlatformId());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (name_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getName());
      }
      if (namespace_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getNamespace());
      }
      for (java.util.Map.Entry entry
           : internalGetMetadata().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, metadata__);
      }
      if (ports_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getPorts());
      }
      if (business_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getBusiness());
      }
      if (department_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getDepartment());
      }
      if (cmdbMod1_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getCmdbMod1());
      }
      if (cmdbMod2_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getCmdbMod2());
      }
      if (cmdbMod3_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getCmdbMod3());
      }
      if (comment_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getComment());
      }
      if (owners_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getOwners());
      }
      if (token_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getToken());
      }
      if (ctime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getCtime());
      }
      if (mtime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, getMtime());
      }
      if (revision_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, getRevision());
      }
      if (platformId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getPlatformId());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.Service)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.Service other = (com.tencent.polaris.client.pb.ServiceProto.Service) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasNamespace() != other.hasNamespace()) return false;
      if (hasNamespace()) {
        if (!getNamespace()
            .equals(other.getNamespace())) return false;
      }
      if (!internalGetMetadata().equals(
          other.internalGetMetadata())) return false;
      if (hasPorts() != other.hasPorts()) return false;
      if (hasPorts()) {
        if (!getPorts()
            .equals(other.getPorts())) return false;
      }
      if (hasBusiness() != other.hasBusiness()) return false;
      if (hasBusiness()) {
        if (!getBusiness()
            .equals(other.getBusiness())) return false;
      }
      if (hasDepartment() != other.hasDepartment()) return false;
      if (hasDepartment()) {
        if (!getDepartment()
            .equals(other.getDepartment())) return false;
      }
      if (hasCmdbMod1() != other.hasCmdbMod1()) return false;
      if (hasCmdbMod1()) {
        if (!getCmdbMod1()
            .equals(other.getCmdbMod1())) return false;
      }
      if (hasCmdbMod2() != other.hasCmdbMod2()) return false;
      if (hasCmdbMod2()) {
        if (!getCmdbMod2()
            .equals(other.getCmdbMod2())) return false;
      }
      if (hasCmdbMod3() != other.hasCmdbMod3()) return false;
      if (hasCmdbMod3()) {
        if (!getCmdbMod3()
            .equals(other.getCmdbMod3())) return false;
      }
      if (hasComment() != other.hasComment()) return false;
      if (hasComment()) {
        if (!getComment()
            .equals(other.getComment())) return false;
      }
      if (hasOwners() != other.hasOwners()) return false;
      if (hasOwners()) {
        if (!getOwners()
            .equals(other.getOwners())) return false;
      }
      if (hasToken() != other.hasToken()) return false;
      if (hasToken()) {
        if (!getToken()
            .equals(other.getToken())) return false;
      }
      if (hasCtime() != other.hasCtime()) return false;
      if (hasCtime()) {
        if (!getCtime()
            .equals(other.getCtime())) return false;
      }
      if (hasMtime() != other.hasMtime()) return false;
      if (hasMtime()) {
        if (!getMtime()
            .equals(other.getMtime())) return false;
      }
      if (hasRevision() != other.hasRevision()) return false;
      if (hasRevision()) {
        if (!getRevision()
            .equals(other.getRevision())) return false;
      }
      if (hasPlatformId() != other.hasPlatformId()) return false;
      if (hasPlatformId()) {
        if (!getPlatformId()
            .equals(other.getPlatformId())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasNamespace()) {
        hash = (37 * hash) + NAMESPACE_FIELD_NUMBER;
        hash = (53 * hash) + getNamespace().hashCode();
      }
      if (!internalGetMetadata().getMap().isEmpty()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + internalGetMetadata().hashCode();
      }
      if (hasPorts()) {
        hash = (37 * hash) + PORTS_FIELD_NUMBER;
        hash = (53 * hash) + getPorts().hashCode();
      }
      if (hasBusiness()) {
        hash = (37 * hash) + BUSINESS_FIELD_NUMBER;
        hash = (53 * hash) + getBusiness().hashCode();
      }
      if (hasDepartment()) {
        hash = (37 * hash) + DEPARTMENT_FIELD_NUMBER;
        hash = (53 * hash) + getDepartment().hashCode();
      }
      if (hasCmdbMod1()) {
        hash = (37 * hash) + CMDB_MOD1_FIELD_NUMBER;
        hash = (53 * hash) + getCmdbMod1().hashCode();
      }
      if (hasCmdbMod2()) {
        hash = (37 * hash) + CMDB_MOD2_FIELD_NUMBER;
        hash = (53 * hash) + getCmdbMod2().hashCode();
      }
      if (hasCmdbMod3()) {
        hash = (37 * hash) + CMDB_MOD3_FIELD_NUMBER;
        hash = (53 * hash) + getCmdbMod3().hashCode();
      }
      if (hasComment()) {
        hash = (37 * hash) + COMMENT_FIELD_NUMBER;
        hash = (53 * hash) + getComment().hashCode();
      }
      if (hasOwners()) {
        hash = (37 * hash) + OWNERS_FIELD_NUMBER;
        hash = (53 * hash) + getOwners().hashCode();
      }
      if (hasToken()) {
        hash = (37 * hash) + TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getToken().hashCode();
      }
      if (hasCtime()) {
        hash = (37 * hash) + CTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCtime().hashCode();
      }
      if (hasMtime()) {
        hash = (37 * hash) + MTIME_FIELD_NUMBER;
        hash = (53 * hash) + getMtime().hashCode();
      }
      if (hasRevision()) {
        hash = (37 * hash) + REVISION_FIELD_NUMBER;
        hash = (53 * hash) + getRevision().hashCode();
      }
      if (hasPlatformId()) {
        hash = (37 * hash) + PLATFORM_ID_FIELD_NUMBER;
        hash = (53 * hash) + getPlatformId().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Service parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.Service prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.Service}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.Service)
        com.tencent.polaris.client.pb.ServiceProto.ServiceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetMetadata();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetMutableMetadata();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.Service.class, com.tencent.polaris.client.pb.ServiceProto.Service.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.Service.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (nameBuilder_ == null) {
          name_ = null;
        } else {
          name_ = null;
          nameBuilder_ = null;
        }
        if (namespaceBuilder_ == null) {
          namespace_ = null;
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }
        internalGetMutableMetadata().clear();
        if (portsBuilder_ == null) {
          ports_ = null;
        } else {
          ports_ = null;
          portsBuilder_ = null;
        }
        if (businessBuilder_ == null) {
          business_ = null;
        } else {
          business_ = null;
          businessBuilder_ = null;
        }
        if (departmentBuilder_ == null) {
          department_ = null;
        } else {
          department_ = null;
          departmentBuilder_ = null;
        }
        if (cmdbMod1Builder_ == null) {
          cmdbMod1_ = null;
        } else {
          cmdbMod1_ = null;
          cmdbMod1Builder_ = null;
        }
        if (cmdbMod2Builder_ == null) {
          cmdbMod2_ = null;
        } else {
          cmdbMod2_ = null;
          cmdbMod2Builder_ = null;
        }
        if (cmdbMod3Builder_ == null) {
          cmdbMod3_ = null;
        } else {
          cmdbMod3_ = null;
          cmdbMod3Builder_ = null;
        }
        if (commentBuilder_ == null) {
          comment_ = null;
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }
        if (ownersBuilder_ == null) {
          owners_ = null;
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }
        if (tokenBuilder_ == null) {
          token_ = null;
        } else {
          token_ = null;
          tokenBuilder_ = null;
        }
        if (ctimeBuilder_ == null) {
          ctime_ = null;
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }
        if (mtimeBuilder_ == null) {
          mtime_ = null;
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }
        if (revisionBuilder_ == null) {
          revision_ = null;
        } else {
          revision_ = null;
          revisionBuilder_ = null;
        }
        if (platformIdBuilder_ == null) {
          platformId_ = null;
        } else {
          platformId_ = null;
          platformIdBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Service_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Service getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.Service.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Service build() {
        com.tencent.polaris.client.pb.ServiceProto.Service result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Service buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.Service result = new com.tencent.polaris.client.pb.ServiceProto.Service(this);
        int from_bitField0_ = bitField0_;
        if (nameBuilder_ == null) {
          result.name_ = name_;
        } else {
          result.name_ = nameBuilder_.build();
        }
        if (namespaceBuilder_ == null) {
          result.namespace_ = namespace_;
        } else {
          result.namespace_ = namespaceBuilder_.build();
        }
        result.metadata_ = internalGetMetadata();
        result.metadata_.makeImmutable();
        if (portsBuilder_ == null) {
          result.ports_ = ports_;
        } else {
          result.ports_ = portsBuilder_.build();
        }
        if (businessBuilder_ == null) {
          result.business_ = business_;
        } else {
          result.business_ = businessBuilder_.build();
        }
        if (departmentBuilder_ == null) {
          result.department_ = department_;
        } else {
          result.department_ = departmentBuilder_.build();
        }
        if (cmdbMod1Builder_ == null) {
          result.cmdbMod1_ = cmdbMod1_;
        } else {
          result.cmdbMod1_ = cmdbMod1Builder_.build();
        }
        if (cmdbMod2Builder_ == null) {
          result.cmdbMod2_ = cmdbMod2_;
        } else {
          result.cmdbMod2_ = cmdbMod2Builder_.build();
        }
        if (cmdbMod3Builder_ == null) {
          result.cmdbMod3_ = cmdbMod3_;
        } else {
          result.cmdbMod3_ = cmdbMod3Builder_.build();
        }
        if (commentBuilder_ == null) {
          result.comment_ = comment_;
        } else {
          result.comment_ = commentBuilder_.build();
        }
        if (ownersBuilder_ == null) {
          result.owners_ = owners_;
        } else {
          result.owners_ = ownersBuilder_.build();
        }
        if (tokenBuilder_ == null) {
          result.token_ = token_;
        } else {
          result.token_ = tokenBuilder_.build();
        }
        if (ctimeBuilder_ == null) {
          result.ctime_ = ctime_;
        } else {
          result.ctime_ = ctimeBuilder_.build();
        }
        if (mtimeBuilder_ == null) {
          result.mtime_ = mtime_;
        } else {
          result.mtime_ = mtimeBuilder_.build();
        }
        if (revisionBuilder_ == null) {
          result.revision_ = revision_;
        } else {
          result.revision_ = revisionBuilder_.build();
        }
        if (platformIdBuilder_ == null) {
          result.platformId_ = platformId_;
        } else {
          result.platformId_ = platformIdBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.Service) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.Service)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.Service other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.Service.getDefaultInstance()) return this;
        if (other.hasName()) {
          mergeName(other.getName());
        }
        if (other.hasNamespace()) {
          mergeNamespace(other.getNamespace());
        }
        internalGetMutableMetadata().mergeFrom(
            other.internalGetMetadata());
        if (other.hasPorts()) {
          mergePorts(other.getPorts());
        }
        if (other.hasBusiness()) {
          mergeBusiness(other.getBusiness());
        }
        if (other.hasDepartment()) {
          mergeDepartment(other.getDepartment());
        }
        if (other.hasCmdbMod1()) {
          mergeCmdbMod1(other.getCmdbMod1());
        }
        if (other.hasCmdbMod2()) {
          mergeCmdbMod2(other.getCmdbMod2());
        }
        if (other.hasCmdbMod3()) {
          mergeCmdbMod3(other.getCmdbMod3());
        }
        if (other.hasComment()) {
          mergeComment(other.getComment());
        }
        if (other.hasOwners()) {
          mergeOwners(other.getOwners());
        }
        if (other.hasToken()) {
          mergeToken(other.getToken());
        }
        if (other.hasCtime()) {
          mergeCtime(other.getCtime());
        }
        if (other.hasMtime()) {
          mergeMtime(other.getMtime());
        }
        if (other.hasRevision()) {
          mergeRevision(other.getRevision());
        }
        if (other.hasPlatformId()) {
          mergePlatformId(other.getPlatformId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.Service parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.Service) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.StringValue name_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> nameBuilder_;
      /**
       * .google.protobuf.StringValue name = 1;
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return nameBuilder_ != null || name_ != null;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       * @return The name.
       */
      public com.google.protobuf.StringValue getName() {
        if (nameBuilder_ == null) {
          return name_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : name_;
        } else {
          return nameBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder setName(com.google.protobuf.StringValue value) {
        if (nameBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          name_ = value;
          onChanged();
        } else {
          nameBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder setName(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (nameBuilder_ == null) {
          name_ = builderForValue.build();
          onChanged();
        } else {
          nameBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder mergeName(com.google.protobuf.StringValue value) {
        if (nameBuilder_ == null) {
          if (name_ != null) {
            name_ =
              com.google.protobuf.StringValue.newBuilder(name_).mergeFrom(value).buildPartial();
          } else {
            name_ = value;
          }
          onChanged();
        } else {
          nameBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public Builder clearName() {
        if (nameBuilder_ == null) {
          name_ = null;
          onChanged();
        } else {
          name_ = null;
          nameBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public com.google.protobuf.StringValue.Builder getNameBuilder() {
        
        onChanged();
        return getNameFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      public com.google.protobuf.StringValueOrBuilder getNameOrBuilder() {
        if (nameBuilder_ != null) {
          return nameBuilder_.getMessageOrBuilder();
        } else {
          return name_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : name_;
        }
      }
      /**
       * .google.protobuf.StringValue name = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getNameFieldBuilder() {
        if (nameBuilder_ == null) {
          nameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getName(),
                  getParentForChildren(),
                  isClean());
          name_ = null;
        }
        return nameBuilder_;
      }

      private com.google.protobuf.StringValue namespace_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> namespaceBuilder_;
      /**
       * .google.protobuf.StringValue namespace = 2;
       * @return Whether the namespace field is set.
       */
      public boolean hasNamespace() {
        return namespaceBuilder_ != null || namespace_ != null;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       * @return The namespace.
       */
      public com.google.protobuf.StringValue getNamespace() {
        if (namespaceBuilder_ == null) {
          return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        } else {
          return namespaceBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder setNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          namespace_ = value;
          onChanged();
        } else {
          namespaceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder setNamespace(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (namespaceBuilder_ == null) {
          namespace_ = builderForValue.build();
          onChanged();
        } else {
          namespaceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder mergeNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (namespace_ != null) {
            namespace_ =
              com.google.protobuf.StringValue.newBuilder(namespace_).mergeFrom(value).buildPartial();
          } else {
            namespace_ = value;
          }
          onChanged();
        } else {
          namespaceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder clearNamespace() {
        if (namespaceBuilder_ == null) {
          namespace_ = null;
          onChanged();
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public com.google.protobuf.StringValue.Builder getNamespaceBuilder() {
        
        onChanged();
        return getNamespaceFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
        if (namespaceBuilder_ != null) {
          return namespaceBuilder_.getMessageOrBuilder();
        } else {
          return namespace_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getNamespaceFieldBuilder() {
        if (namespaceBuilder_ == null) {
          namespaceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getNamespace(),
                  getParentForChildren(),
                  isClean());
          namespace_ = null;
        }
        return namespaceBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> metadata_;
      private com.google.protobuf.MapField
      internalGetMetadata() {
        if (metadata_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              MetadataDefaultEntryHolder.defaultEntry);
        }
        return metadata_;
      }
      private com.google.protobuf.MapField
      internalGetMutableMetadata() {
        onChanged();;
        if (metadata_ == null) {
          metadata_ = com.google.protobuf.MapField.newMapField(
              MetadataDefaultEntryHolder.defaultEntry);
        }
        if (!metadata_.isMutable()) {
          metadata_ = metadata_.copy();
        }
        return metadata_;
      }

      public int getMetadataCount() {
        return internalGetMetadata().getMap().size();
      }
      /**
       * map<string, string> metadata = 3;
       */

      @java.lang.Override
      public boolean containsMetadata(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetMetadata().getMap().containsKey(key);
      }
      /**
       * Use {@link #getMetadataMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getMetadata() {
        return getMetadataMap();
      }
      /**
       * map<string, string> metadata = 3;
       */
      @java.lang.Override

      public java.util.Map getMetadataMap() {
        return internalGetMetadata().getMap();
      }
      /**
       * map<string, string> metadata = 3;
       */
      @java.lang.Override

      public java.lang.String getMetadataOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetMetadata().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> metadata = 3;
       */
      @java.lang.Override

      public java.lang.String getMetadataOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetMetadata().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearMetadata() {
        internalGetMutableMetadata().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> metadata = 3;
       */

      public Builder removeMetadata(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableMetadata().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableMetadata() {
        return internalGetMutableMetadata().getMutableMap();
      }
      /**
       * map<string, string> metadata = 3;
       */
      public Builder putMetadata(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableMetadata().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> metadata = 3;
       */

      public Builder putAllMetadata(
          java.util.Map values) {
        internalGetMutableMetadata().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.StringValue ports_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> portsBuilder_;
      /**
       * .google.protobuf.StringValue ports = 4;
       * @return Whether the ports field is set.
       */
      public boolean hasPorts() {
        return portsBuilder_ != null || ports_ != null;
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       * @return The ports.
       */
      public com.google.protobuf.StringValue getPorts() {
        if (portsBuilder_ == null) {
          return ports_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ports_;
        } else {
          return portsBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public Builder setPorts(com.google.protobuf.StringValue value) {
        if (portsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ports_ = value;
          onChanged();
        } else {
          portsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public Builder setPorts(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (portsBuilder_ == null) {
          ports_ = builderForValue.build();
          onChanged();
        } else {
          portsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public Builder mergePorts(com.google.protobuf.StringValue value) {
        if (portsBuilder_ == null) {
          if (ports_ != null) {
            ports_ =
              com.google.protobuf.StringValue.newBuilder(ports_).mergeFrom(value).buildPartial();
          } else {
            ports_ = value;
          }
          onChanged();
        } else {
          portsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public Builder clearPorts() {
        if (portsBuilder_ == null) {
          ports_ = null;
          onChanged();
        } else {
          ports_ = null;
          portsBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public com.google.protobuf.StringValue.Builder getPortsBuilder() {
        
        onChanged();
        return getPortsFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      public com.google.protobuf.StringValueOrBuilder getPortsOrBuilder() {
        if (portsBuilder_ != null) {
          return portsBuilder_.getMessageOrBuilder();
        } else {
          return ports_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : ports_;
        }
      }
      /**
       * .google.protobuf.StringValue ports = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getPortsFieldBuilder() {
        if (portsBuilder_ == null) {
          portsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getPorts(),
                  getParentForChildren(),
                  isClean());
          ports_ = null;
        }
        return portsBuilder_;
      }

      private com.google.protobuf.StringValue business_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> businessBuilder_;
      /**
       * .google.protobuf.StringValue business = 5;
       * @return Whether the business field is set.
       */
      public boolean hasBusiness() {
        return businessBuilder_ != null || business_ != null;
      }
      /**
       * .google.protobuf.StringValue business = 5;
       * @return The business.
       */
      public com.google.protobuf.StringValue getBusiness() {
        if (businessBuilder_ == null) {
          return business_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : business_;
        } else {
          return businessBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public Builder setBusiness(com.google.protobuf.StringValue value) {
        if (businessBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          business_ = value;
          onChanged();
        } else {
          businessBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public Builder setBusiness(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (businessBuilder_ == null) {
          business_ = builderForValue.build();
          onChanged();
        } else {
          businessBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public Builder mergeBusiness(com.google.protobuf.StringValue value) {
        if (businessBuilder_ == null) {
          if (business_ != null) {
            business_ =
              com.google.protobuf.StringValue.newBuilder(business_).mergeFrom(value).buildPartial();
          } else {
            business_ = value;
          }
          onChanged();
        } else {
          businessBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public Builder clearBusiness() {
        if (businessBuilder_ == null) {
          business_ = null;
          onChanged();
        } else {
          business_ = null;
          businessBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public com.google.protobuf.StringValue.Builder getBusinessBuilder() {
        
        onChanged();
        return getBusinessFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      public com.google.protobuf.StringValueOrBuilder getBusinessOrBuilder() {
        if (businessBuilder_ != null) {
          return businessBuilder_.getMessageOrBuilder();
        } else {
          return business_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : business_;
        }
      }
      /**
       * .google.protobuf.StringValue business = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getBusinessFieldBuilder() {
        if (businessBuilder_ == null) {
          businessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getBusiness(),
                  getParentForChildren(),
                  isClean());
          business_ = null;
        }
        return businessBuilder_;
      }

      private com.google.protobuf.StringValue department_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> departmentBuilder_;
      /**
       * .google.protobuf.StringValue department = 6;
       * @return Whether the department field is set.
       */
      public boolean hasDepartment() {
        return departmentBuilder_ != null || department_ != null;
      }
      /**
       * .google.protobuf.StringValue department = 6;
       * @return The department.
       */
      public com.google.protobuf.StringValue getDepartment() {
        if (departmentBuilder_ == null) {
          return department_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : department_;
        } else {
          return departmentBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public Builder setDepartment(com.google.protobuf.StringValue value) {
        if (departmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          department_ = value;
          onChanged();
        } else {
          departmentBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public Builder setDepartment(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (departmentBuilder_ == null) {
          department_ = builderForValue.build();
          onChanged();
        } else {
          departmentBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public Builder mergeDepartment(com.google.protobuf.StringValue value) {
        if (departmentBuilder_ == null) {
          if (department_ != null) {
            department_ =
              com.google.protobuf.StringValue.newBuilder(department_).mergeFrom(value).buildPartial();
          } else {
            department_ = value;
          }
          onChanged();
        } else {
          departmentBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public Builder clearDepartment() {
        if (departmentBuilder_ == null) {
          department_ = null;
          onChanged();
        } else {
          department_ = null;
          departmentBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public com.google.protobuf.StringValue.Builder getDepartmentBuilder() {
        
        onChanged();
        return getDepartmentFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      public com.google.protobuf.StringValueOrBuilder getDepartmentOrBuilder() {
        if (departmentBuilder_ != null) {
          return departmentBuilder_.getMessageOrBuilder();
        } else {
          return department_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : department_;
        }
      }
      /**
       * .google.protobuf.StringValue department = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getDepartmentFieldBuilder() {
        if (departmentBuilder_ == null) {
          departmentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getDepartment(),
                  getParentForChildren(),
                  isClean());
          department_ = null;
        }
        return departmentBuilder_;
      }

      private com.google.protobuf.StringValue cmdbMod1_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> cmdbMod1Builder_;
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       * @return Whether the cmdbMod1 field is set.
       */
      public boolean hasCmdbMod1() {
        return cmdbMod1Builder_ != null || cmdbMod1_ != null;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       * @return The cmdbMod1.
       */
      public com.google.protobuf.StringValue getCmdbMod1() {
        if (cmdbMod1Builder_ == null) {
          return cmdbMod1_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod1_;
        } else {
          return cmdbMod1Builder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public Builder setCmdbMod1(com.google.protobuf.StringValue value) {
        if (cmdbMod1Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cmdbMod1_ = value;
          onChanged();
        } else {
          cmdbMod1Builder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public Builder setCmdbMod1(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (cmdbMod1Builder_ == null) {
          cmdbMod1_ = builderForValue.build();
          onChanged();
        } else {
          cmdbMod1Builder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public Builder mergeCmdbMod1(com.google.protobuf.StringValue value) {
        if (cmdbMod1Builder_ == null) {
          if (cmdbMod1_ != null) {
            cmdbMod1_ =
              com.google.protobuf.StringValue.newBuilder(cmdbMod1_).mergeFrom(value).buildPartial();
          } else {
            cmdbMod1_ = value;
          }
          onChanged();
        } else {
          cmdbMod1Builder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public Builder clearCmdbMod1() {
        if (cmdbMod1Builder_ == null) {
          cmdbMod1_ = null;
          onChanged();
        } else {
          cmdbMod1_ = null;
          cmdbMod1Builder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public com.google.protobuf.StringValue.Builder getCmdbMod1Builder() {
        
        onChanged();
        return getCmdbMod1FieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      public com.google.protobuf.StringValueOrBuilder getCmdbMod1OrBuilder() {
        if (cmdbMod1Builder_ != null) {
          return cmdbMod1Builder_.getMessageOrBuilder();
        } else {
          return cmdbMod1_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod1_;
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod1 = 7[json_name = "cmdb_mod1"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCmdbMod1FieldBuilder() {
        if (cmdbMod1Builder_ == null) {
          cmdbMod1Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCmdbMod1(),
                  getParentForChildren(),
                  isClean());
          cmdbMod1_ = null;
        }
        return cmdbMod1Builder_;
      }

      private com.google.protobuf.StringValue cmdbMod2_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> cmdbMod2Builder_;
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       * @return Whether the cmdbMod2 field is set.
       */
      public boolean hasCmdbMod2() {
        return cmdbMod2Builder_ != null || cmdbMod2_ != null;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       * @return The cmdbMod2.
       */
      public com.google.protobuf.StringValue getCmdbMod2() {
        if (cmdbMod2Builder_ == null) {
          return cmdbMod2_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod2_;
        } else {
          return cmdbMod2Builder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public Builder setCmdbMod2(com.google.protobuf.StringValue value) {
        if (cmdbMod2Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cmdbMod2_ = value;
          onChanged();
        } else {
          cmdbMod2Builder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public Builder setCmdbMod2(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (cmdbMod2Builder_ == null) {
          cmdbMod2_ = builderForValue.build();
          onChanged();
        } else {
          cmdbMod2Builder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public Builder mergeCmdbMod2(com.google.protobuf.StringValue value) {
        if (cmdbMod2Builder_ == null) {
          if (cmdbMod2_ != null) {
            cmdbMod2_ =
              com.google.protobuf.StringValue.newBuilder(cmdbMod2_).mergeFrom(value).buildPartial();
          } else {
            cmdbMod2_ = value;
          }
          onChanged();
        } else {
          cmdbMod2Builder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public Builder clearCmdbMod2() {
        if (cmdbMod2Builder_ == null) {
          cmdbMod2_ = null;
          onChanged();
        } else {
          cmdbMod2_ = null;
          cmdbMod2Builder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public com.google.protobuf.StringValue.Builder getCmdbMod2Builder() {
        
        onChanged();
        return getCmdbMod2FieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      public com.google.protobuf.StringValueOrBuilder getCmdbMod2OrBuilder() {
        if (cmdbMod2Builder_ != null) {
          return cmdbMod2Builder_.getMessageOrBuilder();
        } else {
          return cmdbMod2_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod2_;
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod2 = 8[json_name = "cmdb_mod2"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCmdbMod2FieldBuilder() {
        if (cmdbMod2Builder_ == null) {
          cmdbMod2Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCmdbMod2(),
                  getParentForChildren(),
                  isClean());
          cmdbMod2_ = null;
        }
        return cmdbMod2Builder_;
      }

      private com.google.protobuf.StringValue cmdbMod3_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> cmdbMod3Builder_;
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       * @return Whether the cmdbMod3 field is set.
       */
      public boolean hasCmdbMod3() {
        return cmdbMod3Builder_ != null || cmdbMod3_ != null;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       * @return The cmdbMod3.
       */
      public com.google.protobuf.StringValue getCmdbMod3() {
        if (cmdbMod3Builder_ == null) {
          return cmdbMod3_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod3_;
        } else {
          return cmdbMod3Builder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public Builder setCmdbMod3(com.google.protobuf.StringValue value) {
        if (cmdbMod3Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cmdbMod3_ = value;
          onChanged();
        } else {
          cmdbMod3Builder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public Builder setCmdbMod3(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (cmdbMod3Builder_ == null) {
          cmdbMod3_ = builderForValue.build();
          onChanged();
        } else {
          cmdbMod3Builder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public Builder mergeCmdbMod3(com.google.protobuf.StringValue value) {
        if (cmdbMod3Builder_ == null) {
          if (cmdbMod3_ != null) {
            cmdbMod3_ =
              com.google.protobuf.StringValue.newBuilder(cmdbMod3_).mergeFrom(value).buildPartial();
          } else {
            cmdbMod3_ = value;
          }
          onChanged();
        } else {
          cmdbMod3Builder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public Builder clearCmdbMod3() {
        if (cmdbMod3Builder_ == null) {
          cmdbMod3_ = null;
          onChanged();
        } else {
          cmdbMod3_ = null;
          cmdbMod3Builder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public com.google.protobuf.StringValue.Builder getCmdbMod3Builder() {
        
        onChanged();
        return getCmdbMod3FieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      public com.google.protobuf.StringValueOrBuilder getCmdbMod3OrBuilder() {
        if (cmdbMod3Builder_ != null) {
          return cmdbMod3Builder_.getMessageOrBuilder();
        } else {
          return cmdbMod3_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : cmdbMod3_;
        }
      }
      /**
       * .google.protobuf.StringValue cmdb_mod3 = 9[json_name = "cmdb_mod3"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCmdbMod3FieldBuilder() {
        if (cmdbMod3Builder_ == null) {
          cmdbMod3Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCmdbMod3(),
                  getParentForChildren(),
                  isClean());
          cmdbMod3_ = null;
        }
        return cmdbMod3Builder_;
      }

      private com.google.protobuf.StringValue comment_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> commentBuilder_;
      /**
       * .google.protobuf.StringValue comment = 10;
       * @return Whether the comment field is set.
       */
      public boolean hasComment() {
        return commentBuilder_ != null || comment_ != null;
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       * @return The comment.
       */
      public com.google.protobuf.StringValue getComment() {
        if (commentBuilder_ == null) {
          return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        } else {
          return commentBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public Builder setComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          comment_ = value;
          onChanged();
        } else {
          commentBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public Builder setComment(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (commentBuilder_ == null) {
          comment_ = builderForValue.build();
          onChanged();
        } else {
          commentBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public Builder mergeComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (comment_ != null) {
            comment_ =
              com.google.protobuf.StringValue.newBuilder(comment_).mergeFrom(value).buildPartial();
          } else {
            comment_ = value;
          }
          onChanged();
        } else {
          commentBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public Builder clearComment() {
        if (commentBuilder_ == null) {
          comment_ = null;
          onChanged();
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public com.google.protobuf.StringValue.Builder getCommentBuilder() {
        
        onChanged();
        return getCommentFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
        if (commentBuilder_ != null) {
          return commentBuilder_.getMessageOrBuilder();
        } else {
          return comment_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        }
      }
      /**
       * .google.protobuf.StringValue comment = 10;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCommentFieldBuilder() {
        if (commentBuilder_ == null) {
          commentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getComment(),
                  getParentForChildren(),
                  isClean());
          comment_ = null;
        }
        return commentBuilder_;
      }

      private com.google.protobuf.StringValue owners_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ownersBuilder_;
      /**
       * .google.protobuf.StringValue owners = 11;
       * @return Whether the owners field is set.
       */
      public boolean hasOwners() {
        return ownersBuilder_ != null || owners_ != null;
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       * @return The owners.
       */
      public com.google.protobuf.StringValue getOwners() {
        if (ownersBuilder_ == null) {
          return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        } else {
          return ownersBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public Builder setOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          owners_ = value;
          onChanged();
        } else {
          ownersBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public Builder setOwners(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ownersBuilder_ == null) {
          owners_ = builderForValue.build();
          onChanged();
        } else {
          ownersBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public Builder mergeOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (owners_ != null) {
            owners_ =
              com.google.protobuf.StringValue.newBuilder(owners_).mergeFrom(value).buildPartial();
          } else {
            owners_ = value;
          }
          onChanged();
        } else {
          ownersBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public Builder clearOwners() {
        if (ownersBuilder_ == null) {
          owners_ = null;
          onChanged();
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public com.google.protobuf.StringValue.Builder getOwnersBuilder() {
        
        onChanged();
        return getOwnersFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
        if (ownersBuilder_ != null) {
          return ownersBuilder_.getMessageOrBuilder();
        } else {
          return owners_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        }
      }
      /**
       * .google.protobuf.StringValue owners = 11;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getOwnersFieldBuilder() {
        if (ownersBuilder_ == null) {
          ownersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getOwners(),
                  getParentForChildren(),
                  isClean());
          owners_ = null;
        }
        return ownersBuilder_;
      }

      private com.google.protobuf.StringValue token_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> tokenBuilder_;
      /**
       * .google.protobuf.StringValue token = 12;
       * @return Whether the token field is set.
       */
      public boolean hasToken() {
        return tokenBuilder_ != null || token_ != null;
      }
      /**
       * .google.protobuf.StringValue token = 12;
       * @return The token.
       */
      public com.google.protobuf.StringValue getToken() {
        if (tokenBuilder_ == null) {
          return token_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : token_;
        } else {
          return tokenBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public Builder setToken(com.google.protobuf.StringValue value) {
        if (tokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          token_ = value;
          onChanged();
        } else {
          tokenBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public Builder setToken(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (tokenBuilder_ == null) {
          token_ = builderForValue.build();
          onChanged();
        } else {
          tokenBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public Builder mergeToken(com.google.protobuf.StringValue value) {
        if (tokenBuilder_ == null) {
          if (token_ != null) {
            token_ =
              com.google.protobuf.StringValue.newBuilder(token_).mergeFrom(value).buildPartial();
          } else {
            token_ = value;
          }
          onChanged();
        } else {
          tokenBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public Builder clearToken() {
        if (tokenBuilder_ == null) {
          token_ = null;
          onChanged();
        } else {
          token_ = null;
          tokenBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public com.google.protobuf.StringValue.Builder getTokenBuilder() {
        
        onChanged();
        return getTokenFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      public com.google.protobuf.StringValueOrBuilder getTokenOrBuilder() {
        if (tokenBuilder_ != null) {
          return tokenBuilder_.getMessageOrBuilder();
        } else {
          return token_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : token_;
        }
      }
      /**
       * .google.protobuf.StringValue token = 12;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getTokenFieldBuilder() {
        if (tokenBuilder_ == null) {
          tokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getToken(),
                  getParentForChildren(),
                  isClean());
          token_ = null;
        }
        return tokenBuilder_;
      }

      private com.google.protobuf.StringValue ctime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ctimeBuilder_;
      /**
       * .google.protobuf.StringValue ctime = 13;
       * @return Whether the ctime field is set.
       */
      public boolean hasCtime() {
        return ctimeBuilder_ != null || ctime_ != null;
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       * @return The ctime.
       */
      public com.google.protobuf.StringValue getCtime() {
        if (ctimeBuilder_ == null) {
          return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        } else {
          return ctimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public Builder setCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ctime_ = value;
          onChanged();
        } else {
          ctimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public Builder setCtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ctimeBuilder_ == null) {
          ctime_ = builderForValue.build();
          onChanged();
        } else {
          ctimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public Builder mergeCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (ctime_ != null) {
            ctime_ =
              com.google.protobuf.StringValue.newBuilder(ctime_).mergeFrom(value).buildPartial();
          } else {
            ctime_ = value;
          }
          onChanged();
        } else {
          ctimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public Builder clearCtime() {
        if (ctimeBuilder_ == null) {
          ctime_ = null;
          onChanged();
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public com.google.protobuf.StringValue.Builder getCtimeBuilder() {
        
        onChanged();
        return getCtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
        if (ctimeBuilder_ != null) {
          return ctimeBuilder_.getMessageOrBuilder();
        } else {
          return ctime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 13;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCtimeFieldBuilder() {
        if (ctimeBuilder_ == null) {
          ctimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCtime(),
                  getParentForChildren(),
                  isClean());
          ctime_ = null;
        }
        return ctimeBuilder_;
      }

      private com.google.protobuf.StringValue mtime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> mtimeBuilder_;
      /**
       * .google.protobuf.StringValue mtime = 14;
       * @return Whether the mtime field is set.
       */
      public boolean hasMtime() {
        return mtimeBuilder_ != null || mtime_ != null;
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       * @return The mtime.
       */
      public com.google.protobuf.StringValue getMtime() {
        if (mtimeBuilder_ == null) {
          return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        } else {
          return mtimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public Builder setMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mtime_ = value;
          onChanged();
        } else {
          mtimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public Builder setMtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (mtimeBuilder_ == null) {
          mtime_ = builderForValue.build();
          onChanged();
        } else {
          mtimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public Builder mergeMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (mtime_ != null) {
            mtime_ =
              com.google.protobuf.StringValue.newBuilder(mtime_).mergeFrom(value).buildPartial();
          } else {
            mtime_ = value;
          }
          onChanged();
        } else {
          mtimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public Builder clearMtime() {
        if (mtimeBuilder_ == null) {
          mtime_ = null;
          onChanged();
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public com.google.protobuf.StringValue.Builder getMtimeBuilder() {
        
        onChanged();
        return getMtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
        if (mtimeBuilder_ != null) {
          return mtimeBuilder_.getMessageOrBuilder();
        } else {
          return mtime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 14;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getMtimeFieldBuilder() {
        if (mtimeBuilder_ == null) {
          mtimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getMtime(),
                  getParentForChildren(),
                  isClean());
          mtime_ = null;
        }
        return mtimeBuilder_;
      }

      private com.google.protobuf.StringValue revision_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> revisionBuilder_;
      /**
       * .google.protobuf.StringValue revision = 15;
       * @return Whether the revision field is set.
       */
      public boolean hasRevision() {
        return revisionBuilder_ != null || revision_ != null;
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       * @return The revision.
       */
      public com.google.protobuf.StringValue getRevision() {
        if (revisionBuilder_ == null) {
          return revision_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : revision_;
        } else {
          return revisionBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public Builder setRevision(com.google.protobuf.StringValue value) {
        if (revisionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          revision_ = value;
          onChanged();
        } else {
          revisionBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public Builder setRevision(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (revisionBuilder_ == null) {
          revision_ = builderForValue.build();
          onChanged();
        } else {
          revisionBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public Builder mergeRevision(com.google.protobuf.StringValue value) {
        if (revisionBuilder_ == null) {
          if (revision_ != null) {
            revision_ =
              com.google.protobuf.StringValue.newBuilder(revision_).mergeFrom(value).buildPartial();
          } else {
            revision_ = value;
          }
          onChanged();
        } else {
          revisionBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public Builder clearRevision() {
        if (revisionBuilder_ == null) {
          revision_ = null;
          onChanged();
        } else {
          revision_ = null;
          revisionBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public com.google.protobuf.StringValue.Builder getRevisionBuilder() {
        
        onChanged();
        return getRevisionFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      public com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder() {
        if (revisionBuilder_ != null) {
          return revisionBuilder_.getMessageOrBuilder();
        } else {
          return revision_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : revision_;
        }
      }
      /**
       * .google.protobuf.StringValue revision = 15;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getRevisionFieldBuilder() {
        if (revisionBuilder_ == null) {
          revisionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getRevision(),
                  getParentForChildren(),
                  isClean());
          revision_ = null;
        }
        return revisionBuilder_;
      }

      private com.google.protobuf.StringValue platformId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> platformIdBuilder_;
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       * @return Whether the platformId field is set.
       */
      public boolean hasPlatformId() {
        return platformIdBuilder_ != null || platformId_ != null;
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       * @return The platformId.
       */
      public com.google.protobuf.StringValue getPlatformId() {
        if (platformIdBuilder_ == null) {
          return platformId_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : platformId_;
        } else {
          return platformIdBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public Builder setPlatformId(com.google.protobuf.StringValue value) {
        if (platformIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          platformId_ = value;
          onChanged();
        } else {
          platformIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public Builder setPlatformId(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (platformIdBuilder_ == null) {
          platformId_ = builderForValue.build();
          onChanged();
        } else {
          platformIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public Builder mergePlatformId(com.google.protobuf.StringValue value) {
        if (platformIdBuilder_ == null) {
          if (platformId_ != null) {
            platformId_ =
              com.google.protobuf.StringValue.newBuilder(platformId_).mergeFrom(value).buildPartial();
          } else {
            platformId_ = value;
          }
          onChanged();
        } else {
          platformIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public Builder clearPlatformId() {
        if (platformIdBuilder_ == null) {
          platformId_ = null;
          onChanged();
        } else {
          platformId_ = null;
          platformIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public com.google.protobuf.StringValue.Builder getPlatformIdBuilder() {
        
        onChanged();
        return getPlatformIdFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      public com.google.protobuf.StringValueOrBuilder getPlatformIdOrBuilder() {
        if (platformIdBuilder_ != null) {
          return platformIdBuilder_.getMessageOrBuilder();
        } else {
          return platformId_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : platformId_;
        }
      }
      /**
       * .google.protobuf.StringValue platform_id = 16[json_name = "platform_id"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getPlatformIdFieldBuilder() {
        if (platformIdBuilder_ == null) {
          platformIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getPlatformId(),
                  getParentForChildren(),
                  isClean());
          platformId_ = null;
        }
        return platformIdBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.Service)
    }

    // @@protoc_insertion_point(class_scope:v1.Service)
    private static final com.tencent.polaris.client.pb.ServiceProto.Service DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.Service();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Service getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Service parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Service(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.Service getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ServiceAliasOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.ServiceAlias)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .google.protobuf.StringValue service = 1;
     * @return Whether the service field is set.
     */
    boolean hasService();
    /**
     * .google.protobuf.StringValue service = 1;
     * @return The service.
     */
    com.google.protobuf.StringValue getService();
    /**
     * .google.protobuf.StringValue service = 1;
     */
    com.google.protobuf.StringValueOrBuilder getServiceOrBuilder();

    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return Whether the namespace field is set.
     */
    boolean hasNamespace();
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return The namespace.
     */
    com.google.protobuf.StringValue getNamespace();
    /**
     * .google.protobuf.StringValue namespace = 2;
     */
    com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder();

    /**
     * .google.protobuf.StringValue alias = 3;
     * @return Whether the alias field is set.
     */
    boolean hasAlias();
    /**
     * .google.protobuf.StringValue alias = 3;
     * @return The alias.
     */
    com.google.protobuf.StringValue getAlias();
    /**
     * .google.protobuf.StringValue alias = 3;
     */
    com.google.protobuf.StringValueOrBuilder getAliasOrBuilder();

    /**
     * .v1.AliasType type = 4;
     * @return The enum numeric value on the wire for type.
     */
    int getTypeValue();
    /**
     * .v1.AliasType type = 4;
     * @return The type.
     */
    com.tencent.polaris.client.pb.ServiceProto.AliasType getType();

    /**
     * .google.protobuf.StringValue owners = 8;
     * @return Whether the owners field is set.
     */
    boolean hasOwners();
    /**
     * .google.protobuf.StringValue owners = 8;
     * @return The owners.
     */
    com.google.protobuf.StringValue getOwners();
    /**
     * .google.protobuf.StringValue owners = 8;
     */
    com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder();

    /**
     * .google.protobuf.StringValue comment = 9;
     * @return Whether the comment field is set.
     */
    boolean hasComment();
    /**
     * .google.protobuf.StringValue comment = 9;
     * @return The comment.
     */
    com.google.protobuf.StringValue getComment();
    /**
     * .google.protobuf.StringValue comment = 9;
     */
    com.google.protobuf.StringValueOrBuilder getCommentOrBuilder();

    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     * @return Whether the serviceToken field is set.
     */
    boolean hasServiceToken();
    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     * @return The serviceToken.
     */
    com.google.protobuf.StringValue getServiceToken();
    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     */
    com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder();

    /**
     * .google.protobuf.StringValue ctime = 6;
     * @return Whether the ctime field is set.
     */
    boolean hasCtime();
    /**
     * .google.protobuf.StringValue ctime = 6;
     * @return The ctime.
     */
    com.google.protobuf.StringValue getCtime();
    /**
     * .google.protobuf.StringValue ctime = 6;
     */
    com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder();

    /**
     * .google.protobuf.StringValue mtime = 7;
     * @return Whether the mtime field is set.
     */
    boolean hasMtime();
    /**
     * .google.protobuf.StringValue mtime = 7;
     * @return The mtime.
     */
    com.google.protobuf.StringValue getMtime();
    /**
     * .google.protobuf.StringValue mtime = 7;
     */
    com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder();
  }
  /**
   * Protobuf type {@code v1.ServiceAlias}
   */
  public static final class ServiceAlias extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.ServiceAlias)
      ServiceAliasOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ServiceAlias.newBuilder() to construct.
    private ServiceAlias(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ServiceAlias() {
      type_ = 0;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ServiceAlias();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ServiceAlias(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (service_ != null) {
                subBuilder = service_.toBuilder();
              }
              service_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(service_);
                service_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (namespace_ != null) {
                subBuilder = namespace_.toBuilder();
              }
              namespace_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(namespace_);
                namespace_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (alias_ != null) {
                subBuilder = alias_.toBuilder();
              }
              alias_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(alias_);
                alias_ = subBuilder.buildPartial();
              }

              break;
            }
            case 32: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 42: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (serviceToken_ != null) {
                subBuilder = serviceToken_.toBuilder();
              }
              serviceToken_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(serviceToken_);
                serviceToken_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (ctime_ != null) {
                subBuilder = ctime_.toBuilder();
              }
              ctime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ctime_);
                ctime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 58: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (mtime_ != null) {
                subBuilder = mtime_.toBuilder();
              }
              mtime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mtime_);
                mtime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 66: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (owners_ != null) {
                subBuilder = owners_.toBuilder();
              }
              owners_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(owners_);
                owners_ = subBuilder.buildPartial();
              }

              break;
            }
            case 74: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (comment_ != null) {
                subBuilder = comment_.toBuilder();
              }
              comment_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(comment_);
                comment_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_ServiceAlias_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_ServiceAlias_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.class, com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.Builder.class);
    }

    public static final int SERVICE_FIELD_NUMBER = 1;
    private com.google.protobuf.StringValue service_;
    /**
     * .google.protobuf.StringValue service = 1;
     * @return Whether the service field is set.
     */
    @java.lang.Override
    public boolean hasService() {
      return service_ != null;
    }
    /**
     * .google.protobuf.StringValue service = 1;
     * @return The service.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getService() {
      return service_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : service_;
    }
    /**
     * .google.protobuf.StringValue service = 1;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getServiceOrBuilder() {
      return getService();
    }

    public static final int NAMESPACE_FIELD_NUMBER = 2;
    private com.google.protobuf.StringValue namespace_;
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return Whether the namespace field is set.
     */
    @java.lang.Override
    public boolean hasNamespace() {
      return namespace_ != null;
    }
    /**
     * .google.protobuf.StringValue namespace = 2;
     * @return The namespace.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getNamespace() {
      return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
    }
    /**
     * .google.protobuf.StringValue namespace = 2;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
      return getNamespace();
    }

    public static final int ALIAS_FIELD_NUMBER = 3;
    private com.google.protobuf.StringValue alias_;
    /**
     * .google.protobuf.StringValue alias = 3;
     * @return Whether the alias field is set.
     */
    @java.lang.Override
    public boolean hasAlias() {
      return alias_ != null;
    }
    /**
     * .google.protobuf.StringValue alias = 3;
     * @return The alias.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getAlias() {
      return alias_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : alias_;
    }
    /**
     * .google.protobuf.StringValue alias = 3;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getAliasOrBuilder() {
      return getAlias();
    }

    public static final int TYPE_FIELD_NUMBER = 4;
    private int type_;
    /**
     * .v1.AliasType type = 4;
     * @return The enum numeric value on the wire for type.
     */
    @java.lang.Override public int getTypeValue() {
      return type_;
    }
    /**
     * .v1.AliasType type = 4;
     * @return The type.
     */
    @java.lang.Override public com.tencent.polaris.client.pb.ServiceProto.AliasType getType() {
      @SuppressWarnings("deprecation")
      com.tencent.polaris.client.pb.ServiceProto.AliasType result = com.tencent.polaris.client.pb.ServiceProto.AliasType.valueOf(type_);
      return result == null ? com.tencent.polaris.client.pb.ServiceProto.AliasType.UNRECOGNIZED : result;
    }

    public static final int OWNERS_FIELD_NUMBER = 8;
    private com.google.protobuf.StringValue owners_;
    /**
     * .google.protobuf.StringValue owners = 8;
     * @return Whether the owners field is set.
     */
    @java.lang.Override
    public boolean hasOwners() {
      return owners_ != null;
    }
    /**
     * .google.protobuf.StringValue owners = 8;
     * @return The owners.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getOwners() {
      return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
    }
    /**
     * .google.protobuf.StringValue owners = 8;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
      return getOwners();
    }

    public static final int COMMENT_FIELD_NUMBER = 9;
    private com.google.protobuf.StringValue comment_;
    /**
     * .google.protobuf.StringValue comment = 9;
     * @return Whether the comment field is set.
     */
    @java.lang.Override
    public boolean hasComment() {
      return comment_ != null;
    }
    /**
     * .google.protobuf.StringValue comment = 9;
     * @return The comment.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getComment() {
      return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
    }
    /**
     * .google.protobuf.StringValue comment = 9;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
      return getComment();
    }

    public static final int SERVICE_TOKEN_FIELD_NUMBER = 5;
    private com.google.protobuf.StringValue serviceToken_;
    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     * @return Whether the serviceToken field is set.
     */
    @java.lang.Override
    public boolean hasServiceToken() {
      return serviceToken_ != null;
    }
    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     * @return The serviceToken.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getServiceToken() {
      return serviceToken_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
    }
    /**
     * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder() {
      return getServiceToken();
    }

    public static final int CTIME_FIELD_NUMBER = 6;
    private com.google.protobuf.StringValue ctime_;
    /**
     * .google.protobuf.StringValue ctime = 6;
     * @return Whether the ctime field is set.
     */
    @java.lang.Override
    public boolean hasCtime() {
      return ctime_ != null;
    }
    /**
     * .google.protobuf.StringValue ctime = 6;
     * @return The ctime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCtime() {
      return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
    }
    /**
     * .google.protobuf.StringValue ctime = 6;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
      return getCtime();
    }

    public static final int MTIME_FIELD_NUMBER = 7;
    private com.google.protobuf.StringValue mtime_;
    /**
     * .google.protobuf.StringValue mtime = 7;
     * @return Whether the mtime field is set.
     */
    @java.lang.Override
    public boolean hasMtime() {
      return mtime_ != null;
    }
    /**
     * .google.protobuf.StringValue mtime = 7;
     * @return The mtime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getMtime() {
      return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
    }
    /**
     * .google.protobuf.StringValue mtime = 7;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
      return getMtime();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (service_ != null) {
        output.writeMessage(1, getService());
      }
      if (namespace_ != null) {
        output.writeMessage(2, getNamespace());
      }
      if (alias_ != null) {
        output.writeMessage(3, getAlias());
      }
      if (type_ != com.tencent.polaris.client.pb.ServiceProto.AliasType.DEFAULT.getNumber()) {
        output.writeEnum(4, type_);
      }
      if (serviceToken_ != null) {
        output.writeMessage(5, getServiceToken());
      }
      if (ctime_ != null) {
        output.writeMessage(6, getCtime());
      }
      if (mtime_ != null) {
        output.writeMessage(7, getMtime());
      }
      if (owners_ != null) {
        output.writeMessage(8, getOwners());
      }
      if (comment_ != null) {
        output.writeMessage(9, getComment());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (service_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getService());
      }
      if (namespace_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getNamespace());
      }
      if (alias_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getAlias());
      }
      if (type_ != com.tencent.polaris.client.pb.ServiceProto.AliasType.DEFAULT.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, type_);
      }
      if (serviceToken_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getServiceToken());
      }
      if (ctime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getCtime());
      }
      if (mtime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getMtime());
      }
      if (owners_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getOwners());
      }
      if (comment_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getComment());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.ServiceAlias)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.ServiceAlias other = (com.tencent.polaris.client.pb.ServiceProto.ServiceAlias) obj;

      if (hasService() != other.hasService()) return false;
      if (hasService()) {
        if (!getService()
            .equals(other.getService())) return false;
      }
      if (hasNamespace() != other.hasNamespace()) return false;
      if (hasNamespace()) {
        if (!getNamespace()
            .equals(other.getNamespace())) return false;
      }
      if (hasAlias() != other.hasAlias()) return false;
      if (hasAlias()) {
        if (!getAlias()
            .equals(other.getAlias())) return false;
      }
      if (type_ != other.type_) return false;
      if (hasOwners() != other.hasOwners()) return false;
      if (hasOwners()) {
        if (!getOwners()
            .equals(other.getOwners())) return false;
      }
      if (hasComment() != other.hasComment()) return false;
      if (hasComment()) {
        if (!getComment()
            .equals(other.getComment())) return false;
      }
      if (hasServiceToken() != other.hasServiceToken()) return false;
      if (hasServiceToken()) {
        if (!getServiceToken()
            .equals(other.getServiceToken())) return false;
      }
      if (hasCtime() != other.hasCtime()) return false;
      if (hasCtime()) {
        if (!getCtime()
            .equals(other.getCtime())) return false;
      }
      if (hasMtime() != other.hasMtime()) return false;
      if (hasMtime()) {
        if (!getMtime()
            .equals(other.getMtime())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasService()) {
        hash = (37 * hash) + SERVICE_FIELD_NUMBER;
        hash = (53 * hash) + getService().hashCode();
      }
      if (hasNamespace()) {
        hash = (37 * hash) + NAMESPACE_FIELD_NUMBER;
        hash = (53 * hash) + getNamespace().hashCode();
      }
      if (hasAlias()) {
        hash = (37 * hash) + ALIAS_FIELD_NUMBER;
        hash = (53 * hash) + getAlias().hashCode();
      }
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      if (hasOwners()) {
        hash = (37 * hash) + OWNERS_FIELD_NUMBER;
        hash = (53 * hash) + getOwners().hashCode();
      }
      if (hasComment()) {
        hash = (37 * hash) + COMMENT_FIELD_NUMBER;
        hash = (53 * hash) + getComment().hashCode();
      }
      if (hasServiceToken()) {
        hash = (37 * hash) + SERVICE_TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getServiceToken().hashCode();
      }
      if (hasCtime()) {
        hash = (37 * hash) + CTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCtime().hashCode();
      }
      if (hasMtime()) {
        hash = (37 * hash) + MTIME_FIELD_NUMBER;
        hash = (53 * hash) + getMtime().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.ServiceAlias prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.ServiceAlias}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.ServiceAlias)
        com.tencent.polaris.client.pb.ServiceProto.ServiceAliasOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_ServiceAlias_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_ServiceAlias_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.class, com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (serviceBuilder_ == null) {
          service_ = null;
        } else {
          service_ = null;
          serviceBuilder_ = null;
        }
        if (namespaceBuilder_ == null) {
          namespace_ = null;
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }
        if (aliasBuilder_ == null) {
          alias_ = null;
        } else {
          alias_ = null;
          aliasBuilder_ = null;
        }
        type_ = 0;

        if (ownersBuilder_ == null) {
          owners_ = null;
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }
        if (commentBuilder_ == null) {
          comment_ = null;
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = null;
        } else {
          serviceToken_ = null;
          serviceTokenBuilder_ = null;
        }
        if (ctimeBuilder_ == null) {
          ctime_ = null;
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }
        if (mtimeBuilder_ == null) {
          mtime_ = null;
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_ServiceAlias_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.ServiceAlias getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.ServiceAlias build() {
        com.tencent.polaris.client.pb.ServiceProto.ServiceAlias result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.ServiceAlias buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.ServiceAlias result = new com.tencent.polaris.client.pb.ServiceProto.ServiceAlias(this);
        if (serviceBuilder_ == null) {
          result.service_ = service_;
        } else {
          result.service_ = serviceBuilder_.build();
        }
        if (namespaceBuilder_ == null) {
          result.namespace_ = namespace_;
        } else {
          result.namespace_ = namespaceBuilder_.build();
        }
        if (aliasBuilder_ == null) {
          result.alias_ = alias_;
        } else {
          result.alias_ = aliasBuilder_.build();
        }
        result.type_ = type_;
        if (ownersBuilder_ == null) {
          result.owners_ = owners_;
        } else {
          result.owners_ = ownersBuilder_.build();
        }
        if (commentBuilder_ == null) {
          result.comment_ = comment_;
        } else {
          result.comment_ = commentBuilder_.build();
        }
        if (serviceTokenBuilder_ == null) {
          result.serviceToken_ = serviceToken_;
        } else {
          result.serviceToken_ = serviceTokenBuilder_.build();
        }
        if (ctimeBuilder_ == null) {
          result.ctime_ = ctime_;
        } else {
          result.ctime_ = ctimeBuilder_.build();
        }
        if (mtimeBuilder_ == null) {
          result.mtime_ = mtime_;
        } else {
          result.mtime_ = mtimeBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.ServiceAlias) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.ServiceAlias)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.ServiceAlias other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.ServiceAlias.getDefaultInstance()) return this;
        if (other.hasService()) {
          mergeService(other.getService());
        }
        if (other.hasNamespace()) {
          mergeNamespace(other.getNamespace());
        }
        if (other.hasAlias()) {
          mergeAlias(other.getAlias());
        }
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (other.hasOwners()) {
          mergeOwners(other.getOwners());
        }
        if (other.hasComment()) {
          mergeComment(other.getComment());
        }
        if (other.hasServiceToken()) {
          mergeServiceToken(other.getServiceToken());
        }
        if (other.hasCtime()) {
          mergeCtime(other.getCtime());
        }
        if (other.hasMtime()) {
          mergeMtime(other.getMtime());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.ServiceAlias parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.ServiceAlias) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.StringValue service_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> serviceBuilder_;
      /**
       * .google.protobuf.StringValue service = 1;
       * @return Whether the service field is set.
       */
      public boolean hasService() {
        return serviceBuilder_ != null || service_ != null;
      }
      /**
       * .google.protobuf.StringValue service = 1;
       * @return The service.
       */
      public com.google.protobuf.StringValue getService() {
        if (serviceBuilder_ == null) {
          return service_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : service_;
        } else {
          return serviceBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public Builder setService(com.google.protobuf.StringValue value) {
        if (serviceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          service_ = value;
          onChanged();
        } else {
          serviceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public Builder setService(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (serviceBuilder_ == null) {
          service_ = builderForValue.build();
          onChanged();
        } else {
          serviceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public Builder mergeService(com.google.protobuf.StringValue value) {
        if (serviceBuilder_ == null) {
          if (service_ != null) {
            service_ =
              com.google.protobuf.StringValue.newBuilder(service_).mergeFrom(value).buildPartial();
          } else {
            service_ = value;
          }
          onChanged();
        } else {
          serviceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public Builder clearService() {
        if (serviceBuilder_ == null) {
          service_ = null;
          onChanged();
        } else {
          service_ = null;
          serviceBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public com.google.protobuf.StringValue.Builder getServiceBuilder() {
        
        onChanged();
        return getServiceFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      public com.google.protobuf.StringValueOrBuilder getServiceOrBuilder() {
        if (serviceBuilder_ != null) {
          return serviceBuilder_.getMessageOrBuilder();
        } else {
          return service_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : service_;
        }
      }
      /**
       * .google.protobuf.StringValue service = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getServiceFieldBuilder() {
        if (serviceBuilder_ == null) {
          serviceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getService(),
                  getParentForChildren(),
                  isClean());
          service_ = null;
        }
        return serviceBuilder_;
      }

      private com.google.protobuf.StringValue namespace_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> namespaceBuilder_;
      /**
       * .google.protobuf.StringValue namespace = 2;
       * @return Whether the namespace field is set.
       */
      public boolean hasNamespace() {
        return namespaceBuilder_ != null || namespace_ != null;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       * @return The namespace.
       */
      public com.google.protobuf.StringValue getNamespace() {
        if (namespaceBuilder_ == null) {
          return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        } else {
          return namespaceBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder setNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          namespace_ = value;
          onChanged();
        } else {
          namespaceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder setNamespace(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (namespaceBuilder_ == null) {
          namespace_ = builderForValue.build();
          onChanged();
        } else {
          namespaceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder mergeNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (namespace_ != null) {
            namespace_ =
              com.google.protobuf.StringValue.newBuilder(namespace_).mergeFrom(value).buildPartial();
          } else {
            namespace_ = value;
          }
          onChanged();
        } else {
          namespaceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public Builder clearNamespace() {
        if (namespaceBuilder_ == null) {
          namespace_ = null;
          onChanged();
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public com.google.protobuf.StringValue.Builder getNamespaceBuilder() {
        
        onChanged();
        return getNamespaceFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
        if (namespaceBuilder_ != null) {
          return namespaceBuilder_.getMessageOrBuilder();
        } else {
          return namespace_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getNamespaceFieldBuilder() {
        if (namespaceBuilder_ == null) {
          namespaceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getNamespace(),
                  getParentForChildren(),
                  isClean());
          namespace_ = null;
        }
        return namespaceBuilder_;
      }

      private com.google.protobuf.StringValue alias_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> aliasBuilder_;
      /**
       * .google.protobuf.StringValue alias = 3;
       * @return Whether the alias field is set.
       */
      public boolean hasAlias() {
        return aliasBuilder_ != null || alias_ != null;
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       * @return The alias.
       */
      public com.google.protobuf.StringValue getAlias() {
        if (aliasBuilder_ == null) {
          return alias_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : alias_;
        } else {
          return aliasBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public Builder setAlias(com.google.protobuf.StringValue value) {
        if (aliasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          alias_ = value;
          onChanged();
        } else {
          aliasBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public Builder setAlias(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (aliasBuilder_ == null) {
          alias_ = builderForValue.build();
          onChanged();
        } else {
          aliasBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public Builder mergeAlias(com.google.protobuf.StringValue value) {
        if (aliasBuilder_ == null) {
          if (alias_ != null) {
            alias_ =
              com.google.protobuf.StringValue.newBuilder(alias_).mergeFrom(value).buildPartial();
          } else {
            alias_ = value;
          }
          onChanged();
        } else {
          aliasBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public Builder clearAlias() {
        if (aliasBuilder_ == null) {
          alias_ = null;
          onChanged();
        } else {
          alias_ = null;
          aliasBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public com.google.protobuf.StringValue.Builder getAliasBuilder() {
        
        onChanged();
        return getAliasFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      public com.google.protobuf.StringValueOrBuilder getAliasOrBuilder() {
        if (aliasBuilder_ != null) {
          return aliasBuilder_.getMessageOrBuilder();
        } else {
          return alias_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : alias_;
        }
      }
      /**
       * .google.protobuf.StringValue alias = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getAliasFieldBuilder() {
        if (aliasBuilder_ == null) {
          aliasBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getAlias(),
                  getParentForChildren(),
                  isClean());
          alias_ = null;
        }
        return aliasBuilder_;
      }

      private int type_ = 0;
      /**
       * .v1.AliasType type = 4;
       * @return The enum numeric value on the wire for type.
       */
      @java.lang.Override public int getTypeValue() {
        return type_;
      }
      /**
       * .v1.AliasType type = 4;
       * @param value The enum numeric value on the wire for type to set.
       * @return This builder for chaining.
       */
      public Builder setTypeValue(int value) {
        
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * .v1.AliasType type = 4;
       * @return The type.
       */
      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.AliasType getType() {
        @SuppressWarnings("deprecation")
        com.tencent.polaris.client.pb.ServiceProto.AliasType result = com.tencent.polaris.client.pb.ServiceProto.AliasType.valueOf(type_);
        return result == null ? com.tencent.polaris.client.pb.ServiceProto.AliasType.UNRECOGNIZED : result;
      }
      /**
       * .v1.AliasType type = 4;
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(com.tencent.polaris.client.pb.ServiceProto.AliasType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .v1.AliasType type = 4;
       * @return This builder for chaining.
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.StringValue owners_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ownersBuilder_;
      /**
       * .google.protobuf.StringValue owners = 8;
       * @return Whether the owners field is set.
       */
      public boolean hasOwners() {
        return ownersBuilder_ != null || owners_ != null;
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       * @return The owners.
       */
      public com.google.protobuf.StringValue getOwners() {
        if (ownersBuilder_ == null) {
          return owners_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        } else {
          return ownersBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public Builder setOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          owners_ = value;
          onChanged();
        } else {
          ownersBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public Builder setOwners(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ownersBuilder_ == null) {
          owners_ = builderForValue.build();
          onChanged();
        } else {
          ownersBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public Builder mergeOwners(com.google.protobuf.StringValue value) {
        if (ownersBuilder_ == null) {
          if (owners_ != null) {
            owners_ =
              com.google.protobuf.StringValue.newBuilder(owners_).mergeFrom(value).buildPartial();
          } else {
            owners_ = value;
          }
          onChanged();
        } else {
          ownersBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public Builder clearOwners() {
        if (ownersBuilder_ == null) {
          owners_ = null;
          onChanged();
        } else {
          owners_ = null;
          ownersBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public com.google.protobuf.StringValue.Builder getOwnersBuilder() {
        
        onChanged();
        return getOwnersFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      public com.google.protobuf.StringValueOrBuilder getOwnersOrBuilder() {
        if (ownersBuilder_ != null) {
          return ownersBuilder_.getMessageOrBuilder();
        } else {
          return owners_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : owners_;
        }
      }
      /**
       * .google.protobuf.StringValue owners = 8;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getOwnersFieldBuilder() {
        if (ownersBuilder_ == null) {
          ownersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getOwners(),
                  getParentForChildren(),
                  isClean());
          owners_ = null;
        }
        return ownersBuilder_;
      }

      private com.google.protobuf.StringValue comment_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> commentBuilder_;
      /**
       * .google.protobuf.StringValue comment = 9;
       * @return Whether the comment field is set.
       */
      public boolean hasComment() {
        return commentBuilder_ != null || comment_ != null;
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       * @return The comment.
       */
      public com.google.protobuf.StringValue getComment() {
        if (commentBuilder_ == null) {
          return comment_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        } else {
          return commentBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public Builder setComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          comment_ = value;
          onChanged();
        } else {
          commentBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public Builder setComment(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (commentBuilder_ == null) {
          comment_ = builderForValue.build();
          onChanged();
        } else {
          commentBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public Builder mergeComment(com.google.protobuf.StringValue value) {
        if (commentBuilder_ == null) {
          if (comment_ != null) {
            comment_ =
              com.google.protobuf.StringValue.newBuilder(comment_).mergeFrom(value).buildPartial();
          } else {
            comment_ = value;
          }
          onChanged();
        } else {
          commentBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public Builder clearComment() {
        if (commentBuilder_ == null) {
          comment_ = null;
          onChanged();
        } else {
          comment_ = null;
          commentBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public com.google.protobuf.StringValue.Builder getCommentBuilder() {
        
        onChanged();
        return getCommentFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      public com.google.protobuf.StringValueOrBuilder getCommentOrBuilder() {
        if (commentBuilder_ != null) {
          return commentBuilder_.getMessageOrBuilder();
        } else {
          return comment_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : comment_;
        }
      }
      /**
       * .google.protobuf.StringValue comment = 9;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCommentFieldBuilder() {
        if (commentBuilder_ == null) {
          commentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getComment(),
                  getParentForChildren(),
                  isClean());
          comment_ = null;
        }
        return commentBuilder_;
      }

      private com.google.protobuf.StringValue serviceToken_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> serviceTokenBuilder_;
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       * @return Whether the serviceToken field is set.
       */
      public boolean hasServiceToken() {
        return serviceTokenBuilder_ != null || serviceToken_ != null;
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       * @return The serviceToken.
       */
      public com.google.protobuf.StringValue getServiceToken() {
        if (serviceTokenBuilder_ == null) {
          return serviceToken_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
        } else {
          return serviceTokenBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public Builder setServiceToken(com.google.protobuf.StringValue value) {
        if (serviceTokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          serviceToken_ = value;
          onChanged();
        } else {
          serviceTokenBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public Builder setServiceToken(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = builderForValue.build();
          onChanged();
        } else {
          serviceTokenBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public Builder mergeServiceToken(com.google.protobuf.StringValue value) {
        if (serviceTokenBuilder_ == null) {
          if (serviceToken_ != null) {
            serviceToken_ =
              com.google.protobuf.StringValue.newBuilder(serviceToken_).mergeFrom(value).buildPartial();
          } else {
            serviceToken_ = value;
          }
          onChanged();
        } else {
          serviceTokenBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public Builder clearServiceToken() {
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = null;
          onChanged();
        } else {
          serviceToken_ = null;
          serviceTokenBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public com.google.protobuf.StringValue.Builder getServiceTokenBuilder() {
        
        onChanged();
        return getServiceTokenFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      public com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder() {
        if (serviceTokenBuilder_ != null) {
          return serviceTokenBuilder_.getMessageOrBuilder();
        } else {
          return serviceToken_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
        }
      }
      /**
       * .google.protobuf.StringValue service_token = 5[json_name = "service_token"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getServiceTokenFieldBuilder() {
        if (serviceTokenBuilder_ == null) {
          serviceTokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getServiceToken(),
                  getParentForChildren(),
                  isClean());
          serviceToken_ = null;
        }
        return serviceTokenBuilder_;
      }

      private com.google.protobuf.StringValue ctime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ctimeBuilder_;
      /**
       * .google.protobuf.StringValue ctime = 6;
       * @return Whether the ctime field is set.
       */
      public boolean hasCtime() {
        return ctimeBuilder_ != null || ctime_ != null;
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       * @return The ctime.
       */
      public com.google.protobuf.StringValue getCtime() {
        if (ctimeBuilder_ == null) {
          return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        } else {
          return ctimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public Builder setCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ctime_ = value;
          onChanged();
        } else {
          ctimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public Builder setCtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ctimeBuilder_ == null) {
          ctime_ = builderForValue.build();
          onChanged();
        } else {
          ctimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public Builder mergeCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (ctime_ != null) {
            ctime_ =
              com.google.protobuf.StringValue.newBuilder(ctime_).mergeFrom(value).buildPartial();
          } else {
            ctime_ = value;
          }
          onChanged();
        } else {
          ctimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public Builder clearCtime() {
        if (ctimeBuilder_ == null) {
          ctime_ = null;
          onChanged();
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public com.google.protobuf.StringValue.Builder getCtimeBuilder() {
        
        onChanged();
        return getCtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
        if (ctimeBuilder_ != null) {
          return ctimeBuilder_.getMessageOrBuilder();
        } else {
          return ctime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCtimeFieldBuilder() {
        if (ctimeBuilder_ == null) {
          ctimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCtime(),
                  getParentForChildren(),
                  isClean());
          ctime_ = null;
        }
        return ctimeBuilder_;
      }

      private com.google.protobuf.StringValue mtime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> mtimeBuilder_;
      /**
       * .google.protobuf.StringValue mtime = 7;
       * @return Whether the mtime field is set.
       */
      public boolean hasMtime() {
        return mtimeBuilder_ != null || mtime_ != null;
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       * @return The mtime.
       */
      public com.google.protobuf.StringValue getMtime() {
        if (mtimeBuilder_ == null) {
          return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        } else {
          return mtimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public Builder setMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mtime_ = value;
          onChanged();
        } else {
          mtimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public Builder setMtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (mtimeBuilder_ == null) {
          mtime_ = builderForValue.build();
          onChanged();
        } else {
          mtimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public Builder mergeMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (mtime_ != null) {
            mtime_ =
              com.google.protobuf.StringValue.newBuilder(mtime_).mergeFrom(value).buildPartial();
          } else {
            mtime_ = value;
          }
          onChanged();
        } else {
          mtimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public Builder clearMtime() {
        if (mtimeBuilder_ == null) {
          mtime_ = null;
          onChanged();
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public com.google.protobuf.StringValue.Builder getMtimeBuilder() {
        
        onChanged();
        return getMtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
        if (mtimeBuilder_ != null) {
          return mtimeBuilder_.getMessageOrBuilder();
        } else {
          return mtime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 7;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getMtimeFieldBuilder() {
        if (mtimeBuilder_ == null) {
          mtimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getMtime(),
                  getParentForChildren(),
                  isClean());
          mtime_ = null;
        }
        return mtimeBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.ServiceAlias)
    }

    // @@protoc_insertion_point(class_scope:v1.ServiceAlias)
    private static final com.tencent.polaris.client.pb.ServiceProto.ServiceAlias DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.ServiceAlias();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.ServiceAlias getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ServiceAlias parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ServiceAlias(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.ServiceAlias getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface InstanceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.Instance)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .google.protobuf.StringValue id = 1;
     * @return Whether the id field is set.
     */
    boolean hasId();
    /**
     * .google.protobuf.StringValue id = 1;
     * @return The id.
     */
    com.google.protobuf.StringValue getId();
    /**
     * .google.protobuf.StringValue id = 1;
     */
    com.google.protobuf.StringValueOrBuilder getIdOrBuilder();

    /**
     * .google.protobuf.StringValue service = 2;
     * @return Whether the service field is set.
     */
    boolean hasService();
    /**
     * .google.protobuf.StringValue service = 2;
     * @return The service.
     */
    com.google.protobuf.StringValue getService();
    /**
     * .google.protobuf.StringValue service = 2;
     */
    com.google.protobuf.StringValueOrBuilder getServiceOrBuilder();

    /**
     * .google.protobuf.StringValue namespace = 3;
     * @return Whether the namespace field is set.
     */
    boolean hasNamespace();
    /**
     * .google.protobuf.StringValue namespace = 3;
     * @return The namespace.
     */
    com.google.protobuf.StringValue getNamespace();
    /**
     * .google.protobuf.StringValue namespace = 3;
     */
    com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder();

    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     * @return Whether the vpcId field is set.
     */
    boolean hasVpcId();
    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     * @return The vpcId.
     */
    com.google.protobuf.StringValue getVpcId();
    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     */
    com.google.protobuf.StringValueOrBuilder getVpcIdOrBuilder();

    /**
     * .google.protobuf.StringValue host = 4;
     * @return Whether the host field is set.
     */
    boolean hasHost();
    /**
     * .google.protobuf.StringValue host = 4;
     * @return The host.
     */
    com.google.protobuf.StringValue getHost();
    /**
     * .google.protobuf.StringValue host = 4;
     */
    com.google.protobuf.StringValueOrBuilder getHostOrBuilder();

    /**
     * .google.protobuf.UInt32Value port = 5;
     * @return Whether the port field is set.
     */
    boolean hasPort();
    /**
     * .google.protobuf.UInt32Value port = 5;
     * @return The port.
     */
    com.google.protobuf.UInt32Value getPort();
    /**
     * .google.protobuf.UInt32Value port = 5;
     */
    com.google.protobuf.UInt32ValueOrBuilder getPortOrBuilder();

    /**
     * .google.protobuf.StringValue protocol = 6;
     * @return Whether the protocol field is set.
     */
    boolean hasProtocol();
    /**
     * .google.protobuf.StringValue protocol = 6;
     * @return The protocol.
     */
    com.google.protobuf.StringValue getProtocol();
    /**
     * .google.protobuf.StringValue protocol = 6;
     */
    com.google.protobuf.StringValueOrBuilder getProtocolOrBuilder();

    /**
     * .google.protobuf.StringValue version = 7;
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * .google.protobuf.StringValue version = 7;
     * @return The version.
     */
    com.google.protobuf.StringValue getVersion();
    /**
     * .google.protobuf.StringValue version = 7;
     */
    com.google.protobuf.StringValueOrBuilder getVersionOrBuilder();

    /**
     * .google.protobuf.UInt32Value priority = 8;
     * @return Whether the priority field is set.
     */
    boolean hasPriority();
    /**
     * .google.protobuf.UInt32Value priority = 8;
     * @return The priority.
     */
    com.google.protobuf.UInt32Value getPriority();
    /**
     * .google.protobuf.UInt32Value priority = 8;
     */
    com.google.protobuf.UInt32ValueOrBuilder getPriorityOrBuilder();

    /**
     * .google.protobuf.UInt32Value weight = 9;
     * @return Whether the weight field is set.
     */
    boolean hasWeight();
    /**
     * .google.protobuf.UInt32Value weight = 9;
     * @return The weight.
     */
    com.google.protobuf.UInt32Value getWeight();
    /**
     * .google.protobuf.UInt32Value weight = 9;
     */
    com.google.protobuf.UInt32ValueOrBuilder getWeightOrBuilder();

    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     * @return Whether the enableHealthCheck field is set.
     */
    boolean hasEnableHealthCheck();
    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     * @return The enableHealthCheck.
     */
    com.google.protobuf.BoolValue getEnableHealthCheck();
    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     */
    com.google.protobuf.BoolValueOrBuilder getEnableHealthCheckOrBuilder();

    /**
     * .v1.HealthCheck health_check = 10;
     * @return Whether the healthCheck field is set.
     */
    boolean hasHealthCheck();
    /**
     * .v1.HealthCheck health_check = 10;
     * @return The healthCheck.
     */
    com.tencent.polaris.client.pb.ServiceProto.HealthCheck getHealthCheck();
    /**
     * .v1.HealthCheck health_check = 10;
     */
    com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder getHealthCheckOrBuilder();

    /**
     * .google.protobuf.BoolValue healthy = 11;
     * @return Whether the healthy field is set.
     */
    boolean hasHealthy();
    /**
     * .google.protobuf.BoolValue healthy = 11;
     * @return The healthy.
     */
    com.google.protobuf.BoolValue getHealthy();
    /**
     * .google.protobuf.BoolValue healthy = 11;
     */
    com.google.protobuf.BoolValueOrBuilder getHealthyOrBuilder();

    /**
     * .google.protobuf.BoolValue isolate = 12;
     * @return Whether the isolate field is set.
     */
    boolean hasIsolate();
    /**
     * .google.protobuf.BoolValue isolate = 12;
     * @return The isolate.
     */
    com.google.protobuf.BoolValue getIsolate();
    /**
     * .google.protobuf.BoolValue isolate = 12;
     */
    com.google.protobuf.BoolValueOrBuilder getIsolateOrBuilder();

    /**
     * .v1.Location location = 13;
     * @return Whether the location field is set.
     */
    boolean hasLocation();
    /**
     * .v1.Location location = 13;
     * @return The location.
     */
    com.tencent.polaris.client.pb.ModelProto.Location getLocation();
    /**
     * .v1.Location location = 13;
     */
    com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder getLocationOrBuilder();

    /**
     * map<string, string> metadata = 14;
     */
    int getMetadataCount();
    /**
     * map<string, string> metadata = 14;
     */
    boolean containsMetadata(
        java.lang.String key);
    /**
     * Use {@link #getMetadataMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getMetadata();
    /**
     * map<string, string> metadata = 14;
     */
    java.util.Map
    getMetadataMap();
    /**
     * map<string, string> metadata = 14;
     */

    java.lang.String getMetadataOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> metadata = 14;
     */

    java.lang.String getMetadataOrThrow(
        java.lang.String key);

    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     * @return Whether the logicSet field is set.
     */
    boolean hasLogicSet();
    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     * @return The logicSet.
     */
    com.google.protobuf.StringValue getLogicSet();
    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     */
    com.google.protobuf.StringValueOrBuilder getLogicSetOrBuilder();

    /**
     * .google.protobuf.StringValue ctime = 16;
     * @return Whether the ctime field is set.
     */
    boolean hasCtime();
    /**
     * .google.protobuf.StringValue ctime = 16;
     * @return The ctime.
     */
    com.google.protobuf.StringValue getCtime();
    /**
     * .google.protobuf.StringValue ctime = 16;
     */
    com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder();

    /**
     * .google.protobuf.StringValue mtime = 17;
     * @return Whether the mtime field is set.
     */
    boolean hasMtime();
    /**
     * .google.protobuf.StringValue mtime = 17;
     * @return The mtime.
     */
    com.google.protobuf.StringValue getMtime();
    /**
     * .google.protobuf.StringValue mtime = 17;
     */
    com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder();

    /**
     * .google.protobuf.StringValue revision = 18;
     * @return Whether the revision field is set.
     */
    boolean hasRevision();
    /**
     * .google.protobuf.StringValue revision = 18;
     * @return The revision.
     */
    com.google.protobuf.StringValue getRevision();
    /**
     * .google.protobuf.StringValue revision = 18;
     */
    com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder();

    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     * @return Whether the serviceToken field is set.
     */
    boolean hasServiceToken();
    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     * @return The serviceToken.
     */
    com.google.protobuf.StringValue getServiceToken();
    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     */
    com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder();
  }
  /**
   * Protobuf type {@code v1.Instance}
   */
  public static final class Instance extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.Instance)
      InstanceOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Instance.newBuilder() to construct.
    private Instance(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Instance() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Instance();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Instance(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (id_ != null) {
                subBuilder = id_.toBuilder();
              }
              id_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(id_);
                id_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (service_ != null) {
                subBuilder = service_.toBuilder();
              }
              service_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(service_);
                service_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (namespace_ != null) {
                subBuilder = namespace_.toBuilder();
              }
              namespace_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(namespace_);
                namespace_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (host_ != null) {
                subBuilder = host_.toBuilder();
              }
              host_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(host_);
                host_ = subBuilder.buildPartial();
              }

              break;
            }
            case 42: {
              com.google.protobuf.UInt32Value.Builder subBuilder = null;
              if (port_ != null) {
                subBuilder = port_.toBuilder();
              }
              port_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(port_);
                port_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (protocol_ != null) {
                subBuilder = protocol_.toBuilder();
              }
              protocol_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(protocol_);
                protocol_ = subBuilder.buildPartial();
              }

              break;
            }
            case 58: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (version_ != null) {
                subBuilder = version_.toBuilder();
              }
              version_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(version_);
                version_ = subBuilder.buildPartial();
              }

              break;
            }
            case 66: {
              com.google.protobuf.UInt32Value.Builder subBuilder = null;
              if (priority_ != null) {
                subBuilder = priority_.toBuilder();
              }
              priority_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(priority_);
                priority_ = subBuilder.buildPartial();
              }

              break;
            }
            case 74: {
              com.google.protobuf.UInt32Value.Builder subBuilder = null;
              if (weight_ != null) {
                subBuilder = weight_.toBuilder();
              }
              weight_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(weight_);
                weight_ = subBuilder.buildPartial();
              }

              break;
            }
            case 82: {
              com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder subBuilder = null;
              if (healthCheck_ != null) {
                subBuilder = healthCheck_.toBuilder();
              }
              healthCheck_ = input.readMessage(com.tencent.polaris.client.pb.ServiceProto.HealthCheck.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(healthCheck_);
                healthCheck_ = subBuilder.buildPartial();
              }

              break;
            }
            case 90: {
              com.google.protobuf.BoolValue.Builder subBuilder = null;
              if (healthy_ != null) {
                subBuilder = healthy_.toBuilder();
              }
              healthy_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(healthy_);
                healthy_ = subBuilder.buildPartial();
              }

              break;
            }
            case 98: {
              com.google.protobuf.BoolValue.Builder subBuilder = null;
              if (isolate_ != null) {
                subBuilder = isolate_.toBuilder();
              }
              isolate_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(isolate_);
                isolate_ = subBuilder.buildPartial();
              }

              break;
            }
            case 106: {
              com.tencent.polaris.client.pb.ModelProto.Location.Builder subBuilder = null;
              if (location_ != null) {
                subBuilder = location_.toBuilder();
              }
              location_ = input.readMessage(com.tencent.polaris.client.pb.ModelProto.Location.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(location_);
                location_ = subBuilder.buildPartial();
              }

              break;
            }
            case 114: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                metadata_ = com.google.protobuf.MapField.newMapField(
                    MetadataDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              metadata__ = input.readMessage(
                  MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              metadata_.getMutableMap().put(
                  metadata__.getKey(), metadata__.getValue());
              break;
            }
            case 122: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (logicSet_ != null) {
                subBuilder = logicSet_.toBuilder();
              }
              logicSet_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(logicSet_);
                logicSet_ = subBuilder.buildPartial();
              }

              break;
            }
            case 130: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (ctime_ != null) {
                subBuilder = ctime_.toBuilder();
              }
              ctime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ctime_);
                ctime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 138: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (mtime_ != null) {
                subBuilder = mtime_.toBuilder();
              }
              mtime_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mtime_);
                mtime_ = subBuilder.buildPartial();
              }

              break;
            }
            case 146: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (revision_ != null) {
                subBuilder = revision_.toBuilder();
              }
              revision_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(revision_);
                revision_ = subBuilder.buildPartial();
              }

              break;
            }
            case 154: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (serviceToken_ != null) {
                subBuilder = serviceToken_.toBuilder();
              }
              serviceToken_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(serviceToken_);
                serviceToken_ = subBuilder.buildPartial();
              }

              break;
            }
            case 162: {
              com.google.protobuf.BoolValue.Builder subBuilder = null;
              if (enableHealthCheck_ != null) {
                subBuilder = enableHealthCheck_.toBuilder();
              }
              enableHealthCheck_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(enableHealthCheck_);
                enableHealthCheck_ = subBuilder.buildPartial();
              }

              break;
            }
            case 170: {
              com.google.protobuf.StringValue.Builder subBuilder = null;
              if (vpcId_ != null) {
                subBuilder = vpcId_.toBuilder();
              }
              vpcId_ = input.readMessage(com.google.protobuf.StringValue.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(vpcId_);
                vpcId_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 14:
          return internalGetMetadata();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.Instance.class, com.tencent.polaris.client.pb.ServiceProto.Instance.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private com.google.protobuf.StringValue id_;
    /**
     * .google.protobuf.StringValue id = 1;
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return id_ != null;
    }
    /**
     * .google.protobuf.StringValue id = 1;
     * @return The id.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getId() {
      return id_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : id_;
    }
    /**
     * .google.protobuf.StringValue id = 1;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getIdOrBuilder() {
      return getId();
    }

    public static final int SERVICE_FIELD_NUMBER = 2;
    private com.google.protobuf.StringValue service_;
    /**
     * .google.protobuf.StringValue service = 2;
     * @return Whether the service field is set.
     */
    @java.lang.Override
    public boolean hasService() {
      return service_ != null;
    }
    /**
     * .google.protobuf.StringValue service = 2;
     * @return The service.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getService() {
      return service_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : service_;
    }
    /**
     * .google.protobuf.StringValue service = 2;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getServiceOrBuilder() {
      return getService();
    }

    public static final int NAMESPACE_FIELD_NUMBER = 3;
    private com.google.protobuf.StringValue namespace_;
    /**
     * .google.protobuf.StringValue namespace = 3;
     * @return Whether the namespace field is set.
     */
    @java.lang.Override
    public boolean hasNamespace() {
      return namespace_ != null;
    }
    /**
     * .google.protobuf.StringValue namespace = 3;
     * @return The namespace.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getNamespace() {
      return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
    }
    /**
     * .google.protobuf.StringValue namespace = 3;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
      return getNamespace();
    }

    public static final int VPC_ID_FIELD_NUMBER = 21;
    private com.google.protobuf.StringValue vpcId_;
    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     * @return Whether the vpcId field is set.
     */
    @java.lang.Override
    public boolean hasVpcId() {
      return vpcId_ != null;
    }
    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     * @return The vpcId.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getVpcId() {
      return vpcId_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : vpcId_;
    }
    /**
     * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getVpcIdOrBuilder() {
      return getVpcId();
    }

    public static final int HOST_FIELD_NUMBER = 4;
    private com.google.protobuf.StringValue host_;
    /**
     * .google.protobuf.StringValue host = 4;
     * @return Whether the host field is set.
     */
    @java.lang.Override
    public boolean hasHost() {
      return host_ != null;
    }
    /**
     * .google.protobuf.StringValue host = 4;
     * @return The host.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getHost() {
      return host_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : host_;
    }
    /**
     * .google.protobuf.StringValue host = 4;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getHostOrBuilder() {
      return getHost();
    }

    public static final int PORT_FIELD_NUMBER = 5;
    private com.google.protobuf.UInt32Value port_;
    /**
     * .google.protobuf.UInt32Value port = 5;
     * @return Whether the port field is set.
     */
    @java.lang.Override
    public boolean hasPort() {
      return port_ != null;
    }
    /**
     * .google.protobuf.UInt32Value port = 5;
     * @return The port.
     */
    @java.lang.Override
    public com.google.protobuf.UInt32Value getPort() {
      return port_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : port_;
    }
    /**
     * .google.protobuf.UInt32Value port = 5;
     */
    @java.lang.Override
    public com.google.protobuf.UInt32ValueOrBuilder getPortOrBuilder() {
      return getPort();
    }

    public static final int PROTOCOL_FIELD_NUMBER = 6;
    private com.google.protobuf.StringValue protocol_;
    /**
     * .google.protobuf.StringValue protocol = 6;
     * @return Whether the protocol field is set.
     */
    @java.lang.Override
    public boolean hasProtocol() {
      return protocol_ != null;
    }
    /**
     * .google.protobuf.StringValue protocol = 6;
     * @return The protocol.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getProtocol() {
      return protocol_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : protocol_;
    }
    /**
     * .google.protobuf.StringValue protocol = 6;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getProtocolOrBuilder() {
      return getProtocol();
    }

    public static final int VERSION_FIELD_NUMBER = 7;
    private com.google.protobuf.StringValue version_;
    /**
     * .google.protobuf.StringValue version = 7;
     * @return Whether the version field is set.
     */
    @java.lang.Override
    public boolean hasVersion() {
      return version_ != null;
    }
    /**
     * .google.protobuf.StringValue version = 7;
     * @return The version.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getVersion() {
      return version_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : version_;
    }
    /**
     * .google.protobuf.StringValue version = 7;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getVersionOrBuilder() {
      return getVersion();
    }

    public static final int PRIORITY_FIELD_NUMBER = 8;
    private com.google.protobuf.UInt32Value priority_;
    /**
     * .google.protobuf.UInt32Value priority = 8;
     * @return Whether the priority field is set.
     */
    @java.lang.Override
    public boolean hasPriority() {
      return priority_ != null;
    }
    /**
     * .google.protobuf.UInt32Value priority = 8;
     * @return The priority.
     */
    @java.lang.Override
    public com.google.protobuf.UInt32Value getPriority() {
      return priority_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : priority_;
    }
    /**
     * .google.protobuf.UInt32Value priority = 8;
     */
    @java.lang.Override
    public com.google.protobuf.UInt32ValueOrBuilder getPriorityOrBuilder() {
      return getPriority();
    }

    public static final int WEIGHT_FIELD_NUMBER = 9;
    private com.google.protobuf.UInt32Value weight_;
    /**
     * .google.protobuf.UInt32Value weight = 9;
     * @return Whether the weight field is set.
     */
    @java.lang.Override
    public boolean hasWeight() {
      return weight_ != null;
    }
    /**
     * .google.protobuf.UInt32Value weight = 9;
     * @return The weight.
     */
    @java.lang.Override
    public com.google.protobuf.UInt32Value getWeight() {
      return weight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : weight_;
    }
    /**
     * .google.protobuf.UInt32Value weight = 9;
     */
    @java.lang.Override
    public com.google.protobuf.UInt32ValueOrBuilder getWeightOrBuilder() {
      return getWeight();
    }

    public static final int ENABLE_HEALTH_CHECK_FIELD_NUMBER = 20;
    private com.google.protobuf.BoolValue enableHealthCheck_;
    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     * @return Whether the enableHealthCheck field is set.
     */
    @java.lang.Override
    public boolean hasEnableHealthCheck() {
      return enableHealthCheck_ != null;
    }
    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     * @return The enableHealthCheck.
     */
    @java.lang.Override
    public com.google.protobuf.BoolValue getEnableHealthCheck() {
      return enableHealthCheck_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : enableHealthCheck_;
    }
    /**
     * .google.protobuf.BoolValue enable_health_check = 20;
     */
    @java.lang.Override
    public com.google.protobuf.BoolValueOrBuilder getEnableHealthCheckOrBuilder() {
      return getEnableHealthCheck();
    }

    public static final int HEALTH_CHECK_FIELD_NUMBER = 10;
    private com.tencent.polaris.client.pb.ServiceProto.HealthCheck healthCheck_;
    /**
     * .v1.HealthCheck health_check = 10;
     * @return Whether the healthCheck field is set.
     */
    @java.lang.Override
    public boolean hasHealthCheck() {
      return healthCheck_ != null;
    }
    /**
     * .v1.HealthCheck health_check = 10;
     * @return The healthCheck.
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HealthCheck getHealthCheck() {
      return healthCheck_ == null ? com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDefaultInstance() : healthCheck_;
    }
    /**
     * .v1.HealthCheck health_check = 10;
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder getHealthCheckOrBuilder() {
      return getHealthCheck();
    }

    public static final int HEALTHY_FIELD_NUMBER = 11;
    private com.google.protobuf.BoolValue healthy_;
    /**
     * .google.protobuf.BoolValue healthy = 11;
     * @return Whether the healthy field is set.
     */
    @java.lang.Override
    public boolean hasHealthy() {
      return healthy_ != null;
    }
    /**
     * .google.protobuf.BoolValue healthy = 11;
     * @return The healthy.
     */
    @java.lang.Override
    public com.google.protobuf.BoolValue getHealthy() {
      return healthy_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : healthy_;
    }
    /**
     * .google.protobuf.BoolValue healthy = 11;
     */
    @java.lang.Override
    public com.google.protobuf.BoolValueOrBuilder getHealthyOrBuilder() {
      return getHealthy();
    }

    public static final int ISOLATE_FIELD_NUMBER = 12;
    private com.google.protobuf.BoolValue isolate_;
    /**
     * .google.protobuf.BoolValue isolate = 12;
     * @return Whether the isolate field is set.
     */
    @java.lang.Override
    public boolean hasIsolate() {
      return isolate_ != null;
    }
    /**
     * .google.protobuf.BoolValue isolate = 12;
     * @return The isolate.
     */
    @java.lang.Override
    public com.google.protobuf.BoolValue getIsolate() {
      return isolate_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : isolate_;
    }
    /**
     * .google.protobuf.BoolValue isolate = 12;
     */
    @java.lang.Override
    public com.google.protobuf.BoolValueOrBuilder getIsolateOrBuilder() {
      return getIsolate();
    }

    public static final int LOCATION_FIELD_NUMBER = 13;
    private com.tencent.polaris.client.pb.ModelProto.Location location_;
    /**
     * .v1.Location location = 13;
     * @return Whether the location field is set.
     */
    @java.lang.Override
    public boolean hasLocation() {
      return location_ != null;
    }
    /**
     * .v1.Location location = 13;
     * @return The location.
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ModelProto.Location getLocation() {
      return location_ == null ? com.tencent.polaris.client.pb.ModelProto.Location.getDefaultInstance() : location_;
    }
    /**
     * .v1.Location location = 13;
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder getLocationOrBuilder() {
      return getLocation();
    }

    public static final int METADATA_FIELD_NUMBER = 14;
    private static final class MetadataDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_MetadataEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> metadata_;
    private com.google.protobuf.MapField
    internalGetMetadata() {
      if (metadata_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            MetadataDefaultEntryHolder.defaultEntry);
      }
      return metadata_;
    }

    public int getMetadataCount() {
      return internalGetMetadata().getMap().size();
    }
    /**
     * map<string, string> metadata = 14;
     */

    @java.lang.Override
    public boolean containsMetadata(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetMetadata().getMap().containsKey(key);
    }
    /**
     * Use {@link #getMetadataMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getMetadata() {
      return getMetadataMap();
    }
    /**
     * map<string, string> metadata = 14;
     */
    @java.lang.Override

    public java.util.Map getMetadataMap() {
      return internalGetMetadata().getMap();
    }
    /**
     * map<string, string> metadata = 14;
     */
    @java.lang.Override

    public java.lang.String getMetadataOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetMetadata().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> metadata = 14;
     */
    @java.lang.Override

    public java.lang.String getMetadataOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetMetadata().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int LOGIC_SET_FIELD_NUMBER = 15;
    private com.google.protobuf.StringValue logicSet_;
    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     * @return Whether the logicSet field is set.
     */
    @java.lang.Override
    public boolean hasLogicSet() {
      return logicSet_ != null;
    }
    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     * @return The logicSet.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getLogicSet() {
      return logicSet_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : logicSet_;
    }
    /**
     * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getLogicSetOrBuilder() {
      return getLogicSet();
    }

    public static final int CTIME_FIELD_NUMBER = 16;
    private com.google.protobuf.StringValue ctime_;
    /**
     * .google.protobuf.StringValue ctime = 16;
     * @return Whether the ctime field is set.
     */
    @java.lang.Override
    public boolean hasCtime() {
      return ctime_ != null;
    }
    /**
     * .google.protobuf.StringValue ctime = 16;
     * @return The ctime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getCtime() {
      return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
    }
    /**
     * .google.protobuf.StringValue ctime = 16;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
      return getCtime();
    }

    public static final int MTIME_FIELD_NUMBER = 17;
    private com.google.protobuf.StringValue mtime_;
    /**
     * .google.protobuf.StringValue mtime = 17;
     * @return Whether the mtime field is set.
     */
    @java.lang.Override
    public boolean hasMtime() {
      return mtime_ != null;
    }
    /**
     * .google.protobuf.StringValue mtime = 17;
     * @return The mtime.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getMtime() {
      return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
    }
    /**
     * .google.protobuf.StringValue mtime = 17;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
      return getMtime();
    }

    public static final int REVISION_FIELD_NUMBER = 18;
    private com.google.protobuf.StringValue revision_;
    /**
     * .google.protobuf.StringValue revision = 18;
     * @return Whether the revision field is set.
     */
    @java.lang.Override
    public boolean hasRevision() {
      return revision_ != null;
    }
    /**
     * .google.protobuf.StringValue revision = 18;
     * @return The revision.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getRevision() {
      return revision_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : revision_;
    }
    /**
     * .google.protobuf.StringValue revision = 18;
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder() {
      return getRevision();
    }

    public static final int SERVICE_TOKEN_FIELD_NUMBER = 19;
    private com.google.protobuf.StringValue serviceToken_;
    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     * @return Whether the serviceToken field is set.
     */
    @java.lang.Override
    public boolean hasServiceToken() {
      return serviceToken_ != null;
    }
    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     * @return The serviceToken.
     */
    @java.lang.Override
    public com.google.protobuf.StringValue getServiceToken() {
      return serviceToken_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
    }
    /**
     * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
     */
    @java.lang.Override
    public com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder() {
      return getServiceToken();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != null) {
        output.writeMessage(1, getId());
      }
      if (service_ != null) {
        output.writeMessage(2, getService());
      }
      if (namespace_ != null) {
        output.writeMessage(3, getNamespace());
      }
      if (host_ != null) {
        output.writeMessage(4, getHost());
      }
      if (port_ != null) {
        output.writeMessage(5, getPort());
      }
      if (protocol_ != null) {
        output.writeMessage(6, getProtocol());
      }
      if (version_ != null) {
        output.writeMessage(7, getVersion());
      }
      if (priority_ != null) {
        output.writeMessage(8, getPriority());
      }
      if (weight_ != null) {
        output.writeMessage(9, getWeight());
      }
      if (healthCheck_ != null) {
        output.writeMessage(10, getHealthCheck());
      }
      if (healthy_ != null) {
        output.writeMessage(11, getHealthy());
      }
      if (isolate_ != null) {
        output.writeMessage(12, getIsolate());
      }
      if (location_ != null) {
        output.writeMessage(13, getLocation());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetMetadata(),
          MetadataDefaultEntryHolder.defaultEntry,
          14);
      if (logicSet_ != null) {
        output.writeMessage(15, getLogicSet());
      }
      if (ctime_ != null) {
        output.writeMessage(16, getCtime());
      }
      if (mtime_ != null) {
        output.writeMessage(17, getMtime());
      }
      if (revision_ != null) {
        output.writeMessage(18, getRevision());
      }
      if (serviceToken_ != null) {
        output.writeMessage(19, getServiceToken());
      }
      if (enableHealthCheck_ != null) {
        output.writeMessage(20, getEnableHealthCheck());
      }
      if (vpcId_ != null) {
        output.writeMessage(21, getVpcId());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getId());
      }
      if (service_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getService());
      }
      if (namespace_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getNamespace());
      }
      if (host_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getHost());
      }
      if (port_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getPort());
      }
      if (protocol_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getProtocol());
      }
      if (version_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getVersion());
      }
      if (priority_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getPriority());
      }
      if (weight_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getWeight());
      }
      if (healthCheck_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getHealthCheck());
      }
      if (healthy_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getHealthy());
      }
      if (isolate_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getIsolate());
      }
      if (location_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getLocation());
      }
      for (java.util.Map.Entry entry
           : internalGetMetadata().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        metadata__ = MetadataDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(14, metadata__);
      }
      if (logicSet_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, getLogicSet());
      }
      if (ctime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getCtime());
      }
      if (mtime_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, getMtime());
      }
      if (revision_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, getRevision());
      }
      if (serviceToken_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, getServiceToken());
      }
      if (enableHealthCheck_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, getEnableHealthCheck());
      }
      if (vpcId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, getVpcId());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.Instance)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.Instance other = (com.tencent.polaris.client.pb.ServiceProto.Instance) obj;

      if (hasId() != other.hasId()) return false;
      if (hasId()) {
        if (!getId()
            .equals(other.getId())) return false;
      }
      if (hasService() != other.hasService()) return false;
      if (hasService()) {
        if (!getService()
            .equals(other.getService())) return false;
      }
      if (hasNamespace() != other.hasNamespace()) return false;
      if (hasNamespace()) {
        if (!getNamespace()
            .equals(other.getNamespace())) return false;
      }
      if (hasVpcId() != other.hasVpcId()) return false;
      if (hasVpcId()) {
        if (!getVpcId()
            .equals(other.getVpcId())) return false;
      }
      if (hasHost() != other.hasHost()) return false;
      if (hasHost()) {
        if (!getHost()
            .equals(other.getHost())) return false;
      }
      if (hasPort() != other.hasPort()) return false;
      if (hasPort()) {
        if (!getPort()
            .equals(other.getPort())) return false;
      }
      if (hasProtocol() != other.hasProtocol()) return false;
      if (hasProtocol()) {
        if (!getProtocol()
            .equals(other.getProtocol())) return false;
      }
      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (!getVersion()
            .equals(other.getVersion())) return false;
      }
      if (hasPriority() != other.hasPriority()) return false;
      if (hasPriority()) {
        if (!getPriority()
            .equals(other.getPriority())) return false;
      }
      if (hasWeight() != other.hasWeight()) return false;
      if (hasWeight()) {
        if (!getWeight()
            .equals(other.getWeight())) return false;
      }
      if (hasEnableHealthCheck() != other.hasEnableHealthCheck()) return false;
      if (hasEnableHealthCheck()) {
        if (!getEnableHealthCheck()
            .equals(other.getEnableHealthCheck())) return false;
      }
      if (hasHealthCheck() != other.hasHealthCheck()) return false;
      if (hasHealthCheck()) {
        if (!getHealthCheck()
            .equals(other.getHealthCheck())) return false;
      }
      if (hasHealthy() != other.hasHealthy()) return false;
      if (hasHealthy()) {
        if (!getHealthy()
            .equals(other.getHealthy())) return false;
      }
      if (hasIsolate() != other.hasIsolate()) return false;
      if (hasIsolate()) {
        if (!getIsolate()
            .equals(other.getIsolate())) return false;
      }
      if (hasLocation() != other.hasLocation()) return false;
      if (hasLocation()) {
        if (!getLocation()
            .equals(other.getLocation())) return false;
      }
      if (!internalGetMetadata().equals(
          other.internalGetMetadata())) return false;
      if (hasLogicSet() != other.hasLogicSet()) return false;
      if (hasLogicSet()) {
        if (!getLogicSet()
            .equals(other.getLogicSet())) return false;
      }
      if (hasCtime() != other.hasCtime()) return false;
      if (hasCtime()) {
        if (!getCtime()
            .equals(other.getCtime())) return false;
      }
      if (hasMtime() != other.hasMtime()) return false;
      if (hasMtime()) {
        if (!getMtime()
            .equals(other.getMtime())) return false;
      }
      if (hasRevision() != other.hasRevision()) return false;
      if (hasRevision()) {
        if (!getRevision()
            .equals(other.getRevision())) return false;
      }
      if (hasServiceToken() != other.hasServiceToken()) return false;
      if (hasServiceToken()) {
        if (!getServiceToken()
            .equals(other.getServiceToken())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasId()) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getId().hashCode();
      }
      if (hasService()) {
        hash = (37 * hash) + SERVICE_FIELD_NUMBER;
        hash = (53 * hash) + getService().hashCode();
      }
      if (hasNamespace()) {
        hash = (37 * hash) + NAMESPACE_FIELD_NUMBER;
        hash = (53 * hash) + getNamespace().hashCode();
      }
      if (hasVpcId()) {
        hash = (37 * hash) + VPC_ID_FIELD_NUMBER;
        hash = (53 * hash) + getVpcId().hashCode();
      }
      if (hasHost()) {
        hash = (37 * hash) + HOST_FIELD_NUMBER;
        hash = (53 * hash) + getHost().hashCode();
      }
      if (hasPort()) {
        hash = (37 * hash) + PORT_FIELD_NUMBER;
        hash = (53 * hash) + getPort().hashCode();
      }
      if (hasProtocol()) {
        hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
        hash = (53 * hash) + getProtocol().hashCode();
      }
      if (hasVersion()) {
        hash = (37 * hash) + VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getVersion().hashCode();
      }
      if (hasPriority()) {
        hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
        hash = (53 * hash) + getPriority().hashCode();
      }
      if (hasWeight()) {
        hash = (37 * hash) + WEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + getWeight().hashCode();
      }
      if (hasEnableHealthCheck()) {
        hash = (37 * hash) + ENABLE_HEALTH_CHECK_FIELD_NUMBER;
        hash = (53 * hash) + getEnableHealthCheck().hashCode();
      }
      if (hasHealthCheck()) {
        hash = (37 * hash) + HEALTH_CHECK_FIELD_NUMBER;
        hash = (53 * hash) + getHealthCheck().hashCode();
      }
      if (hasHealthy()) {
        hash = (37 * hash) + HEALTHY_FIELD_NUMBER;
        hash = (53 * hash) + getHealthy().hashCode();
      }
      if (hasIsolate()) {
        hash = (37 * hash) + ISOLATE_FIELD_NUMBER;
        hash = (53 * hash) + getIsolate().hashCode();
      }
      if (hasLocation()) {
        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getLocation().hashCode();
      }
      if (!internalGetMetadata().getMap().isEmpty()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + internalGetMetadata().hashCode();
      }
      if (hasLogicSet()) {
        hash = (37 * hash) + LOGIC_SET_FIELD_NUMBER;
        hash = (53 * hash) + getLogicSet().hashCode();
      }
      if (hasCtime()) {
        hash = (37 * hash) + CTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCtime().hashCode();
      }
      if (hasMtime()) {
        hash = (37 * hash) + MTIME_FIELD_NUMBER;
        hash = (53 * hash) + getMtime().hashCode();
      }
      if (hasRevision()) {
        hash = (37 * hash) + REVISION_FIELD_NUMBER;
        hash = (53 * hash) + getRevision().hashCode();
      }
      if (hasServiceToken()) {
        hash = (37 * hash) + SERVICE_TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getServiceToken().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.Instance parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.Instance prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.Instance}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.Instance)
        com.tencent.polaris.client.pb.ServiceProto.InstanceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 14:
            return internalGetMetadata();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 14:
            return internalGetMutableMetadata();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.Instance.class, com.tencent.polaris.client.pb.ServiceProto.Instance.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.Instance.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (idBuilder_ == null) {
          id_ = null;
        } else {
          id_ = null;
          idBuilder_ = null;
        }
        if (serviceBuilder_ == null) {
          service_ = null;
        } else {
          service_ = null;
          serviceBuilder_ = null;
        }
        if (namespaceBuilder_ == null) {
          namespace_ = null;
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }
        if (vpcIdBuilder_ == null) {
          vpcId_ = null;
        } else {
          vpcId_ = null;
          vpcIdBuilder_ = null;
        }
        if (hostBuilder_ == null) {
          host_ = null;
        } else {
          host_ = null;
          hostBuilder_ = null;
        }
        if (portBuilder_ == null) {
          port_ = null;
        } else {
          port_ = null;
          portBuilder_ = null;
        }
        if (protocolBuilder_ == null) {
          protocol_ = null;
        } else {
          protocol_ = null;
          protocolBuilder_ = null;
        }
        if (versionBuilder_ == null) {
          version_ = null;
        } else {
          version_ = null;
          versionBuilder_ = null;
        }
        if (priorityBuilder_ == null) {
          priority_ = null;
        } else {
          priority_ = null;
          priorityBuilder_ = null;
        }
        if (weightBuilder_ == null) {
          weight_ = null;
        } else {
          weight_ = null;
          weightBuilder_ = null;
        }
        if (enableHealthCheckBuilder_ == null) {
          enableHealthCheck_ = null;
        } else {
          enableHealthCheck_ = null;
          enableHealthCheckBuilder_ = null;
        }
        if (healthCheckBuilder_ == null) {
          healthCheck_ = null;
        } else {
          healthCheck_ = null;
          healthCheckBuilder_ = null;
        }
        if (healthyBuilder_ == null) {
          healthy_ = null;
        } else {
          healthy_ = null;
          healthyBuilder_ = null;
        }
        if (isolateBuilder_ == null) {
          isolate_ = null;
        } else {
          isolate_ = null;
          isolateBuilder_ = null;
        }
        if (locationBuilder_ == null) {
          location_ = null;
        } else {
          location_ = null;
          locationBuilder_ = null;
        }
        internalGetMutableMetadata().clear();
        if (logicSetBuilder_ == null) {
          logicSet_ = null;
        } else {
          logicSet_ = null;
          logicSetBuilder_ = null;
        }
        if (ctimeBuilder_ == null) {
          ctime_ = null;
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }
        if (mtimeBuilder_ == null) {
          mtime_ = null;
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }
        if (revisionBuilder_ == null) {
          revision_ = null;
        } else {
          revision_ = null;
          revisionBuilder_ = null;
        }
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = null;
        } else {
          serviceToken_ = null;
          serviceTokenBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_Instance_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Instance getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.Instance.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Instance build() {
        com.tencent.polaris.client.pb.ServiceProto.Instance result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.Instance buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.Instance result = new com.tencent.polaris.client.pb.ServiceProto.Instance(this);
        int from_bitField0_ = bitField0_;
        if (idBuilder_ == null) {
          result.id_ = id_;
        } else {
          result.id_ = idBuilder_.build();
        }
        if (serviceBuilder_ == null) {
          result.service_ = service_;
        } else {
          result.service_ = serviceBuilder_.build();
        }
        if (namespaceBuilder_ == null) {
          result.namespace_ = namespace_;
        } else {
          result.namespace_ = namespaceBuilder_.build();
        }
        if (vpcIdBuilder_ == null) {
          result.vpcId_ = vpcId_;
        } else {
          result.vpcId_ = vpcIdBuilder_.build();
        }
        if (hostBuilder_ == null) {
          result.host_ = host_;
        } else {
          result.host_ = hostBuilder_.build();
        }
        if (portBuilder_ == null) {
          result.port_ = port_;
        } else {
          result.port_ = portBuilder_.build();
        }
        if (protocolBuilder_ == null) {
          result.protocol_ = protocol_;
        } else {
          result.protocol_ = protocolBuilder_.build();
        }
        if (versionBuilder_ == null) {
          result.version_ = version_;
        } else {
          result.version_ = versionBuilder_.build();
        }
        if (priorityBuilder_ == null) {
          result.priority_ = priority_;
        } else {
          result.priority_ = priorityBuilder_.build();
        }
        if (weightBuilder_ == null) {
          result.weight_ = weight_;
        } else {
          result.weight_ = weightBuilder_.build();
        }
        if (enableHealthCheckBuilder_ == null) {
          result.enableHealthCheck_ = enableHealthCheck_;
        } else {
          result.enableHealthCheck_ = enableHealthCheckBuilder_.build();
        }
        if (healthCheckBuilder_ == null) {
          result.healthCheck_ = healthCheck_;
        } else {
          result.healthCheck_ = healthCheckBuilder_.build();
        }
        if (healthyBuilder_ == null) {
          result.healthy_ = healthy_;
        } else {
          result.healthy_ = healthyBuilder_.build();
        }
        if (isolateBuilder_ == null) {
          result.isolate_ = isolate_;
        } else {
          result.isolate_ = isolateBuilder_.build();
        }
        if (locationBuilder_ == null) {
          result.location_ = location_;
        } else {
          result.location_ = locationBuilder_.build();
        }
        result.metadata_ = internalGetMetadata();
        result.metadata_.makeImmutable();
        if (logicSetBuilder_ == null) {
          result.logicSet_ = logicSet_;
        } else {
          result.logicSet_ = logicSetBuilder_.build();
        }
        if (ctimeBuilder_ == null) {
          result.ctime_ = ctime_;
        } else {
          result.ctime_ = ctimeBuilder_.build();
        }
        if (mtimeBuilder_ == null) {
          result.mtime_ = mtime_;
        } else {
          result.mtime_ = mtimeBuilder_.build();
        }
        if (revisionBuilder_ == null) {
          result.revision_ = revision_;
        } else {
          result.revision_ = revisionBuilder_.build();
        }
        if (serviceTokenBuilder_ == null) {
          result.serviceToken_ = serviceToken_;
        } else {
          result.serviceToken_ = serviceTokenBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.Instance) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.Instance)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.Instance other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.Instance.getDefaultInstance()) return this;
        if (other.hasId()) {
          mergeId(other.getId());
        }
        if (other.hasService()) {
          mergeService(other.getService());
        }
        if (other.hasNamespace()) {
          mergeNamespace(other.getNamespace());
        }
        if (other.hasVpcId()) {
          mergeVpcId(other.getVpcId());
        }
        if (other.hasHost()) {
          mergeHost(other.getHost());
        }
        if (other.hasPort()) {
          mergePort(other.getPort());
        }
        if (other.hasProtocol()) {
          mergeProtocol(other.getProtocol());
        }
        if (other.hasVersion()) {
          mergeVersion(other.getVersion());
        }
        if (other.hasPriority()) {
          mergePriority(other.getPriority());
        }
        if (other.hasWeight()) {
          mergeWeight(other.getWeight());
        }
        if (other.hasEnableHealthCheck()) {
          mergeEnableHealthCheck(other.getEnableHealthCheck());
        }
        if (other.hasHealthCheck()) {
          mergeHealthCheck(other.getHealthCheck());
        }
        if (other.hasHealthy()) {
          mergeHealthy(other.getHealthy());
        }
        if (other.hasIsolate()) {
          mergeIsolate(other.getIsolate());
        }
        if (other.hasLocation()) {
          mergeLocation(other.getLocation());
        }
        internalGetMutableMetadata().mergeFrom(
            other.internalGetMetadata());
        if (other.hasLogicSet()) {
          mergeLogicSet(other.getLogicSet());
        }
        if (other.hasCtime()) {
          mergeCtime(other.getCtime());
        }
        if (other.hasMtime()) {
          mergeMtime(other.getMtime());
        }
        if (other.hasRevision()) {
          mergeRevision(other.getRevision());
        }
        if (other.hasServiceToken()) {
          mergeServiceToken(other.getServiceToken());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.Instance parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.Instance) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.StringValue id_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> idBuilder_;
      /**
       * .google.protobuf.StringValue id = 1;
       * @return Whether the id field is set.
       */
      public boolean hasId() {
        return idBuilder_ != null || id_ != null;
      }
      /**
       * .google.protobuf.StringValue id = 1;
       * @return The id.
       */
      public com.google.protobuf.StringValue getId() {
        if (idBuilder_ == null) {
          return id_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : id_;
        } else {
          return idBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public Builder setId(com.google.protobuf.StringValue value) {
        if (idBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          id_ = value;
          onChanged();
        } else {
          idBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public Builder setId(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (idBuilder_ == null) {
          id_ = builderForValue.build();
          onChanged();
        } else {
          idBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public Builder mergeId(com.google.protobuf.StringValue value) {
        if (idBuilder_ == null) {
          if (id_ != null) {
            id_ =
              com.google.protobuf.StringValue.newBuilder(id_).mergeFrom(value).buildPartial();
          } else {
            id_ = value;
          }
          onChanged();
        } else {
          idBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public Builder clearId() {
        if (idBuilder_ == null) {
          id_ = null;
          onChanged();
        } else {
          id_ = null;
          idBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public com.google.protobuf.StringValue.Builder getIdBuilder() {
        
        onChanged();
        return getIdFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      public com.google.protobuf.StringValueOrBuilder getIdOrBuilder() {
        if (idBuilder_ != null) {
          return idBuilder_.getMessageOrBuilder();
        } else {
          return id_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : id_;
        }
      }
      /**
       * .google.protobuf.StringValue id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getIdFieldBuilder() {
        if (idBuilder_ == null) {
          idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getId(),
                  getParentForChildren(),
                  isClean());
          id_ = null;
        }
        return idBuilder_;
      }

      private com.google.protobuf.StringValue service_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> serviceBuilder_;
      /**
       * .google.protobuf.StringValue service = 2;
       * @return Whether the service field is set.
       */
      public boolean hasService() {
        return serviceBuilder_ != null || service_ != null;
      }
      /**
       * .google.protobuf.StringValue service = 2;
       * @return The service.
       */
      public com.google.protobuf.StringValue getService() {
        if (serviceBuilder_ == null) {
          return service_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : service_;
        } else {
          return serviceBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public Builder setService(com.google.protobuf.StringValue value) {
        if (serviceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          service_ = value;
          onChanged();
        } else {
          serviceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public Builder setService(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (serviceBuilder_ == null) {
          service_ = builderForValue.build();
          onChanged();
        } else {
          serviceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public Builder mergeService(com.google.protobuf.StringValue value) {
        if (serviceBuilder_ == null) {
          if (service_ != null) {
            service_ =
              com.google.protobuf.StringValue.newBuilder(service_).mergeFrom(value).buildPartial();
          } else {
            service_ = value;
          }
          onChanged();
        } else {
          serviceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public Builder clearService() {
        if (serviceBuilder_ == null) {
          service_ = null;
          onChanged();
        } else {
          service_ = null;
          serviceBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public com.google.protobuf.StringValue.Builder getServiceBuilder() {
        
        onChanged();
        return getServiceFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      public com.google.protobuf.StringValueOrBuilder getServiceOrBuilder() {
        if (serviceBuilder_ != null) {
          return serviceBuilder_.getMessageOrBuilder();
        } else {
          return service_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : service_;
        }
      }
      /**
       * .google.protobuf.StringValue service = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getServiceFieldBuilder() {
        if (serviceBuilder_ == null) {
          serviceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getService(),
                  getParentForChildren(),
                  isClean());
          service_ = null;
        }
        return serviceBuilder_;
      }

      private com.google.protobuf.StringValue namespace_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> namespaceBuilder_;
      /**
       * .google.protobuf.StringValue namespace = 3;
       * @return Whether the namespace field is set.
       */
      public boolean hasNamespace() {
        return namespaceBuilder_ != null || namespace_ != null;
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       * @return The namespace.
       */
      public com.google.protobuf.StringValue getNamespace() {
        if (namespaceBuilder_ == null) {
          return namespace_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        } else {
          return namespaceBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public Builder setNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          namespace_ = value;
          onChanged();
        } else {
          namespaceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public Builder setNamespace(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (namespaceBuilder_ == null) {
          namespace_ = builderForValue.build();
          onChanged();
        } else {
          namespaceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public Builder mergeNamespace(com.google.protobuf.StringValue value) {
        if (namespaceBuilder_ == null) {
          if (namespace_ != null) {
            namespace_ =
              com.google.protobuf.StringValue.newBuilder(namespace_).mergeFrom(value).buildPartial();
          } else {
            namespace_ = value;
          }
          onChanged();
        } else {
          namespaceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public Builder clearNamespace() {
        if (namespaceBuilder_ == null) {
          namespace_ = null;
          onChanged();
        } else {
          namespace_ = null;
          namespaceBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public com.google.protobuf.StringValue.Builder getNamespaceBuilder() {
        
        onChanged();
        return getNamespaceFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      public com.google.protobuf.StringValueOrBuilder getNamespaceOrBuilder() {
        if (namespaceBuilder_ != null) {
          return namespaceBuilder_.getMessageOrBuilder();
        } else {
          return namespace_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : namespace_;
        }
      }
      /**
       * .google.protobuf.StringValue namespace = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getNamespaceFieldBuilder() {
        if (namespaceBuilder_ == null) {
          namespaceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getNamespace(),
                  getParentForChildren(),
                  isClean());
          namespace_ = null;
        }
        return namespaceBuilder_;
      }

      private com.google.protobuf.StringValue vpcId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> vpcIdBuilder_;
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       * @return Whether the vpcId field is set.
       */
      public boolean hasVpcId() {
        return vpcIdBuilder_ != null || vpcId_ != null;
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       * @return The vpcId.
       */
      public com.google.protobuf.StringValue getVpcId() {
        if (vpcIdBuilder_ == null) {
          return vpcId_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : vpcId_;
        } else {
          return vpcIdBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public Builder setVpcId(com.google.protobuf.StringValue value) {
        if (vpcIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          vpcId_ = value;
          onChanged();
        } else {
          vpcIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public Builder setVpcId(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (vpcIdBuilder_ == null) {
          vpcId_ = builderForValue.build();
          onChanged();
        } else {
          vpcIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public Builder mergeVpcId(com.google.protobuf.StringValue value) {
        if (vpcIdBuilder_ == null) {
          if (vpcId_ != null) {
            vpcId_ =
              com.google.protobuf.StringValue.newBuilder(vpcId_).mergeFrom(value).buildPartial();
          } else {
            vpcId_ = value;
          }
          onChanged();
        } else {
          vpcIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public Builder clearVpcId() {
        if (vpcIdBuilder_ == null) {
          vpcId_ = null;
          onChanged();
        } else {
          vpcId_ = null;
          vpcIdBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public com.google.protobuf.StringValue.Builder getVpcIdBuilder() {
        
        onChanged();
        return getVpcIdFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      public com.google.protobuf.StringValueOrBuilder getVpcIdOrBuilder() {
        if (vpcIdBuilder_ != null) {
          return vpcIdBuilder_.getMessageOrBuilder();
        } else {
          return vpcId_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : vpcId_;
        }
      }
      /**
       * .google.protobuf.StringValue vpc_id = 21[json_name = "vpc_id"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getVpcIdFieldBuilder() {
        if (vpcIdBuilder_ == null) {
          vpcIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getVpcId(),
                  getParentForChildren(),
                  isClean());
          vpcId_ = null;
        }
        return vpcIdBuilder_;
      }

      private com.google.protobuf.StringValue host_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> hostBuilder_;
      /**
       * .google.protobuf.StringValue host = 4;
       * @return Whether the host field is set.
       */
      public boolean hasHost() {
        return hostBuilder_ != null || host_ != null;
      }
      /**
       * .google.protobuf.StringValue host = 4;
       * @return The host.
       */
      public com.google.protobuf.StringValue getHost() {
        if (hostBuilder_ == null) {
          return host_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : host_;
        } else {
          return hostBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public Builder setHost(com.google.protobuf.StringValue value) {
        if (hostBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          host_ = value;
          onChanged();
        } else {
          hostBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public Builder setHost(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (hostBuilder_ == null) {
          host_ = builderForValue.build();
          onChanged();
        } else {
          hostBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public Builder mergeHost(com.google.protobuf.StringValue value) {
        if (hostBuilder_ == null) {
          if (host_ != null) {
            host_ =
              com.google.protobuf.StringValue.newBuilder(host_).mergeFrom(value).buildPartial();
          } else {
            host_ = value;
          }
          onChanged();
        } else {
          hostBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public Builder clearHost() {
        if (hostBuilder_ == null) {
          host_ = null;
          onChanged();
        } else {
          host_ = null;
          hostBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public com.google.protobuf.StringValue.Builder getHostBuilder() {
        
        onChanged();
        return getHostFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      public com.google.protobuf.StringValueOrBuilder getHostOrBuilder() {
        if (hostBuilder_ != null) {
          return hostBuilder_.getMessageOrBuilder();
        } else {
          return host_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : host_;
        }
      }
      /**
       * .google.protobuf.StringValue host = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getHostFieldBuilder() {
        if (hostBuilder_ == null) {
          hostBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getHost(),
                  getParentForChildren(),
                  isClean());
          host_ = null;
        }
        return hostBuilder_;
      }

      private com.google.protobuf.UInt32Value port_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> portBuilder_;
      /**
       * .google.protobuf.UInt32Value port = 5;
       * @return Whether the port field is set.
       */
      public boolean hasPort() {
        return portBuilder_ != null || port_ != null;
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       * @return The port.
       */
      public com.google.protobuf.UInt32Value getPort() {
        if (portBuilder_ == null) {
          return port_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : port_;
        } else {
          return portBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public Builder setPort(com.google.protobuf.UInt32Value value) {
        if (portBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          port_ = value;
          onChanged();
        } else {
          portBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public Builder setPort(
          com.google.protobuf.UInt32Value.Builder builderForValue) {
        if (portBuilder_ == null) {
          port_ = builderForValue.build();
          onChanged();
        } else {
          portBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public Builder mergePort(com.google.protobuf.UInt32Value value) {
        if (portBuilder_ == null) {
          if (port_ != null) {
            port_ =
              com.google.protobuf.UInt32Value.newBuilder(port_).mergeFrom(value).buildPartial();
          } else {
            port_ = value;
          }
          onChanged();
        } else {
          portBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public Builder clearPort() {
        if (portBuilder_ == null) {
          port_ = null;
          onChanged();
        } else {
          port_ = null;
          portBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public com.google.protobuf.UInt32Value.Builder getPortBuilder() {
        
        onChanged();
        return getPortFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      public com.google.protobuf.UInt32ValueOrBuilder getPortOrBuilder() {
        if (portBuilder_ != null) {
          return portBuilder_.getMessageOrBuilder();
        } else {
          return port_ == null ?
              com.google.protobuf.UInt32Value.getDefaultInstance() : port_;
        }
      }
      /**
       * .google.protobuf.UInt32Value port = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> 
          getPortFieldBuilder() {
        if (portBuilder_ == null) {
          portBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
                  getPort(),
                  getParentForChildren(),
                  isClean());
          port_ = null;
        }
        return portBuilder_;
      }

      private com.google.protobuf.StringValue protocol_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> protocolBuilder_;
      /**
       * .google.protobuf.StringValue protocol = 6;
       * @return Whether the protocol field is set.
       */
      public boolean hasProtocol() {
        return protocolBuilder_ != null || protocol_ != null;
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       * @return The protocol.
       */
      public com.google.protobuf.StringValue getProtocol() {
        if (protocolBuilder_ == null) {
          return protocol_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : protocol_;
        } else {
          return protocolBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public Builder setProtocol(com.google.protobuf.StringValue value) {
        if (protocolBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          protocol_ = value;
          onChanged();
        } else {
          protocolBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public Builder setProtocol(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (protocolBuilder_ == null) {
          protocol_ = builderForValue.build();
          onChanged();
        } else {
          protocolBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public Builder mergeProtocol(com.google.protobuf.StringValue value) {
        if (protocolBuilder_ == null) {
          if (protocol_ != null) {
            protocol_ =
              com.google.protobuf.StringValue.newBuilder(protocol_).mergeFrom(value).buildPartial();
          } else {
            protocol_ = value;
          }
          onChanged();
        } else {
          protocolBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public Builder clearProtocol() {
        if (protocolBuilder_ == null) {
          protocol_ = null;
          onChanged();
        } else {
          protocol_ = null;
          protocolBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public com.google.protobuf.StringValue.Builder getProtocolBuilder() {
        
        onChanged();
        return getProtocolFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      public com.google.protobuf.StringValueOrBuilder getProtocolOrBuilder() {
        if (protocolBuilder_ != null) {
          return protocolBuilder_.getMessageOrBuilder();
        } else {
          return protocol_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : protocol_;
        }
      }
      /**
       * .google.protobuf.StringValue protocol = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getProtocolFieldBuilder() {
        if (protocolBuilder_ == null) {
          protocolBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getProtocol(),
                  getParentForChildren(),
                  isClean());
          protocol_ = null;
        }
        return protocolBuilder_;
      }

      private com.google.protobuf.StringValue version_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> versionBuilder_;
      /**
       * .google.protobuf.StringValue version = 7;
       * @return Whether the version field is set.
       */
      public boolean hasVersion() {
        return versionBuilder_ != null || version_ != null;
      }
      /**
       * .google.protobuf.StringValue version = 7;
       * @return The version.
       */
      public com.google.protobuf.StringValue getVersion() {
        if (versionBuilder_ == null) {
          return version_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : version_;
        } else {
          return versionBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public Builder setVersion(com.google.protobuf.StringValue value) {
        if (versionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          version_ = value;
          onChanged();
        } else {
          versionBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public Builder setVersion(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (versionBuilder_ == null) {
          version_ = builderForValue.build();
          onChanged();
        } else {
          versionBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public Builder mergeVersion(com.google.protobuf.StringValue value) {
        if (versionBuilder_ == null) {
          if (version_ != null) {
            version_ =
              com.google.protobuf.StringValue.newBuilder(version_).mergeFrom(value).buildPartial();
          } else {
            version_ = value;
          }
          onChanged();
        } else {
          versionBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public Builder clearVersion() {
        if (versionBuilder_ == null) {
          version_ = null;
          onChanged();
        } else {
          version_ = null;
          versionBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public com.google.protobuf.StringValue.Builder getVersionBuilder() {
        
        onChanged();
        return getVersionFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      public com.google.protobuf.StringValueOrBuilder getVersionOrBuilder() {
        if (versionBuilder_ != null) {
          return versionBuilder_.getMessageOrBuilder();
        } else {
          return version_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : version_;
        }
      }
      /**
       * .google.protobuf.StringValue version = 7;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getVersionFieldBuilder() {
        if (versionBuilder_ == null) {
          versionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getVersion(),
                  getParentForChildren(),
                  isClean());
          version_ = null;
        }
        return versionBuilder_;
      }

      private com.google.protobuf.UInt32Value priority_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> priorityBuilder_;
      /**
       * .google.protobuf.UInt32Value priority = 8;
       * @return Whether the priority field is set.
       */
      public boolean hasPriority() {
        return priorityBuilder_ != null || priority_ != null;
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       * @return The priority.
       */
      public com.google.protobuf.UInt32Value getPriority() {
        if (priorityBuilder_ == null) {
          return priority_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : priority_;
        } else {
          return priorityBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public Builder setPriority(com.google.protobuf.UInt32Value value) {
        if (priorityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          priority_ = value;
          onChanged();
        } else {
          priorityBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public Builder setPriority(
          com.google.protobuf.UInt32Value.Builder builderForValue) {
        if (priorityBuilder_ == null) {
          priority_ = builderForValue.build();
          onChanged();
        } else {
          priorityBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public Builder mergePriority(com.google.protobuf.UInt32Value value) {
        if (priorityBuilder_ == null) {
          if (priority_ != null) {
            priority_ =
              com.google.protobuf.UInt32Value.newBuilder(priority_).mergeFrom(value).buildPartial();
          } else {
            priority_ = value;
          }
          onChanged();
        } else {
          priorityBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public Builder clearPriority() {
        if (priorityBuilder_ == null) {
          priority_ = null;
          onChanged();
        } else {
          priority_ = null;
          priorityBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public com.google.protobuf.UInt32Value.Builder getPriorityBuilder() {
        
        onChanged();
        return getPriorityFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      public com.google.protobuf.UInt32ValueOrBuilder getPriorityOrBuilder() {
        if (priorityBuilder_ != null) {
          return priorityBuilder_.getMessageOrBuilder();
        } else {
          return priority_ == null ?
              com.google.protobuf.UInt32Value.getDefaultInstance() : priority_;
        }
      }
      /**
       * .google.protobuf.UInt32Value priority = 8;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> 
          getPriorityFieldBuilder() {
        if (priorityBuilder_ == null) {
          priorityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
                  getPriority(),
                  getParentForChildren(),
                  isClean());
          priority_ = null;
        }
        return priorityBuilder_;
      }

      private com.google.protobuf.UInt32Value weight_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> weightBuilder_;
      /**
       * .google.protobuf.UInt32Value weight = 9;
       * @return Whether the weight field is set.
       */
      public boolean hasWeight() {
        return weightBuilder_ != null || weight_ != null;
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       * @return The weight.
       */
      public com.google.protobuf.UInt32Value getWeight() {
        if (weightBuilder_ == null) {
          return weight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : weight_;
        } else {
          return weightBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public Builder setWeight(com.google.protobuf.UInt32Value value) {
        if (weightBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          weight_ = value;
          onChanged();
        } else {
          weightBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public Builder setWeight(
          com.google.protobuf.UInt32Value.Builder builderForValue) {
        if (weightBuilder_ == null) {
          weight_ = builderForValue.build();
          onChanged();
        } else {
          weightBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public Builder mergeWeight(com.google.protobuf.UInt32Value value) {
        if (weightBuilder_ == null) {
          if (weight_ != null) {
            weight_ =
              com.google.protobuf.UInt32Value.newBuilder(weight_).mergeFrom(value).buildPartial();
          } else {
            weight_ = value;
          }
          onChanged();
        } else {
          weightBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public Builder clearWeight() {
        if (weightBuilder_ == null) {
          weight_ = null;
          onChanged();
        } else {
          weight_ = null;
          weightBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public com.google.protobuf.UInt32Value.Builder getWeightBuilder() {
        
        onChanged();
        return getWeightFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      public com.google.protobuf.UInt32ValueOrBuilder getWeightOrBuilder() {
        if (weightBuilder_ != null) {
          return weightBuilder_.getMessageOrBuilder();
        } else {
          return weight_ == null ?
              com.google.protobuf.UInt32Value.getDefaultInstance() : weight_;
        }
      }
      /**
       * .google.protobuf.UInt32Value weight = 9;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> 
          getWeightFieldBuilder() {
        if (weightBuilder_ == null) {
          weightBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
                  getWeight(),
                  getParentForChildren(),
                  isClean());
          weight_ = null;
        }
        return weightBuilder_;
      }

      private com.google.protobuf.BoolValue enableHealthCheck_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> enableHealthCheckBuilder_;
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       * @return Whether the enableHealthCheck field is set.
       */
      public boolean hasEnableHealthCheck() {
        return enableHealthCheckBuilder_ != null || enableHealthCheck_ != null;
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       * @return The enableHealthCheck.
       */
      public com.google.protobuf.BoolValue getEnableHealthCheck() {
        if (enableHealthCheckBuilder_ == null) {
          return enableHealthCheck_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : enableHealthCheck_;
        } else {
          return enableHealthCheckBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public Builder setEnableHealthCheck(com.google.protobuf.BoolValue value) {
        if (enableHealthCheckBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          enableHealthCheck_ = value;
          onChanged();
        } else {
          enableHealthCheckBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public Builder setEnableHealthCheck(
          com.google.protobuf.BoolValue.Builder builderForValue) {
        if (enableHealthCheckBuilder_ == null) {
          enableHealthCheck_ = builderForValue.build();
          onChanged();
        } else {
          enableHealthCheckBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public Builder mergeEnableHealthCheck(com.google.protobuf.BoolValue value) {
        if (enableHealthCheckBuilder_ == null) {
          if (enableHealthCheck_ != null) {
            enableHealthCheck_ =
              com.google.protobuf.BoolValue.newBuilder(enableHealthCheck_).mergeFrom(value).buildPartial();
          } else {
            enableHealthCheck_ = value;
          }
          onChanged();
        } else {
          enableHealthCheckBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public Builder clearEnableHealthCheck() {
        if (enableHealthCheckBuilder_ == null) {
          enableHealthCheck_ = null;
          onChanged();
        } else {
          enableHealthCheck_ = null;
          enableHealthCheckBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public com.google.protobuf.BoolValue.Builder getEnableHealthCheckBuilder() {
        
        onChanged();
        return getEnableHealthCheckFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      public com.google.protobuf.BoolValueOrBuilder getEnableHealthCheckOrBuilder() {
        if (enableHealthCheckBuilder_ != null) {
          return enableHealthCheckBuilder_.getMessageOrBuilder();
        } else {
          return enableHealthCheck_ == null ?
              com.google.protobuf.BoolValue.getDefaultInstance() : enableHealthCheck_;
        }
      }
      /**
       * .google.protobuf.BoolValue enable_health_check = 20;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> 
          getEnableHealthCheckFieldBuilder() {
        if (enableHealthCheckBuilder_ == null) {
          enableHealthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
                  getEnableHealthCheck(),
                  getParentForChildren(),
                  isClean());
          enableHealthCheck_ = null;
        }
        return enableHealthCheckBuilder_;
      }

      private com.tencent.polaris.client.pb.ServiceProto.HealthCheck healthCheck_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ServiceProto.HealthCheck, com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder> healthCheckBuilder_;
      /**
       * .v1.HealthCheck health_check = 10;
       * @return Whether the healthCheck field is set.
       */
      public boolean hasHealthCheck() {
        return healthCheckBuilder_ != null || healthCheck_ != null;
      }
      /**
       * .v1.HealthCheck health_check = 10;
       * @return The healthCheck.
       */
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck getHealthCheck() {
        if (healthCheckBuilder_ == null) {
          return healthCheck_ == null ? com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDefaultInstance() : healthCheck_;
        } else {
          return healthCheckBuilder_.getMessage();
        }
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public Builder setHealthCheck(com.tencent.polaris.client.pb.ServiceProto.HealthCheck value) {
        if (healthCheckBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          healthCheck_ = value;
          onChanged();
        } else {
          healthCheckBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public Builder setHealthCheck(
          com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder builderForValue) {
        if (healthCheckBuilder_ == null) {
          healthCheck_ = builderForValue.build();
          onChanged();
        } else {
          healthCheckBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public Builder mergeHealthCheck(com.tencent.polaris.client.pb.ServiceProto.HealthCheck value) {
        if (healthCheckBuilder_ == null) {
          if (healthCheck_ != null) {
            healthCheck_ =
              com.tencent.polaris.client.pb.ServiceProto.HealthCheck.newBuilder(healthCheck_).mergeFrom(value).buildPartial();
          } else {
            healthCheck_ = value;
          }
          onChanged();
        } else {
          healthCheckBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public Builder clearHealthCheck() {
        if (healthCheckBuilder_ == null) {
          healthCheck_ = null;
          onChanged();
        } else {
          healthCheck_ = null;
          healthCheckBuilder_ = null;
        }

        return this;
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder getHealthCheckBuilder() {
        
        onChanged();
        return getHealthCheckFieldBuilder().getBuilder();
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder getHealthCheckOrBuilder() {
        if (healthCheckBuilder_ != null) {
          return healthCheckBuilder_.getMessageOrBuilder();
        } else {
          return healthCheck_ == null ?
              com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDefaultInstance() : healthCheck_;
        }
      }
      /**
       * .v1.HealthCheck health_check = 10;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ServiceProto.HealthCheck, com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder> 
          getHealthCheckFieldBuilder() {
        if (healthCheckBuilder_ == null) {
          healthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.tencent.polaris.client.pb.ServiceProto.HealthCheck, com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder>(
                  getHealthCheck(),
                  getParentForChildren(),
                  isClean());
          healthCheck_ = null;
        }
        return healthCheckBuilder_;
      }

      private com.google.protobuf.BoolValue healthy_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> healthyBuilder_;
      /**
       * .google.protobuf.BoolValue healthy = 11;
       * @return Whether the healthy field is set.
       */
      public boolean hasHealthy() {
        return healthyBuilder_ != null || healthy_ != null;
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       * @return The healthy.
       */
      public com.google.protobuf.BoolValue getHealthy() {
        if (healthyBuilder_ == null) {
          return healthy_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : healthy_;
        } else {
          return healthyBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public Builder setHealthy(com.google.protobuf.BoolValue value) {
        if (healthyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          healthy_ = value;
          onChanged();
        } else {
          healthyBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public Builder setHealthy(
          com.google.protobuf.BoolValue.Builder builderForValue) {
        if (healthyBuilder_ == null) {
          healthy_ = builderForValue.build();
          onChanged();
        } else {
          healthyBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public Builder mergeHealthy(com.google.protobuf.BoolValue value) {
        if (healthyBuilder_ == null) {
          if (healthy_ != null) {
            healthy_ =
              com.google.protobuf.BoolValue.newBuilder(healthy_).mergeFrom(value).buildPartial();
          } else {
            healthy_ = value;
          }
          onChanged();
        } else {
          healthyBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public Builder clearHealthy() {
        if (healthyBuilder_ == null) {
          healthy_ = null;
          onChanged();
        } else {
          healthy_ = null;
          healthyBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public com.google.protobuf.BoolValue.Builder getHealthyBuilder() {
        
        onChanged();
        return getHealthyFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      public com.google.protobuf.BoolValueOrBuilder getHealthyOrBuilder() {
        if (healthyBuilder_ != null) {
          return healthyBuilder_.getMessageOrBuilder();
        } else {
          return healthy_ == null ?
              com.google.protobuf.BoolValue.getDefaultInstance() : healthy_;
        }
      }
      /**
       * .google.protobuf.BoolValue healthy = 11;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> 
          getHealthyFieldBuilder() {
        if (healthyBuilder_ == null) {
          healthyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
                  getHealthy(),
                  getParentForChildren(),
                  isClean());
          healthy_ = null;
        }
        return healthyBuilder_;
      }

      private com.google.protobuf.BoolValue isolate_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> isolateBuilder_;
      /**
       * .google.protobuf.BoolValue isolate = 12;
       * @return Whether the isolate field is set.
       */
      public boolean hasIsolate() {
        return isolateBuilder_ != null || isolate_ != null;
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       * @return The isolate.
       */
      public com.google.protobuf.BoolValue getIsolate() {
        if (isolateBuilder_ == null) {
          return isolate_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : isolate_;
        } else {
          return isolateBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public Builder setIsolate(com.google.protobuf.BoolValue value) {
        if (isolateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          isolate_ = value;
          onChanged();
        } else {
          isolateBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public Builder setIsolate(
          com.google.protobuf.BoolValue.Builder builderForValue) {
        if (isolateBuilder_ == null) {
          isolate_ = builderForValue.build();
          onChanged();
        } else {
          isolateBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public Builder mergeIsolate(com.google.protobuf.BoolValue value) {
        if (isolateBuilder_ == null) {
          if (isolate_ != null) {
            isolate_ =
              com.google.protobuf.BoolValue.newBuilder(isolate_).mergeFrom(value).buildPartial();
          } else {
            isolate_ = value;
          }
          onChanged();
        } else {
          isolateBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public Builder clearIsolate() {
        if (isolateBuilder_ == null) {
          isolate_ = null;
          onChanged();
        } else {
          isolate_ = null;
          isolateBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public com.google.protobuf.BoolValue.Builder getIsolateBuilder() {
        
        onChanged();
        return getIsolateFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      public com.google.protobuf.BoolValueOrBuilder getIsolateOrBuilder() {
        if (isolateBuilder_ != null) {
          return isolateBuilder_.getMessageOrBuilder();
        } else {
          return isolate_ == null ?
              com.google.protobuf.BoolValue.getDefaultInstance() : isolate_;
        }
      }
      /**
       * .google.protobuf.BoolValue isolate = 12;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> 
          getIsolateFieldBuilder() {
        if (isolateBuilder_ == null) {
          isolateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
                  getIsolate(),
                  getParentForChildren(),
                  isClean());
          isolate_ = null;
        }
        return isolateBuilder_;
      }

      private com.tencent.polaris.client.pb.ModelProto.Location location_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ModelProto.Location, com.tencent.polaris.client.pb.ModelProto.Location.Builder, com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder> locationBuilder_;
      /**
       * .v1.Location location = 13;
       * @return Whether the location field is set.
       */
      public boolean hasLocation() {
        return locationBuilder_ != null || location_ != null;
      }
      /**
       * .v1.Location location = 13;
       * @return The location.
       */
      public com.tencent.polaris.client.pb.ModelProto.Location getLocation() {
        if (locationBuilder_ == null) {
          return location_ == null ? com.tencent.polaris.client.pb.ModelProto.Location.getDefaultInstance() : location_;
        } else {
          return locationBuilder_.getMessage();
        }
      }
      /**
       * .v1.Location location = 13;
       */
      public Builder setLocation(com.tencent.polaris.client.pb.ModelProto.Location value) {
        if (locationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          location_ = value;
          onChanged();
        } else {
          locationBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .v1.Location location = 13;
       */
      public Builder setLocation(
          com.tencent.polaris.client.pb.ModelProto.Location.Builder builderForValue) {
        if (locationBuilder_ == null) {
          location_ = builderForValue.build();
          onChanged();
        } else {
          locationBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .v1.Location location = 13;
       */
      public Builder mergeLocation(com.tencent.polaris.client.pb.ModelProto.Location value) {
        if (locationBuilder_ == null) {
          if (location_ != null) {
            location_ =
              com.tencent.polaris.client.pb.ModelProto.Location.newBuilder(location_).mergeFrom(value).buildPartial();
          } else {
            location_ = value;
          }
          onChanged();
        } else {
          locationBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .v1.Location location = 13;
       */
      public Builder clearLocation() {
        if (locationBuilder_ == null) {
          location_ = null;
          onChanged();
        } else {
          location_ = null;
          locationBuilder_ = null;
        }

        return this;
      }
      /**
       * .v1.Location location = 13;
       */
      public com.tencent.polaris.client.pb.ModelProto.Location.Builder getLocationBuilder() {
        
        onChanged();
        return getLocationFieldBuilder().getBuilder();
      }
      /**
       * .v1.Location location = 13;
       */
      public com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder getLocationOrBuilder() {
        if (locationBuilder_ != null) {
          return locationBuilder_.getMessageOrBuilder();
        } else {
          return location_ == null ?
              com.tencent.polaris.client.pb.ModelProto.Location.getDefaultInstance() : location_;
        }
      }
      /**
       * .v1.Location location = 13;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ModelProto.Location, com.tencent.polaris.client.pb.ModelProto.Location.Builder, com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder> 
          getLocationFieldBuilder() {
        if (locationBuilder_ == null) {
          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.tencent.polaris.client.pb.ModelProto.Location, com.tencent.polaris.client.pb.ModelProto.Location.Builder, com.tencent.polaris.client.pb.ModelProto.LocationOrBuilder>(
                  getLocation(),
                  getParentForChildren(),
                  isClean());
          location_ = null;
        }
        return locationBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> metadata_;
      private com.google.protobuf.MapField
      internalGetMetadata() {
        if (metadata_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              MetadataDefaultEntryHolder.defaultEntry);
        }
        return metadata_;
      }
      private com.google.protobuf.MapField
      internalGetMutableMetadata() {
        onChanged();;
        if (metadata_ == null) {
          metadata_ = com.google.protobuf.MapField.newMapField(
              MetadataDefaultEntryHolder.defaultEntry);
        }
        if (!metadata_.isMutable()) {
          metadata_ = metadata_.copy();
        }
        return metadata_;
      }

      public int getMetadataCount() {
        return internalGetMetadata().getMap().size();
      }
      /**
       * map<string, string> metadata = 14;
       */

      @java.lang.Override
      public boolean containsMetadata(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetMetadata().getMap().containsKey(key);
      }
      /**
       * Use {@link #getMetadataMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getMetadata() {
        return getMetadataMap();
      }
      /**
       * map<string, string> metadata = 14;
       */
      @java.lang.Override

      public java.util.Map getMetadataMap() {
        return internalGetMetadata().getMap();
      }
      /**
       * map<string, string> metadata = 14;
       */
      @java.lang.Override

      public java.lang.String getMetadataOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetMetadata().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> metadata = 14;
       */
      @java.lang.Override

      public java.lang.String getMetadataOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetMetadata().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearMetadata() {
        internalGetMutableMetadata().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> metadata = 14;
       */

      public Builder removeMetadata(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableMetadata().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableMetadata() {
        return internalGetMutableMetadata().getMutableMap();
      }
      /**
       * map<string, string> metadata = 14;
       */
      public Builder putMetadata(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableMetadata().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> metadata = 14;
       */

      public Builder putAllMetadata(
          java.util.Map values) {
        internalGetMutableMetadata().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.StringValue logicSet_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> logicSetBuilder_;
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       * @return Whether the logicSet field is set.
       */
      public boolean hasLogicSet() {
        return logicSetBuilder_ != null || logicSet_ != null;
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       * @return The logicSet.
       */
      public com.google.protobuf.StringValue getLogicSet() {
        if (logicSetBuilder_ == null) {
          return logicSet_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : logicSet_;
        } else {
          return logicSetBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public Builder setLogicSet(com.google.protobuf.StringValue value) {
        if (logicSetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          logicSet_ = value;
          onChanged();
        } else {
          logicSetBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public Builder setLogicSet(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (logicSetBuilder_ == null) {
          logicSet_ = builderForValue.build();
          onChanged();
        } else {
          logicSetBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public Builder mergeLogicSet(com.google.protobuf.StringValue value) {
        if (logicSetBuilder_ == null) {
          if (logicSet_ != null) {
            logicSet_ =
              com.google.protobuf.StringValue.newBuilder(logicSet_).mergeFrom(value).buildPartial();
          } else {
            logicSet_ = value;
          }
          onChanged();
        } else {
          logicSetBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public Builder clearLogicSet() {
        if (logicSetBuilder_ == null) {
          logicSet_ = null;
          onChanged();
        } else {
          logicSet_ = null;
          logicSetBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public com.google.protobuf.StringValue.Builder getLogicSetBuilder() {
        
        onChanged();
        return getLogicSetFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      public com.google.protobuf.StringValueOrBuilder getLogicSetOrBuilder() {
        if (logicSetBuilder_ != null) {
          return logicSetBuilder_.getMessageOrBuilder();
        } else {
          return logicSet_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : logicSet_;
        }
      }
      /**
       * .google.protobuf.StringValue logic_set = 15[json_name = "logic_set"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getLogicSetFieldBuilder() {
        if (logicSetBuilder_ == null) {
          logicSetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getLogicSet(),
                  getParentForChildren(),
                  isClean());
          logicSet_ = null;
        }
        return logicSetBuilder_;
      }

      private com.google.protobuf.StringValue ctime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> ctimeBuilder_;
      /**
       * .google.protobuf.StringValue ctime = 16;
       * @return Whether the ctime field is set.
       */
      public boolean hasCtime() {
        return ctimeBuilder_ != null || ctime_ != null;
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       * @return The ctime.
       */
      public com.google.protobuf.StringValue getCtime() {
        if (ctimeBuilder_ == null) {
          return ctime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        } else {
          return ctimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public Builder setCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ctime_ = value;
          onChanged();
        } else {
          ctimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public Builder setCtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (ctimeBuilder_ == null) {
          ctime_ = builderForValue.build();
          onChanged();
        } else {
          ctimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public Builder mergeCtime(com.google.protobuf.StringValue value) {
        if (ctimeBuilder_ == null) {
          if (ctime_ != null) {
            ctime_ =
              com.google.protobuf.StringValue.newBuilder(ctime_).mergeFrom(value).buildPartial();
          } else {
            ctime_ = value;
          }
          onChanged();
        } else {
          ctimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public Builder clearCtime() {
        if (ctimeBuilder_ == null) {
          ctime_ = null;
          onChanged();
        } else {
          ctime_ = null;
          ctimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public com.google.protobuf.StringValue.Builder getCtimeBuilder() {
        
        onChanged();
        return getCtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      public com.google.protobuf.StringValueOrBuilder getCtimeOrBuilder() {
        if (ctimeBuilder_ != null) {
          return ctimeBuilder_.getMessageOrBuilder();
        } else {
          return ctime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : ctime_;
        }
      }
      /**
       * .google.protobuf.StringValue ctime = 16;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getCtimeFieldBuilder() {
        if (ctimeBuilder_ == null) {
          ctimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getCtime(),
                  getParentForChildren(),
                  isClean());
          ctime_ = null;
        }
        return ctimeBuilder_;
      }

      private com.google.protobuf.StringValue mtime_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> mtimeBuilder_;
      /**
       * .google.protobuf.StringValue mtime = 17;
       * @return Whether the mtime field is set.
       */
      public boolean hasMtime() {
        return mtimeBuilder_ != null || mtime_ != null;
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       * @return The mtime.
       */
      public com.google.protobuf.StringValue getMtime() {
        if (mtimeBuilder_ == null) {
          return mtime_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        } else {
          return mtimeBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public Builder setMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mtime_ = value;
          onChanged();
        } else {
          mtimeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public Builder setMtime(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (mtimeBuilder_ == null) {
          mtime_ = builderForValue.build();
          onChanged();
        } else {
          mtimeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public Builder mergeMtime(com.google.protobuf.StringValue value) {
        if (mtimeBuilder_ == null) {
          if (mtime_ != null) {
            mtime_ =
              com.google.protobuf.StringValue.newBuilder(mtime_).mergeFrom(value).buildPartial();
          } else {
            mtime_ = value;
          }
          onChanged();
        } else {
          mtimeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public Builder clearMtime() {
        if (mtimeBuilder_ == null) {
          mtime_ = null;
          onChanged();
        } else {
          mtime_ = null;
          mtimeBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public com.google.protobuf.StringValue.Builder getMtimeBuilder() {
        
        onChanged();
        return getMtimeFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      public com.google.protobuf.StringValueOrBuilder getMtimeOrBuilder() {
        if (mtimeBuilder_ != null) {
          return mtimeBuilder_.getMessageOrBuilder();
        } else {
          return mtime_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : mtime_;
        }
      }
      /**
       * .google.protobuf.StringValue mtime = 17;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getMtimeFieldBuilder() {
        if (mtimeBuilder_ == null) {
          mtimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getMtime(),
                  getParentForChildren(),
                  isClean());
          mtime_ = null;
        }
        return mtimeBuilder_;
      }

      private com.google.protobuf.StringValue revision_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> revisionBuilder_;
      /**
       * .google.protobuf.StringValue revision = 18;
       * @return Whether the revision field is set.
       */
      public boolean hasRevision() {
        return revisionBuilder_ != null || revision_ != null;
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       * @return The revision.
       */
      public com.google.protobuf.StringValue getRevision() {
        if (revisionBuilder_ == null) {
          return revision_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : revision_;
        } else {
          return revisionBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public Builder setRevision(com.google.protobuf.StringValue value) {
        if (revisionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          revision_ = value;
          onChanged();
        } else {
          revisionBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public Builder setRevision(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (revisionBuilder_ == null) {
          revision_ = builderForValue.build();
          onChanged();
        } else {
          revisionBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public Builder mergeRevision(com.google.protobuf.StringValue value) {
        if (revisionBuilder_ == null) {
          if (revision_ != null) {
            revision_ =
              com.google.protobuf.StringValue.newBuilder(revision_).mergeFrom(value).buildPartial();
          } else {
            revision_ = value;
          }
          onChanged();
        } else {
          revisionBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public Builder clearRevision() {
        if (revisionBuilder_ == null) {
          revision_ = null;
          onChanged();
        } else {
          revision_ = null;
          revisionBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public com.google.protobuf.StringValue.Builder getRevisionBuilder() {
        
        onChanged();
        return getRevisionFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      public com.google.protobuf.StringValueOrBuilder getRevisionOrBuilder() {
        if (revisionBuilder_ != null) {
          return revisionBuilder_.getMessageOrBuilder();
        } else {
          return revision_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : revision_;
        }
      }
      /**
       * .google.protobuf.StringValue revision = 18;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getRevisionFieldBuilder() {
        if (revisionBuilder_ == null) {
          revisionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getRevision(),
                  getParentForChildren(),
                  isClean());
          revision_ = null;
        }
        return revisionBuilder_;
      }

      private com.google.protobuf.StringValue serviceToken_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> serviceTokenBuilder_;
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       * @return Whether the serviceToken field is set.
       */
      public boolean hasServiceToken() {
        return serviceTokenBuilder_ != null || serviceToken_ != null;
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       * @return The serviceToken.
       */
      public com.google.protobuf.StringValue getServiceToken() {
        if (serviceTokenBuilder_ == null) {
          return serviceToken_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
        } else {
          return serviceTokenBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public Builder setServiceToken(com.google.protobuf.StringValue value) {
        if (serviceTokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          serviceToken_ = value;
          onChanged();
        } else {
          serviceTokenBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public Builder setServiceToken(
          com.google.protobuf.StringValue.Builder builderForValue) {
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = builderForValue.build();
          onChanged();
        } else {
          serviceTokenBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public Builder mergeServiceToken(com.google.protobuf.StringValue value) {
        if (serviceTokenBuilder_ == null) {
          if (serviceToken_ != null) {
            serviceToken_ =
              com.google.protobuf.StringValue.newBuilder(serviceToken_).mergeFrom(value).buildPartial();
          } else {
            serviceToken_ = value;
          }
          onChanged();
        } else {
          serviceTokenBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public Builder clearServiceToken() {
        if (serviceTokenBuilder_ == null) {
          serviceToken_ = null;
          onChanged();
        } else {
          serviceToken_ = null;
          serviceTokenBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public com.google.protobuf.StringValue.Builder getServiceTokenBuilder() {
        
        onChanged();
        return getServiceTokenFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      public com.google.protobuf.StringValueOrBuilder getServiceTokenOrBuilder() {
        if (serviceTokenBuilder_ != null) {
          return serviceTokenBuilder_.getMessageOrBuilder();
        } else {
          return serviceToken_ == null ?
              com.google.protobuf.StringValue.getDefaultInstance() : serviceToken_;
        }
      }
      /**
       * .google.protobuf.StringValue service_token = 19[json_name = "service_token"];
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> 
          getServiceTokenFieldBuilder() {
        if (serviceTokenBuilder_ == null) {
          serviceTokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>(
                  getServiceToken(),
                  getParentForChildren(),
                  isClean());
          serviceToken_ = null;
        }
        return serviceTokenBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.Instance)
    }

    // @@protoc_insertion_point(class_scope:v1.Instance)
    private static final com.tencent.polaris.client.pb.ServiceProto.Instance DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.Instance();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.Instance getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Instance parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Instance(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.Instance getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface HealthCheckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.HealthCheck)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .v1.HealthCheck.HealthCheckType type = 1;
     * @return The enum numeric value on the wire for type.
     */
    int getTypeValue();
    /**
     * .v1.HealthCheck.HealthCheckType type = 1;
     * @return The type.
     */
    com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType getType();

    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     * @return Whether the heartbeat field is set.
     */
    boolean hasHeartbeat();
    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     * @return The heartbeat.
     */
    com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getHeartbeat();
    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     */
    com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder getHeartbeatOrBuilder();
  }
  /**
   * Protobuf type {@code v1.HealthCheck}
   */
  public static final class HealthCheck extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.HealthCheck)
      HealthCheckOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use HealthCheck.newBuilder() to construct.
    private HealthCheck(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private HealthCheck() {
      type_ = 0;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new HealthCheck();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private HealthCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 18: {
              com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder subBuilder = null;
              if (heartbeat_ != null) {
                subBuilder = heartbeat_.toBuilder();
              }
              heartbeat_ = input.readMessage(com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(heartbeat_);
                heartbeat_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HealthCheck_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HealthCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.HealthCheck.class, com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder.class);
    }

    /**
     * Protobuf enum {@code v1.HealthCheck.HealthCheckType}
     */
    public enum HealthCheckType
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * UNKNOWN = 0;
       */
      UNKNOWN(0),
      /**
       * HEARTBEAT = 1;
       */
      HEARTBEAT(1),
      UNRECOGNIZED(-1),
      ;

      /**
       * UNKNOWN = 0;
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * HEARTBEAT = 1;
       */
      public static final int HEARTBEAT_VALUE = 1;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static HealthCheckType valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static HealthCheckType forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1: return HEARTBEAT;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          HealthCheckType> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public HealthCheckType findValueByNumber(int number) {
                return HealthCheckType.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalStateException(
              "Can't get the descriptor of an unrecognized enum value.");
        }
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDescriptor().getEnumTypes().get(0);
      }

      private static final HealthCheckType[] VALUES = values();

      public static HealthCheckType valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private HealthCheckType(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:v1.HealthCheck.HealthCheckType)
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * .v1.HealthCheck.HealthCheckType type = 1;
     * @return The enum numeric value on the wire for type.
     */
    @java.lang.Override public int getTypeValue() {
      return type_;
    }
    /**
     * .v1.HealthCheck.HealthCheckType type = 1;
     * @return The type.
     */
    @java.lang.Override public com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType getType() {
      @SuppressWarnings("deprecation")
      com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType result = com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.valueOf(type_);
      return result == null ? com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.UNRECOGNIZED : result;
    }

    public static final int HEARTBEAT_FIELD_NUMBER = 2;
    private com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck heartbeat_;
    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     * @return Whether the heartbeat field is set.
     */
    @java.lang.Override
    public boolean hasHeartbeat() {
      return heartbeat_ != null;
    }
    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     * @return The heartbeat.
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getHeartbeat() {
      return heartbeat_ == null ? com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.getDefaultInstance() : heartbeat_;
    }
    /**
     * .v1.HeartbeatHealthCheck heartbeat = 2;
     */
    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder getHeartbeatOrBuilder() {
      return getHeartbeat();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (type_ != com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.UNKNOWN.getNumber()) {
        output.writeEnum(1, type_);
      }
      if (heartbeat_ != null) {
        output.writeMessage(2, getHeartbeat());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (type_ != com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.UNKNOWN.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (heartbeat_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getHeartbeat());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.HealthCheck)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.HealthCheck other = (com.tencent.polaris.client.pb.ServiceProto.HealthCheck) obj;

      if (type_ != other.type_) return false;
      if (hasHeartbeat() != other.hasHeartbeat()) return false;
      if (hasHeartbeat()) {
        if (!getHeartbeat()
            .equals(other.getHeartbeat())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      if (hasHeartbeat()) {
        hash = (37 * hash) + HEARTBEAT_FIELD_NUMBER;
        hash = (53 * hash) + getHeartbeat().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.HealthCheck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.HealthCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.HealthCheck)
        com.tencent.polaris.client.pb.ServiceProto.HealthCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HealthCheck_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HealthCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.HealthCheck.class, com.tencent.polaris.client.pb.ServiceProto.HealthCheck.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.HealthCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        type_ = 0;

        if (heartbeatBuilder_ == null) {
          heartbeat_ = null;
        } else {
          heartbeat_ = null;
          heartbeatBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HealthCheck_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck build() {
        com.tencent.polaris.client.pb.ServiceProto.HealthCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.HealthCheck result = new com.tencent.polaris.client.pb.ServiceProto.HealthCheck(this);
        result.type_ = type_;
        if (heartbeatBuilder_ == null) {
          result.heartbeat_ = heartbeat_;
        } else {
          result.heartbeat_ = heartbeatBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.HealthCheck) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.HealthCheck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.HealthCheck other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.HealthCheck.getDefaultInstance()) return this;
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (other.hasHeartbeat()) {
          mergeHeartbeat(other.getHeartbeat());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.HealthCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.HealthCheck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int type_ = 0;
      /**
       * .v1.HealthCheck.HealthCheckType type = 1;
       * @return The enum numeric value on the wire for type.
       */
      @java.lang.Override public int getTypeValue() {
        return type_;
      }
      /**
       * .v1.HealthCheck.HealthCheckType type = 1;
       * @param value The enum numeric value on the wire for type to set.
       * @return This builder for chaining.
       */
      public Builder setTypeValue(int value) {
        
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * .v1.HealthCheck.HealthCheckType type = 1;
       * @return The type.
       */
      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType getType() {
        @SuppressWarnings("deprecation")
        com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType result = com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.valueOf(type_);
        return result == null ? com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType.UNRECOGNIZED : result;
      }
      /**
       * .v1.HealthCheck.HealthCheckType type = 1;
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(com.tencent.polaris.client.pb.ServiceProto.HealthCheck.HealthCheckType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .v1.HealthCheck.HealthCheckType type = 1;
       * @return This builder for chaining.
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck heartbeat_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder> heartbeatBuilder_;
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       * @return Whether the heartbeat field is set.
       */
      public boolean hasHeartbeat() {
        return heartbeatBuilder_ != null || heartbeat_ != null;
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       * @return The heartbeat.
       */
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getHeartbeat() {
        if (heartbeatBuilder_ == null) {
          return heartbeat_ == null ? com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.getDefaultInstance() : heartbeat_;
        } else {
          return heartbeatBuilder_.getMessage();
        }
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public Builder setHeartbeat(com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck value) {
        if (heartbeatBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          heartbeat_ = value;
          onChanged();
        } else {
          heartbeatBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public Builder setHeartbeat(
          com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder builderForValue) {
        if (heartbeatBuilder_ == null) {
          heartbeat_ = builderForValue.build();
          onChanged();
        } else {
          heartbeatBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public Builder mergeHeartbeat(com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck value) {
        if (heartbeatBuilder_ == null) {
          if (heartbeat_ != null) {
            heartbeat_ =
              com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.newBuilder(heartbeat_).mergeFrom(value).buildPartial();
          } else {
            heartbeat_ = value;
          }
          onChanged();
        } else {
          heartbeatBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public Builder clearHeartbeat() {
        if (heartbeatBuilder_ == null) {
          heartbeat_ = null;
          onChanged();
        } else {
          heartbeat_ = null;
          heartbeatBuilder_ = null;
        }

        return this;
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder getHeartbeatBuilder() {
        
        onChanged();
        return getHeartbeatFieldBuilder().getBuilder();
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder getHeartbeatOrBuilder() {
        if (heartbeatBuilder_ != null) {
          return heartbeatBuilder_.getMessageOrBuilder();
        } else {
          return heartbeat_ == null ?
              com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.getDefaultInstance() : heartbeat_;
        }
      }
      /**
       * .v1.HeartbeatHealthCheck heartbeat = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder> 
          getHeartbeatFieldBuilder() {
        if (heartbeatBuilder_ == null) {
          heartbeatBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder>(
                  getHeartbeat(),
                  getParentForChildren(),
                  isClean());
          heartbeat_ = null;
        }
        return heartbeatBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.HealthCheck)
    }

    // @@protoc_insertion_point(class_scope:v1.HealthCheck)
    private static final com.tencent.polaris.client.pb.ServiceProto.HealthCheck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.HealthCheck();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.HealthCheck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public HealthCheck parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new HealthCheck(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HealthCheck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface HeartbeatHealthCheckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:v1.HeartbeatHealthCheck)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .google.protobuf.UInt32Value ttl = 1;
     * @return Whether the ttl field is set.
     */
    boolean hasTtl();
    /**
     * .google.protobuf.UInt32Value ttl = 1;
     * @return The ttl.
     */
    com.google.protobuf.UInt32Value getTtl();
    /**
     * .google.protobuf.UInt32Value ttl = 1;
     */
    com.google.protobuf.UInt32ValueOrBuilder getTtlOrBuilder();
  }
  /**
   * Protobuf type {@code v1.HeartbeatHealthCheck}
   */
  public static final class HeartbeatHealthCheck extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:v1.HeartbeatHealthCheck)
      HeartbeatHealthCheckOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use HeartbeatHealthCheck.newBuilder() to construct.
    private HeartbeatHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private HeartbeatHealthCheck() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new HeartbeatHealthCheck();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private HeartbeatHealthCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              com.google.protobuf.UInt32Value.Builder subBuilder = null;
              if (ttl_ != null) {
                subBuilder = ttl_.toBuilder();
              }
              ttl_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ttl_);
                ttl_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HeartbeatHealthCheck_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HeartbeatHealthCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.class, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder.class);
    }

    public static final int TTL_FIELD_NUMBER = 1;
    private com.google.protobuf.UInt32Value ttl_;
    /**
     * .google.protobuf.UInt32Value ttl = 1;
     * @return Whether the ttl field is set.
     */
    @java.lang.Override
    public boolean hasTtl() {
      return ttl_ != null;
    }
    /**
     * .google.protobuf.UInt32Value ttl = 1;
     * @return The ttl.
     */
    @java.lang.Override
    public com.google.protobuf.UInt32Value getTtl() {
      return ttl_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : ttl_;
    }
    /**
     * .google.protobuf.UInt32Value ttl = 1;
     */
    @java.lang.Override
    public com.google.protobuf.UInt32ValueOrBuilder getTtlOrBuilder() {
      return getTtl();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (ttl_ != null) {
        output.writeMessage(1, getTtl());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (ttl_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getTtl());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck)) {
        return super.equals(obj);
      }
      com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck other = (com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck) obj;

      if (hasTtl() != other.hasTtl()) return false;
      if (hasTtl()) {
        if (!getTtl()
            .equals(other.getTtl())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTtl()) {
        hash = (37 * hash) + TTL_FIELD_NUMBER;
        hash = (53 * hash) + getTtl().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code v1.HeartbeatHealthCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:v1.HeartbeatHealthCheck)
        com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HeartbeatHealthCheck_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HeartbeatHealthCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.class, com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.Builder.class);
      }

      // Construct using com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (ttlBuilder_ == null) {
          ttl_ = null;
        } else {
          ttl_ = null;
          ttlBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.tencent.polaris.client.pb.ServiceProto.internal_static_v1_HeartbeatHealthCheck_descriptor;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getDefaultInstanceForType() {
        return com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.getDefaultInstance();
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck build() {
        com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck buildPartial() {
        com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck result = new com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck(this);
        if (ttlBuilder_ == null) {
          result.ttl_ = ttl_;
        } else {
          result.ttl_ = ttlBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck) {
          return mergeFrom((com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck other) {
        if (other == com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck.getDefaultInstance()) return this;
        if (other.hasTtl()) {
          mergeTtl(other.getTtl());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.UInt32Value ttl_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> ttlBuilder_;
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       * @return Whether the ttl field is set.
       */
      public boolean hasTtl() {
        return ttlBuilder_ != null || ttl_ != null;
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       * @return The ttl.
       */
      public com.google.protobuf.UInt32Value getTtl() {
        if (ttlBuilder_ == null) {
          return ttl_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : ttl_;
        } else {
          return ttlBuilder_.getMessage();
        }
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public Builder setTtl(com.google.protobuf.UInt32Value value) {
        if (ttlBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ttl_ = value;
          onChanged();
        } else {
          ttlBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public Builder setTtl(
          com.google.protobuf.UInt32Value.Builder builderForValue) {
        if (ttlBuilder_ == null) {
          ttl_ = builderForValue.build();
          onChanged();
        } else {
          ttlBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public Builder mergeTtl(com.google.protobuf.UInt32Value value) {
        if (ttlBuilder_ == null) {
          if (ttl_ != null) {
            ttl_ =
              com.google.protobuf.UInt32Value.newBuilder(ttl_).mergeFrom(value).buildPartial();
          } else {
            ttl_ = value;
          }
          onChanged();
        } else {
          ttlBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public Builder clearTtl() {
        if (ttlBuilder_ == null) {
          ttl_ = null;
          onChanged();
        } else {
          ttl_ = null;
          ttlBuilder_ = null;
        }

        return this;
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public com.google.protobuf.UInt32Value.Builder getTtlBuilder() {
        
        onChanged();
        return getTtlFieldBuilder().getBuilder();
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      public com.google.protobuf.UInt32ValueOrBuilder getTtlOrBuilder() {
        if (ttlBuilder_ != null) {
          return ttlBuilder_.getMessageOrBuilder();
        } else {
          return ttl_ == null ?
              com.google.protobuf.UInt32Value.getDefaultInstance() : ttl_;
        }
      }
      /**
       * .google.protobuf.UInt32Value ttl = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> 
          getTtlFieldBuilder() {
        if (ttlBuilder_ == null) {
          ttlBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
                  getTtl(),
                  getParentForChildren(),
                  isClean());
          ttl_ = null;
        }
        return ttlBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:v1.HeartbeatHealthCheck)
    }

    // @@protoc_insertion_point(class_scope:v1.HeartbeatHealthCheck)
    private static final com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck();
    }

    public static com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public HeartbeatHealthCheck parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new HeartbeatHealthCheck(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.tencent.polaris.client.pb.ServiceProto.HeartbeatHealthCheck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_Namespace_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_Namespace_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_Service_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_Service_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_Service_MetadataEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_Service_MetadataEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_ServiceAlias_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_ServiceAlias_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_Instance_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_Instance_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_Instance_MetadataEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_Instance_MetadataEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_HealthCheck_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_HealthCheck_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_v1_HeartbeatHealthCheck_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_v1_HeartbeatHealthCheck_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\rservice.proto\022\002v1\032\036google/protobuf/wra" +
      "ppers.proto\032\013model.proto\"\233\002\n\tNamespace\022*" +
      "\n\004name\030\001 \001(\0132\034.google.protobuf.StringVal" +
      "ue\022-\n\007comment\030\002 \001(\0132\034.google.protobuf.St" +
      "ringValue\022,\n\006owners\030\003 \001(\0132\034.google.proto" +
      "buf.StringValue\022+\n\005token\030\004 \001(\0132\034.google." +
      "protobuf.StringValue\022+\n\005ctime\030\005 \001(\0132\034.go" +
      "ogle.protobuf.StringValue\022+\n\005mtime\030\006 \001(\013" +
      "2\034.google.protobuf.StringValue\"\333\006\n\007Servi" +
      "ce\022*\n\004name\030\001 \001(\0132\034.google.protobuf.Strin" +
      "gValue\022/\n\tnamespace\030\002 \001(\0132\034.google.proto" +
      "buf.StringValue\022+\n\010metadata\030\003 \003(\0132\031.v1.S" +
      "ervice.MetadataEntry\022+\n\005ports\030\004 \001(\0132\034.go" +
      "ogle.protobuf.StringValue\022.\n\010business\030\005 " +
      "\001(\0132\034.google.protobuf.StringValue\0220\n\ndep" +
      "artment\030\006 \001(\0132\034.google.protobuf.StringVa" +
      "lue\022:\n\tcmdb_mod1\030\007 \001(\0132\034.google.protobuf" +
      ".StringValueR\tcmdb_mod1\022:\n\tcmdb_mod2\030\010 \001" +
      "(\0132\034.google.protobuf.StringValueR\tcmdb_m" +
      "od2\022:\n\tcmdb_mod3\030\t \001(\0132\034.google.protobuf" +
      ".StringValueR\tcmdb_mod3\022-\n\007comment\030\n \001(\013" +
      "2\034.google.protobuf.StringValue\022,\n\006owners" +
      "\030\013 \001(\0132\034.google.protobuf.StringValue\022+\n\005" +
      "token\030\014 \001(\0132\034.google.protobuf.StringValu" +
      "e\022+\n\005ctime\030\r \001(\0132\034.google.protobuf.Strin" +
      "gValue\022+\n\005mtime\030\016 \001(\0132\034.google.protobuf." +
      "StringValue\022.\n\010revision\030\017 \001(\0132\034.google.p" +
      "rotobuf.StringValue\022>\n\013platform_id\030\020 \001(\013" +
      "2\034.google.protobuf.StringValueR\013platform" +
      "_id\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
      "ue\030\002 \001(\t:\0028\001\"\263\003\n\014ServiceAlias\022-\n\007service" +
      "\030\001 \001(\0132\034.google.protobuf.StringValue\022/\n\t" +
      "namespace\030\002 \001(\0132\034.google.protobuf.String" +
      "Value\022+\n\005alias\030\003 \001(\0132\034.google.protobuf.S" +
      "tringValue\022\033\n\004type\030\004 \001(\0162\r.v1.AliasType\022" +
      ",\n\006owners\030\010 \001(\0132\034.google.protobuf.String" +
      "Value\022-\n\007comment\030\t \001(\0132\034.google.protobuf" +
      ".StringValue\022B\n\rservice_token\030\005 \001(\0132\034.go" +
      "ogle.protobuf.StringValueR\rservice_token" +
      "\022+\n\005ctime\030\006 \001(\0132\034.google.protobuf.String" +
      "Value\022+\n\005mtime\030\007 \001(\0132\034.google.protobuf.S" +
      "tringValue\"\242\010\n\010Instance\022(\n\002id\030\001 \001(\0132\034.go" +
      "ogle.protobuf.StringValue\022-\n\007service\030\002 \001" +
      "(\0132\034.google.protobuf.StringValue\022/\n\tname" +
      "space\030\003 \001(\0132\034.google.protobuf.StringValu" +
      "e\0224\n\006vpc_id\030\025 \001(\0132\034.google.protobuf.Stri" +
      "ngValueR\006vpc_id\022*\n\004host\030\004 \001(\0132\034.google.p" +
      "rotobuf.StringValue\022*\n\004port\030\005 \001(\0132\034.goog" +
      "le.protobuf.UInt32Value\022.\n\010protocol\030\006 \001(" +
      "\0132\034.google.protobuf.StringValue\022-\n\007versi" +
      "on\030\007 \001(\0132\034.google.protobuf.StringValue\022." +
      "\n\010priority\030\010 \001(\0132\034.google.protobuf.UInt3" +
      "2Value\022,\n\006weight\030\t \001(\0132\034.google.protobuf" +
      ".UInt32Value\0227\n\023enable_health_check\030\024 \001(" +
      "\0132\032.google.protobuf.BoolValue\022%\n\014health_" +
      "check\030\n \001(\0132\017.v1.HealthCheck\022+\n\007healthy\030" +
      "\013 \001(\0132\032.google.protobuf.BoolValue\022+\n\007iso" +
      "late\030\014 \001(\0132\032.google.protobuf.BoolValue\022\036" +
      "\n\010location\030\r \001(\0132\014.v1.Location\022,\n\010metada" +
      "ta\030\016 \003(\0132\032.v1.Instance.MetadataEntry\022:\n\t" +
      "logic_set\030\017 \001(\0132\034.google.protobuf.String" +
      "ValueR\tlogic_set\022+\n\005ctime\030\020 \001(\0132\034.google" +
      ".protobuf.StringValue\022+\n\005mtime\030\021 \001(\0132\034.g" +
      "oogle.protobuf.StringValue\022.\n\010revision\030\022" +
      " \001(\0132\034.google.protobuf.StringValue\022B\n\rse" +
      "rvice_token\030\023 \001(\0132\034.google.protobuf.Stri" +
      "ngValueR\rservice_token\032/\n\rMetadataEntry\022" +
      "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\230\001\n\013Heal" +
      "thCheck\022-\n\004type\030\001 \001(\0162\037.v1.HealthCheck.H" +
      "ealthCheckType\022+\n\theartbeat\030\002 \001(\0132\030.v1.H" +
      "eartbeatHealthCheck\"-\n\017HealthCheckType\022\013" +
      "\n\007UNKNOWN\020\000\022\r\n\tHEARTBEAT\020\001\"A\n\024HeartbeatH" +
      "ealthCheck\022)\n\003ttl\030\001 \001(\0132\034.google.protobu" +
      "f.UInt32Value*$\n\tAliasType\022\013\n\007DEFAULT\020\000\022" +
      "\n\n\006CL5SID\020\001B-\n\035com.tencent.polaris.clien" +
      "t.pbB\014ServiceProtob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.WrappersProto.getDescriptor(),
          com.tencent.polaris.client.pb.ModelProto.getDescriptor(),
        });
    internal_static_v1_Namespace_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_v1_Namespace_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_Namespace_descriptor,
        new java.lang.String[] { "Name", "Comment", "Owners", "Token", "Ctime", "Mtime", });
    internal_static_v1_Service_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_v1_Service_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_Service_descriptor,
        new java.lang.String[] { "Name", "Namespace", "Metadata", "Ports", "Business", "Department", "CmdbMod1", "CmdbMod2", "CmdbMod3", "Comment", "Owners", "Token", "Ctime", "Mtime", "Revision", "PlatformId", });
    internal_static_v1_Service_MetadataEntry_descriptor =
      internal_static_v1_Service_descriptor.getNestedTypes().get(0);
    internal_static_v1_Service_MetadataEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_Service_MetadataEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_v1_ServiceAlias_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_v1_ServiceAlias_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_ServiceAlias_descriptor,
        new java.lang.String[] { "Service", "Namespace", "Alias", "Type", "Owners", "Comment", "ServiceToken", "Ctime", "Mtime", });
    internal_static_v1_Instance_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_v1_Instance_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_Instance_descriptor,
        new java.lang.String[] { "Id", "Service", "Namespace", "VpcId", "Host", "Port", "Protocol", "Version", "Priority", "Weight", "EnableHealthCheck", "HealthCheck", "Healthy", "Isolate", "Location", "Metadata", "LogicSet", "Ctime", "Mtime", "Revision", "ServiceToken", });
    internal_static_v1_Instance_MetadataEntry_descriptor =
      internal_static_v1_Instance_descriptor.getNestedTypes().get(0);
    internal_static_v1_Instance_MetadataEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_Instance_MetadataEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_v1_HealthCheck_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_v1_HealthCheck_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_HealthCheck_descriptor,
        new java.lang.String[] { "Type", "Heartbeat", });
    internal_static_v1_HeartbeatHealthCheck_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_v1_HeartbeatHealthCheck_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_v1_HeartbeatHealthCheck_descriptor,
        new java.lang.String[] { "Ttl", });
    com.google.protobuf.WrappersProto.getDescriptor();
    com.tencent.polaris.client.pb.ModelProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy