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

POGOProtos.Data.Quests.QuestPreconditionOuterClass Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: POGOProtos/Data/Quests/QuestPrecondition.proto

package POGOProtos.Data.Quests;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface QuestPreconditionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestPrecondition)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
     */
    int getTypeValue();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType getType();

    /**
     * string quest_template_id = 2;
     */
    java.lang.String getQuestTemplateId();
    /**
     * string quest_template_id = 2;
     */
    com.google.protobuf.ByteString
        getQuestTemplateIdBytes();

    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    boolean hasLevel();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getLevel();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder getLevelOrBuilder();

    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    boolean hasMedal();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getMedal();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder getMedalOrBuilder();

    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    boolean hasQuests();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getQuests();
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder getQuestsOrBuilder();

    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.ConditionCase getConditionCase();
  }
  /**
   * Protobuf type {@code POGOProtos.Data.Quests.QuestPrecondition}
   */
  public  static final class QuestPrecondition extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestPrecondition)
      QuestPreconditionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use QuestPrecondition.newBuilder() to construct.
    private QuestPrecondition(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private QuestPrecondition() {
      type_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private QuestPrecondition(
        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 8: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();
              conditionCase_ = 2;
              condition_ = s;
              break;
            }
            case 26: {
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder subBuilder = null;
              if (conditionCase_ == 3) {
                subBuilder = ((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_).toBuilder();
              }
              condition_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_);
                condition_ = subBuilder.buildPartial();
              }
              conditionCase_ = 3;
              break;
            }
            case 34: {
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder subBuilder = null;
              if (conditionCase_ == 4) {
                subBuilder = ((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_).toBuilder();
              }
              condition_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_);
                condition_ = subBuilder.buildPartial();
              }
              conditionCase_ = 4;
              break;
            }
            case 42: {
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder subBuilder = null;
              if (conditionCase_ == 5) {
                subBuilder = ((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_).toBuilder();
              }
              condition_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_);
                condition_ = subBuilder.buildPartial();
              }
              conditionCase_ = 5;
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Builder.class);
    }

    /**
     * Protobuf enum {@code POGOProtos.Data.Quests.QuestPrecondition.Operator}
     */
    public enum Operator
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * UNSET = 0;
       */
      UNSET(0),
      /**
       * EQUALS = 1;
       */
      EQUALS(1),
      /**
       * GREATER_THAN = 2;
       */
      GREATER_THAN(2),
      /**
       * LESS_THAN = 3;
       */
      LESS_THAN(3),
      UNRECOGNIZED(-1),
      ;

      /**
       * UNSET = 0;
       */
      public static final int UNSET_VALUE = 0;
      /**
       * EQUALS = 1;
       */
      public static final int EQUALS_VALUE = 1;
      /**
       * GREATER_THAN = 2;
       */
      public static final int GREATER_THAN_VALUE = 2;
      /**
       * LESS_THAN = 3;
       */
      public static final int LESS_THAN_VALUE = 3;


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

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Operator valueOf(int value) {
        return forNumber(value);
      }

      public static Operator forNumber(int value) {
        switch (value) {
          case 0: return UNSET;
          case 1: return EQUALS;
          case 2: return GREATER_THAN;
          case 3: return LESS_THAN;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.getDescriptor().getEnumTypes().get(0);
      }

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

      public static Operator 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 Operator(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:POGOProtos.Data.Quests.QuestPrecondition.Operator)
    }

    /**
     * Protobuf enum {@code POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType}
     */
    public enum QuestPreconditionType
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * QUEST_PRECONDITION_UNSET = 0;
       */
      QUEST_PRECONDITION_UNSET(0),
      /**
       * QUEST_PRECONDITION_QUEST = 1;
       */
      QUEST_PRECONDITION_QUEST(1),
      /**
       * QUEST_PRECONDITION_LEVEL = 2;
       */
      QUEST_PRECONDITION_LEVEL(2),
      /**
       * QUEST_PRECONDITION_MEDAL = 3;
       */
      QUEST_PRECONDITION_MEDAL(3),
      /**
       * QUEST_PRECONDITION_IS_MINOR = 4;
       */
      QUEST_PRECONDITION_IS_MINOR(4),
      /**
       * QUEST_PRECONDITION_EXCLUSIVE_QUESTS = 5;
       */
      QUEST_PRECONDITION_EXCLUSIVE_QUESTS(5),
      UNRECOGNIZED(-1),
      ;

      /**
       * QUEST_PRECONDITION_UNSET = 0;
       */
      public static final int QUEST_PRECONDITION_UNSET_VALUE = 0;
      /**
       * QUEST_PRECONDITION_QUEST = 1;
       */
      public static final int QUEST_PRECONDITION_QUEST_VALUE = 1;
      /**
       * QUEST_PRECONDITION_LEVEL = 2;
       */
      public static final int QUEST_PRECONDITION_LEVEL_VALUE = 2;
      /**
       * QUEST_PRECONDITION_MEDAL = 3;
       */
      public static final int QUEST_PRECONDITION_MEDAL_VALUE = 3;
      /**
       * QUEST_PRECONDITION_IS_MINOR = 4;
       */
      public static final int QUEST_PRECONDITION_IS_MINOR_VALUE = 4;
      /**
       * QUEST_PRECONDITION_EXCLUSIVE_QUESTS = 5;
       */
      public static final int QUEST_PRECONDITION_EXCLUSIVE_QUESTS_VALUE = 5;


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

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static QuestPreconditionType valueOf(int value) {
        return forNumber(value);
      }

      public static QuestPreconditionType forNumber(int value) {
        switch (value) {
          case 0: return QUEST_PRECONDITION_UNSET;
          case 1: return QUEST_PRECONDITION_QUEST;
          case 2: return QUEST_PRECONDITION_LEVEL;
          case 3: return QUEST_PRECONDITION_MEDAL;
          case 4: return QUEST_PRECONDITION_IS_MINOR;
          case 5: return QUEST_PRECONDITION_EXCLUSIVE_QUESTS;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.getDescriptor().getEnumTypes().get(1);
      }

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

      public static QuestPreconditionType 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 QuestPreconditionType(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType)
    }

    public interface QuestsOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestPrecondition.Quests)
        com.google.protobuf.MessageOrBuilder {

      /**
       * repeated string quest_template_ids = 1;
       */
      java.util.List
          getQuestTemplateIdsList();
      /**
       * repeated string quest_template_ids = 1;
       */
      int getQuestTemplateIdsCount();
      /**
       * repeated string quest_template_ids = 1;
       */
      java.lang.String getQuestTemplateIds(int index);
      /**
       * repeated string quest_template_ids = 1;
       */
      com.google.protobuf.ByteString
          getQuestTemplateIdsBytes(int index);
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestPrecondition.Quests}
     */
    public  static final class Quests extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestPrecondition.Quests)
        QuestsOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Quests.newBuilder() to construct.
      private Quests(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Quests() {
        questTemplateIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Quests(
          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: {
                java.lang.String s = input.readStringRequireUtf8();
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  questTemplateIds_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                questTemplateIds_.add(s);
                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            questTemplateIds_ = questTemplateIds_.getUnmodifiableView();
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder.class);
      }

      public static final int QUEST_TEMPLATE_IDS_FIELD_NUMBER = 1;
      private com.google.protobuf.LazyStringList questTemplateIds_;
      /**
       * repeated string quest_template_ids = 1;
       */
      public com.google.protobuf.ProtocolStringList
          getQuestTemplateIdsList() {
        return questTemplateIds_;
      }
      /**
       * repeated string quest_template_ids = 1;
       */
      public int getQuestTemplateIdsCount() {
        return questTemplateIds_.size();
      }
      /**
       * repeated string quest_template_ids = 1;
       */
      public java.lang.String getQuestTemplateIds(int index) {
        return questTemplateIds_.get(index);
      }
      /**
       * repeated string quest_template_ids = 1;
       */
      public com.google.protobuf.ByteString
          getQuestTemplateIdsBytes(int index) {
        return questTemplateIds_.getByteString(index);
      }

      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 {
        for (int i = 0; i < questTemplateIds_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, questTemplateIds_.getRaw(i));
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < questTemplateIds_.size(); i++) {
            dataSize += computeStringSizeNoTag(questTemplateIds_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getQuestTemplateIdsList().size();
        }
        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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests other = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) obj;

        boolean result = true;
        result = result && getQuestTemplateIdsList()
            .equals(other.getQuestTemplateIdsList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

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

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests 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(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests 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 POGOProtos.Data.Quests.QuestPrecondition.Quests}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestPrecondition.Quests)
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.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();
          questTemplateIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests build() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests buildPartial() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests result = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests(this);
          int from_bitField0_ = bitField0_;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            questTemplateIds_ = questTemplateIds_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.questTemplateIds_ = questTemplateIds_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return (Builder) super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) {
            return mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests other) {
          if (other == POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance()) return this;
          if (!other.questTemplateIds_.isEmpty()) {
            if (questTemplateIds_.isEmpty()) {
              questTemplateIds_ = other.questTemplateIds_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureQuestTemplateIdsIsMutable();
              questTemplateIds_.addAll(other.questTemplateIds_);
            }
            onChanged();
          }
          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 {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringList questTemplateIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureQuestTemplateIdsIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            questTemplateIds_ = new com.google.protobuf.LazyStringArrayList(questTemplateIds_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public com.google.protobuf.ProtocolStringList
            getQuestTemplateIdsList() {
          return questTemplateIds_.getUnmodifiableView();
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public int getQuestTemplateIdsCount() {
          return questTemplateIds_.size();
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public java.lang.String getQuestTemplateIds(int index) {
          return questTemplateIds_.get(index);
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public com.google.protobuf.ByteString
            getQuestTemplateIdsBytes(int index) {
          return questTemplateIds_.getByteString(index);
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public Builder setQuestTemplateIds(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureQuestTemplateIdsIsMutable();
          questTemplateIds_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public Builder addQuestTemplateIds(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureQuestTemplateIdsIsMutable();
          questTemplateIds_.add(value);
          onChanged();
          return this;
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public Builder addAllQuestTemplateIds(
            java.lang.Iterable values) {
          ensureQuestTemplateIdsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, questTemplateIds_);
          onChanged();
          return this;
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public Builder clearQuestTemplateIds() {
          questTemplateIds_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * repeated string quest_template_ids = 1;
         */
        public Builder addQuestTemplateIdsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          ensureQuestTemplateIdsIsMutable();
          questTemplateIds_.add(value);
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestPrecondition.Quests)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestPrecondition.Quests)
      private static final POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests();
      }

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Quests parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Quests(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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface LevelOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestPrecondition.Level)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
       */
      int getOperatorValue();
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
       */
      POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator();

      /**
       * int32 level = 2;
       */
      int getLevel();
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestPrecondition.Level}
     */
    public  static final class Level extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestPrecondition.Level)
        LevelOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Level.newBuilder() to construct.
      private Level(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Level() {
        operator_ = 0;
        level_ = 0;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Level(
          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 8: {
                int rawValue = input.readEnum();

                operator_ = rawValue;
                break;
              }
              case 16: {

                level_ = input.readInt32();
                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder.class);
      }

      public static final int OPERATOR_FIELD_NUMBER = 1;
      private int operator_;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
       */
      public int getOperatorValue() {
        return operator_;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator() {
        @SuppressWarnings("deprecation")
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.valueOf(operator_);
        return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNRECOGNIZED : result;
      }

      public static final int LEVEL_FIELD_NUMBER = 2;
      private int level_;
      /**
       * int32 level = 2;
       */
      public int getLevel() {
        return level_;
      }

      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 (operator_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNSET.getNumber()) {
          output.writeEnum(1, operator_);
        }
        if (level_ != 0) {
          output.writeInt32(2, level_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (operator_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNSET.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, operator_);
        }
        if (level_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, level_);
        }
        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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level other = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) obj;

        boolean result = true;
        result = result && operator_ == other.operator_;
        result = result && (getLevel()
            == other.getLevel());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

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

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level 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(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level 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 POGOProtos.Data.Quests.QuestPrecondition.Level}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestPrecondition.Level)
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.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();
          operator_ = 0;

          level_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level build() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level buildPartial() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level result = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level(this);
          result.operator_ = operator_;
          result.level_ = level_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return (Builder) super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) {
            return mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level other) {
          if (other == POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance()) return this;
          if (other.operator_ != 0) {
            setOperatorValue(other.getOperatorValue());
          }
          if (other.getLevel() != 0) {
            setLevel(other.getLevel());
          }
          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 {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int operator_ = 0;
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
         */
        public int getOperatorValue() {
          return operator_;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
         */
        public Builder setOperatorValue(int value) {
          operator_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
         */
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator() {
          @SuppressWarnings("deprecation")
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.valueOf(operator_);
          return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNRECOGNIZED : result;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
         */
        public Builder setOperator(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          operator_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 1;
         */
        public Builder clearOperator() {
          
          operator_ = 0;
          onChanged();
          return this;
        }

        private int level_ ;
        /**
         * int32 level = 2;
         */
        public int getLevel() {
          return level_;
        }
        /**
         * int32 level = 2;
         */
        public Builder setLevel(int value) {
          
          level_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 level = 2;
         */
        public Builder clearLevel() {
          
          level_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestPrecondition.Level)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestPrecondition.Level)
      private static final POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level();
      }

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Level parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Level(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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface MedalOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestPrecondition.Medal)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .POGOProtos.Enums.BadgeType type = 1;
       */
      int getTypeValue();
      /**
       * .POGOProtos.Enums.BadgeType type = 1;
       */
      POGOProtos.Enums.BadgeTypeOuterClass.BadgeType getType();

      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
       */
      int getOperatorValue();
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
       */
      POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator();

      /**
       * int32 badge_rank = 3;
       */
      int getBadgeRank();
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestPrecondition.Medal}
     */
    public  static final class Medal extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestPrecondition.Medal)
        MedalOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Medal.newBuilder() to construct.
      private Medal(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Medal() {
        type_ = 0;
        operator_ = 0;
        badgeRank_ = 0;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Medal(
          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 8: {
                int rawValue = input.readEnum();

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

                operator_ = rawValue;
                break;
              }
              case 24: {

                badgeRank_ = input.readInt32();
                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder.class);
      }

      public static final int TYPE_FIELD_NUMBER = 1;
      private int type_;
      /**
       * .POGOProtos.Enums.BadgeType type = 1;
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * .POGOProtos.Enums.BadgeType type = 1;
       */
      public POGOProtos.Enums.BadgeTypeOuterClass.BadgeType getType() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.BadgeTypeOuterClass.BadgeType result = POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.valueOf(type_);
        return result == null ? POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.UNRECOGNIZED : result;
      }

      public static final int OPERATOR_FIELD_NUMBER = 2;
      private int operator_;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
       */
      public int getOperatorValue() {
        return operator_;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator() {
        @SuppressWarnings("deprecation")
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.valueOf(operator_);
        return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNRECOGNIZED : result;
      }

      public static final int BADGE_RANK_FIELD_NUMBER = 3;
      private int badgeRank_;
      /**
       * int32 badge_rank = 3;
       */
      public int getBadgeRank() {
        return badgeRank_;
      }

      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_ != POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.BADGE_UNSET.getNumber()) {
          output.writeEnum(1, type_);
        }
        if (operator_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNSET.getNumber()) {
          output.writeEnum(2, operator_);
        }
        if (badgeRank_ != 0) {
          output.writeInt32(3, badgeRank_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (type_ != POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.BADGE_UNSET.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, type_);
        }
        if (operator_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNSET.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, operator_);
        }
        if (badgeRank_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, badgeRank_);
        }
        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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal other = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) obj;

        boolean result = true;
        result = result && type_ == other.type_;
        result = result && operator_ == other.operator_;
        result = result && (getBadgeRank()
            == other.getBadgeRank());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @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_;
        hash = (37 * hash) + OPERATOR_FIELD_NUMBER;
        hash = (53 * hash) + operator_;
        hash = (37 * hash) + BADGE_RANK_FIELD_NUMBER;
        hash = (53 * hash) + getBadgeRank();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal 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(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal 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 POGOProtos.Data.Quests.QuestPrecondition.Medal}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestPrecondition.Medal)
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.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;

          operator_ = 0;

          badgeRank_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal build() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal buildPartial() {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal result = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal(this);
          result.type_ = type_;
          result.operator_ = operator_;
          result.badgeRank_ = badgeRank_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return (Builder) super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) {
            return mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal other) {
          if (other == POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance()) return this;
          if (other.type_ != 0) {
            setTypeValue(other.getTypeValue());
          }
          if (other.operator_ != 0) {
            setOperatorValue(other.getOperatorValue());
          }
          if (other.getBadgeRank() != 0) {
            setBadgeRank(other.getBadgeRank());
          }
          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 {
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int type_ = 0;
        /**
         * .POGOProtos.Enums.BadgeType type = 1;
         */
        public int getTypeValue() {
          return type_;
        }
        /**
         * .POGOProtos.Enums.BadgeType type = 1;
         */
        public Builder setTypeValue(int value) {
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.BadgeType type = 1;
         */
        public POGOProtos.Enums.BadgeTypeOuterClass.BadgeType getType() {
          @SuppressWarnings("deprecation")
          POGOProtos.Enums.BadgeTypeOuterClass.BadgeType result = POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.valueOf(type_);
          return result == null ? POGOProtos.Enums.BadgeTypeOuterClass.BadgeType.UNRECOGNIZED : result;
        }
        /**
         * .POGOProtos.Enums.BadgeType type = 1;
         */
        public Builder setType(POGOProtos.Enums.BadgeTypeOuterClass.BadgeType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          type_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.BadgeType type = 1;
         */
        public Builder clearType() {
          
          type_ = 0;
          onChanged();
          return this;
        }

        private int operator_ = 0;
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
         */
        public int getOperatorValue() {
          return operator_;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
         */
        public Builder setOperatorValue(int value) {
          operator_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
         */
        public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator getOperator() {
          @SuppressWarnings("deprecation")
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.valueOf(operator_);
          return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator.UNRECOGNIZED : result;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
         */
        public Builder setOperator(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Operator value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          operator_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Data.Quests.QuestPrecondition.Operator operator = 2;
         */
        public Builder clearOperator() {
          
          operator_ = 0;
          onChanged();
          return this;
        }

        private int badgeRank_ ;
        /**
         * int32 badge_rank = 3;
         */
        public int getBadgeRank() {
          return badgeRank_;
        }
        /**
         * int32 badge_rank = 3;
         */
        public Builder setBadgeRank(int value) {
          
          badgeRank_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 badge_rank = 3;
         */
        public Builder clearBadgeRank() {
          
          badgeRank_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestPrecondition.Medal)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestPrecondition.Medal)
      private static final POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal();
      }

      public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Medal parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Medal(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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int conditionCase_ = 0;
    private java.lang.Object condition_;
    public enum ConditionCase
        implements com.google.protobuf.Internal.EnumLite {
      QUEST_TEMPLATE_ID(2),
      LEVEL(3),
      MEDAL(4),
      QUESTS(5),
      CONDITION_NOT_SET(0);
      private final int value;
      private ConditionCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ConditionCase valueOf(int value) {
        return forNumber(value);
      }

      public static ConditionCase forNumber(int value) {
        switch (value) {
          case 2: return QUEST_TEMPLATE_ID;
          case 3: return LEVEL;
          case 4: return MEDAL;
          case 5: return QUESTS;
          case 0: return CONDITION_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ConditionCase
    getConditionCase() {
      return ConditionCase.forNumber(
          conditionCase_);
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
     */
    public int getTypeValue() {
      return type_;
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType getType() {
      @SuppressWarnings("deprecation")
      POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.valueOf(type_);
      return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.UNRECOGNIZED : result;
    }

    public static final int QUEST_TEMPLATE_ID_FIELD_NUMBER = 2;
    /**
     * string quest_template_id = 2;
     */
    public java.lang.String getQuestTemplateId() {
      java.lang.Object ref = "";
      if (conditionCase_ == 2) {
        ref = condition_;
      }
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (conditionCase_ == 2) {
          condition_ = s;
        }
        return s;
      }
    }
    /**
     * string quest_template_id = 2;
     */
    public com.google.protobuf.ByteString
        getQuestTemplateIdBytes() {
      java.lang.Object ref = "";
      if (conditionCase_ == 2) {
        ref = condition_;
      }
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        if (conditionCase_ == 2) {
          condition_ = b;
        }
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LEVEL_FIELD_NUMBER = 3;
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    public boolean hasLevel() {
      return conditionCase_ == 3;
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getLevel() {
      if (conditionCase_ == 3) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder getLevelOrBuilder() {
      if (conditionCase_ == 3) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
    }

    public static final int MEDAL_FIELD_NUMBER = 4;
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    public boolean hasMedal() {
      return conditionCase_ == 4;
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getMedal() {
      if (conditionCase_ == 4) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder getMedalOrBuilder() {
      if (conditionCase_ == 4) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
    }

    public static final int QUESTS_FIELD_NUMBER = 5;
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    public boolean hasQuests() {
      return conditionCase_ == 5;
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getQuests() {
      if (conditionCase_ == 5) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
     */
    public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder getQuestsOrBuilder() {
      if (conditionCase_ == 5) {
         return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_;
      }
      return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
    }

    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_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.QUEST_PRECONDITION_UNSET.getNumber()) {
        output.writeEnum(1, type_);
      }
      if (conditionCase_ == 2) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, condition_);
      }
      if (conditionCase_ == 3) {
        output.writeMessage(3, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_);
      }
      if (conditionCase_ == 4) {
        output.writeMessage(4, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_);
      }
      if (conditionCase_ == 5) {
        output.writeMessage(5, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (type_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.QUEST_PRECONDITION_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (conditionCase_ == 2) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, condition_);
      }
      if (conditionCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_);
      }
      if (conditionCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_);
      }
      if (conditionCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_);
      }
      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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition)) {
        return super.equals(obj);
      }
      POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition other = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition) obj;

      boolean result = true;
      result = result && type_ == other.type_;
      result = result && getConditionCase().equals(
          other.getConditionCase());
      if (!result) return false;
      switch (conditionCase_) {
        case 2:
          result = result && getQuestTemplateId()
              .equals(other.getQuestTemplateId());
          break;
        case 3:
          result = result && getLevel()
              .equals(other.getLevel());
          break;
        case 4:
          result = result && getMedal()
              .equals(other.getMedal());
          break;
        case 5:
          result = result && getQuests()
              .equals(other.getQuests());
          break;
        case 0:
        default:
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @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_;
      switch (conditionCase_) {
        case 2:
          hash = (37 * hash) + QUEST_TEMPLATE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getQuestTemplateId().hashCode();
          break;
        case 3:
          hash = (37 * hash) + LEVEL_FIELD_NUMBER;
          hash = (53 * hash) + getLevel().hashCode();
          break;
        case 4:
          hash = (37 * hash) + MEDAL_FIELD_NUMBER;
          hash = (53 * hash) + getMedal().hashCode();
          break;
        case 5:
          hash = (37 * hash) + QUESTS_FIELD_NUMBER;
          hash = (53 * hash) + getQuests().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition 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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition 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(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition 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 POGOProtos.Data.Quests.QuestPrecondition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestPrecondition)
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPreconditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.class, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Builder.class);
      }

      // Construct using POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.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;

        conditionCase_ = 0;
        condition_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor;
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition getDefaultInstanceForType() {
        return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.getDefaultInstance();
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition build() {
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition buildPartial() {
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition result = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition(this);
        result.type_ = type_;
        if (conditionCase_ == 2) {
          result.condition_ = condition_;
        }
        if (conditionCase_ == 3) {
          if (levelBuilder_ == null) {
            result.condition_ = condition_;
          } else {
            result.condition_ = levelBuilder_.build();
          }
        }
        if (conditionCase_ == 4) {
          if (medalBuilder_ == null) {
            result.condition_ = condition_;
          } else {
            result.condition_ = medalBuilder_.build();
          }
        }
        if (conditionCase_ == 5) {
          if (questsBuilder_ == null) {
            result.condition_ = condition_;
          } else {
            result.condition_ = questsBuilder_.build();
          }
        }
        result.conditionCase_ = conditionCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition) {
          return mergeFrom((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition other) {
        if (other == POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.getDefaultInstance()) return this;
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        switch (other.getConditionCase()) {
          case QUEST_TEMPLATE_ID: {
            conditionCase_ = 2;
            condition_ = other.condition_;
            onChanged();
            break;
          }
          case LEVEL: {
            mergeLevel(other.getLevel());
            break;
          }
          case MEDAL: {
            mergeMedal(other.getMedal());
            break;
          }
          case QUESTS: {
            mergeQuests(other.getQuests());
            break;
          }
          case CONDITION_NOT_SET: {
            break;
          }
        }
        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 {
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int conditionCase_ = 0;
      private java.lang.Object condition_;
      public ConditionCase
          getConditionCase() {
        return ConditionCase.forNumber(
            conditionCase_);
      }

      public Builder clearCondition() {
        conditionCase_ = 0;
        condition_ = null;
        onChanged();
        return this;
      }


      private int type_ = 0;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
       */
      public Builder setTypeValue(int value) {
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType getType() {
        @SuppressWarnings("deprecation")
        POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType result = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.valueOf(type_);
        return result == null ? POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
       */
      public Builder setType(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestPreconditionType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.QuestPreconditionType type = 1;
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      /**
       * string quest_template_id = 2;
       */
      public java.lang.String getQuestTemplateId() {
        java.lang.Object ref = "";
        if (conditionCase_ == 2) {
          ref = condition_;
        }
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (conditionCase_ == 2) {
            condition_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string quest_template_id = 2;
       */
      public com.google.protobuf.ByteString
          getQuestTemplateIdBytes() {
        java.lang.Object ref = "";
        if (conditionCase_ == 2) {
          ref = condition_;
        }
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          if (conditionCase_ == 2) {
            condition_ = b;
          }
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string quest_template_id = 2;
       */
      public Builder setQuestTemplateId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  conditionCase_ = 2;
        condition_ = value;
        onChanged();
        return this;
      }
      /**
       * string quest_template_id = 2;
       */
      public Builder clearQuestTemplateId() {
        if (conditionCase_ == 2) {
          conditionCase_ = 0;
          condition_ = null;
          onChanged();
        }
        return this;
      }
      /**
       * string quest_template_id = 2;
       */
      public Builder setQuestTemplateIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        conditionCase_ = 2;
        condition_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder> levelBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public boolean hasLevel() {
        return conditionCase_ == 3;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level getLevel() {
        if (levelBuilder_ == null) {
          if (conditionCase_ == 3) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
        } else {
          if (conditionCase_ == 3) {
            return levelBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public Builder setLevel(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level value) {
        if (levelBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          levelBuilder_.setMessage(value);
        }
        conditionCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public Builder setLevel(
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder builderForValue) {
        if (levelBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          levelBuilder_.setMessage(builderForValue.build());
        }
        conditionCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public Builder mergeLevel(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level value) {
        if (levelBuilder_ == null) {
          if (conditionCase_ == 3 &&
              condition_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance()) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.newBuilder((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_)
                .mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          if (conditionCase_ == 3) {
            levelBuilder_.mergeFrom(value);
          }
          levelBuilder_.setMessage(value);
        }
        conditionCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public Builder clearLevel() {
        if (levelBuilder_ == null) {
          if (conditionCase_ == 3) {
            conditionCase_ = 0;
            condition_ = null;
            onChanged();
          }
        } else {
          if (conditionCase_ == 3) {
            conditionCase_ = 0;
            condition_ = null;
          }
          levelBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder getLevelBuilder() {
        return getLevelFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder getLevelOrBuilder() {
        if ((conditionCase_ == 3) && (levelBuilder_ != null)) {
          return levelBuilder_.getMessageOrBuilder();
        } else {
          if (conditionCase_ == 3) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Level level = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder> 
          getLevelFieldBuilder() {
        if (levelBuilder_ == null) {
          if (!(conditionCase_ == 3)) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.getDefaultInstance();
          }
          levelBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.LevelOrBuilder>(
                  (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Level) condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        conditionCase_ = 3;
        onChanged();;
        return levelBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder> medalBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public boolean hasMedal() {
        return conditionCase_ == 4;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal getMedal() {
        if (medalBuilder_ == null) {
          if (conditionCase_ == 4) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
        } else {
          if (conditionCase_ == 4) {
            return medalBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public Builder setMedal(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal value) {
        if (medalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          medalBuilder_.setMessage(value);
        }
        conditionCase_ = 4;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public Builder setMedal(
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder builderForValue) {
        if (medalBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          medalBuilder_.setMessage(builderForValue.build());
        }
        conditionCase_ = 4;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public Builder mergeMedal(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal value) {
        if (medalBuilder_ == null) {
          if (conditionCase_ == 4 &&
              condition_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance()) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.newBuilder((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_)
                .mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          if (conditionCase_ == 4) {
            medalBuilder_.mergeFrom(value);
          }
          medalBuilder_.setMessage(value);
        }
        conditionCase_ = 4;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public Builder clearMedal() {
        if (medalBuilder_ == null) {
          if (conditionCase_ == 4) {
            conditionCase_ = 0;
            condition_ = null;
            onChanged();
          }
        } else {
          if (conditionCase_ == 4) {
            conditionCase_ = 0;
            condition_ = null;
          }
          medalBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder getMedalBuilder() {
        return getMedalFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder getMedalOrBuilder() {
        if ((conditionCase_ == 4) && (medalBuilder_ != null)) {
          return medalBuilder_.getMessageOrBuilder();
        } else {
          if (conditionCase_ == 4) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Medal medal = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder> 
          getMedalFieldBuilder() {
        if (medalBuilder_ == null) {
          if (!(conditionCase_ == 4)) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.getDefaultInstance();
          }
          medalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.MedalOrBuilder>(
                  (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Medal) condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        conditionCase_ = 4;
        onChanged();;
        return medalBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder> questsBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public boolean hasQuests() {
        return conditionCase_ == 5;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests getQuests() {
        if (questsBuilder_ == null) {
          if (conditionCase_ == 5) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
        } else {
          if (conditionCase_ == 5) {
            return questsBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public Builder setQuests(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests value) {
        if (questsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          questsBuilder_.setMessage(value);
        }
        conditionCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public Builder setQuests(
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder builderForValue) {
        if (questsBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          questsBuilder_.setMessage(builderForValue.build());
        }
        conditionCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public Builder mergeQuests(POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests value) {
        if (questsBuilder_ == null) {
          if (conditionCase_ == 5 &&
              condition_ != POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance()) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.newBuilder((POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_)
                .mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          if (conditionCase_ == 5) {
            questsBuilder_.mergeFrom(value);
          }
          questsBuilder_.setMessage(value);
        }
        conditionCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public Builder clearQuests() {
        if (questsBuilder_ == null) {
          if (conditionCase_ == 5) {
            conditionCase_ = 0;
            condition_ = null;
            onChanged();
          }
        } else {
          if (conditionCase_ == 5) {
            conditionCase_ = 0;
            condition_ = null;
          }
          questsBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder getQuestsBuilder() {
        return getQuestsFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      public POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder getQuestsOrBuilder() {
        if ((conditionCase_ == 5) && (questsBuilder_ != null)) {
          return questsBuilder_.getMessageOrBuilder();
        } else {
          if (conditionCase_ == 5) {
            return (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_;
          }
          return POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestPrecondition.Quests quests = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder> 
          getQuestsFieldBuilder() {
        if (questsBuilder_ == null) {
          if (!(conditionCase_ == 5)) {
            condition_ = POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.getDefaultInstance();
          }
          questsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests.Builder, POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.QuestsOrBuilder>(
                  (POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition.Quests) condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        conditionCase_ = 5;
        onChanged();;
        return questsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestPrecondition)
    }

    // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestPrecondition)
    private static final POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition();
    }

    public static POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public QuestPrecondition parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new QuestPrecondition(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 POGOProtos.Data.Quests.QuestPreconditionOuterClass.QuestPrecondition getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_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.POGOProtos/Data/Quests/QuestPreconditi" +
      "on.proto\022\026POGOProtos.Data.Quests\032 POGOPr" +
      "otos/Enums/BadgeType.proto\"\207\007\n\021QuestPrec" +
      "ondition\022M\n\004type\030\001 \001(\0162?.POGOProtos.Data" +
      ".Quests.QuestPrecondition.QuestPrecondit" +
      "ionType\022\033\n\021quest_template_id\030\002 \001(\tH\000\022@\n\005" +
      "level\030\003 \001(\0132/.POGOProtos.Data.Quests.Que" +
      "stPrecondition.LevelH\000\022@\n\005medal\030\004 \001(\0132/." +
      "POGOProtos.Data.Quests.QuestPrecondition" +
      ".MedalH\000\022B\n\006quests\030\005 \001(\01320.POGOProtos.Da" +
      "ta.Quests.QuestPrecondition.QuestsH\000\032$\n\006" +
      "Quests\022\032\n\022quest_template_ids\030\001 \003(\t\032\\\n\005Le" +
      "vel\022D\n\010operator\030\001 \001(\01622.POGOProtos.Data." +
      "Quests.QuestPrecondition.Operator\022\r\n\005lev" +
      "el\030\002 \001(\005\032\214\001\n\005Medal\022)\n\004type\030\001 \001(\0162\033.POGOP" +
      "rotos.Enums.BadgeType\022D\n\010operator\030\002 \001(\0162" +
      "2.POGOProtos.Data.Quests.QuestPreconditi" +
      "on.Operator\022\022\n\nbadge_rank\030\003 \001(\005\"B\n\010Opera" +
      "tor\022\t\n\005UNSET\020\000\022\n\n\006EQUALS\020\001\022\020\n\014GREATER_TH" +
      "AN\020\002\022\r\n\tLESS_THAN\020\003\"\331\001\n\025QuestPreconditio" +
      "nType\022\034\n\030QUEST_PRECONDITION_UNSET\020\000\022\034\n\030Q" +
      "UEST_PRECONDITION_QUEST\020\001\022\034\n\030QUEST_PRECO" +
      "NDITION_LEVEL\020\002\022\034\n\030QUEST_PRECONDITION_ME" +
      "DAL\020\003\022\037\n\033QUEST_PRECONDITION_IS_MINOR\020\004\022\'" +
      "\n#QUEST_PRECONDITION_EXCLUSIVE_QUESTS\020\005B" +
      "\013\n\tConditionb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          POGOProtos.Enums.BadgeTypeOuterClass.getDescriptor(),
        }, assigner);
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor,
        new java.lang.String[] { "Type", "QuestTemplateId", "Level", "Medal", "Quests", "Condition", });
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor.getNestedTypes().get(0);
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestPrecondition_Quests_descriptor,
        new java.lang.String[] { "QuestTemplateIds", });
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor.getNestedTypes().get(1);
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestPrecondition_Level_descriptor,
        new java.lang.String[] { "Operator", "Level", });
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestPrecondition_descriptor.getNestedTypes().get(2);
    internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestPrecondition_Medal_descriptor,
        new java.lang.String[] { "Type", "Operator", "BadgeRank", });
    POGOProtos.Enums.BadgeTypeOuterClass.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy