content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: GachaInfo.proto
  
  package emu.grasscutter.net.proto;
  
  public final class GachaInfoOuterClass {
    private GachaInfoOuterClass() {}
    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 GachaInfoOrBuilder extends
        // @@protoc_insertion_point(interface_extends:GachaInfo)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>string gachaPrefabPath = 9;</code>
       * @return The gachaPrefabPath.
       */
      java.lang.String getGachaPrefabPath();
      /**
       * <code>string gachaPrefabPath = 9;</code>
       * @return The bytes for gachaPrefabPath.
       */
      com.google.protobuf.ByteString
          getGachaPrefabPathBytes();
  
      /**
       * <code>uint32 scheduleId = 2;</code>
       * @return The scheduleId.
       */
      int getScheduleId();
  
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @return A list containing the displayUp5ItemList.
       */
      java.util.List<java.lang.Integer> getDisplayUp5ItemListList();
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @return The count of displayUp5ItemList.
       */
      int getDisplayUp5ItemListCount();
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @param index The index of the element to return.
       * @return The displayUp5ItemList at the given index.
       */
      int getDisplayUp5ItemList(int index);
  
      /**
       * <code>uint32 gachaSortId = 6;</code>
       * @return The gachaSortId.
       */
      int getGachaSortId();
  
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @return A list containing the displayUp4ItemList.
       */
      java.util.List<java.lang.Integer> getDisplayUp4ItemListList();
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @return The count of displayUp4ItemList.
       */
      int getDisplayUp4ItemListCount();
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @param index The index of the element to return.
       * @return The displayUp4ItemList at the given index.
       */
      int getDisplayUp4ItemList(int index);
  
      /**
       * <code>bool isNewWish = 869;</code>
       * @return The isNewWish.
       */
      boolean getIsNewWish();
  
      /**
       * <code>uint32 gachaTimesLimit = 11;</code>
       * @return The gachaTimesLimit.
       */
      int getGachaTimesLimit();
  
      /**
       * <code>uint32 costItemNum = 14;</code>
       * @return The costItemNum.
       */
      int getCostItemNum();
  
      /**
       * <code>string gachaRecordUrl = 7;</code>
       * @return The gachaRecordUrl.
       */
      java.lang.String getGachaRecordUrl();
      /**
       * <code>string gachaRecordUrl = 7;</code>
       * @return The bytes for gachaRecordUrl.
       */
      com.google.protobuf.ByteString
          getGachaRecordUrlBytes();
  
      /**
       * <code>string titleTextmap = 1228;</code>
       * @return The titleTextmap.
       */
      java.lang.String getTitleTextmap();
      /**
       * <code>string titleTextmap = 1228;</code>
       * @return The bytes for titleTextmap.
       */
      com.google.protobuf.ByteString
          getTitleTextmapBytes();
  
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> 
          getGachaUpInfoListList();
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo getGachaUpInfoList(int index);
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      int getGachaUpInfoListCount();
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      java.util.List<? extends emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder> 
          getGachaUpInfoListOrBuilderList();
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder getGachaUpInfoListOrBuilder(
          int index);
  
      /**
       * <code>string gachaPreviewPrefabPath = 8;</code>
       * @return The gachaPreviewPrefabPath.
       */
      java.lang.String getGachaPreviewPrefabPath();
      /**
       * <code>string gachaPreviewPrefabPath = 8;</code>
       * @return The bytes for gachaPreviewPrefabPath.
       */
      com.google.protobuf.ByteString
          getGachaPreviewPrefabPathBytes();
  
      /**
       * <code>uint32 curScheduleDailyGachaTimes = 48;</code>
       * @return The curScheduleDailyGachaTimes.
       */
      int getCurScheduleDailyGachaTimes();
  
      /**
       * <code>uint32 gachaType = 1;</code>
       * @return The gachaType.
       */
      int getGachaType();
  
      /**
       * <code>uint32 tenCostItemId = 4;</code>
       * @return The tenCostItemId.
       */
      int getTenCostItemId();
  
      /**
       * <code>uint32 leftGachaTimes = 12;</code>
       * @return The leftGachaTimes.
       */
      int getLeftGachaTimes();
  
      /**
       * <code>string gachaProbUrl = 5;</code>
       * @return The gachaProbUrl.
       */
      java.lang.String getGachaProbUrl();
      /**
       * <code>string gachaProbUrl = 5;</code>
       * @return The bytes for gachaProbUrl.
       */
      com.google.protobuf.ByteString
          getGachaProbUrlBytes();
  
      /**
       * <code>string gachaProbUrlOversea = 765;</code>
       * @return The gachaProbUrlOversea.
       */
      java.lang.String getGachaProbUrlOversea();
      /**
       * <code>string gachaProbUrlOversea = 765;</code>
       * @return The bytes for gachaProbUrlOversea.
       */
      com.google.protobuf.ByteString
          getGachaProbUrlOverseaBytes();
  
      /**
       * <code>uint32 wishItemId = 309;</code>
       * @return The wishItemId.
       */
      int getWishItemId();
  
      /**
       * <code>uint32 tenCostItemNum = 10;</code>
       * @return The tenCostItemNum.
       */
      int getTenCostItemNum();
  
      /**
       * <code>uint32 wishMaxProgress = 1669;</code>
       * @return The wishMaxProgress.
       */
      int getWishMaxProgress();
  
      /**
       * <code>uint32 costItemId = 13;</code>
       * @return The costItemId.
       */
      int getCostItemId();
  
      /**
       * <code>uint32 beginTime = 15;</code>
       * @return The beginTime.
       */
      int getBeginTime();
  
      /**
       * <code>string gachaRecordUrlOversea = 1004;</code>
       * @return The gachaRecordUrlOversea.
       */
      java.lang.String getGachaRecordUrlOversea();
      /**
       * <code>string gachaRecordUrlOversea = 1004;</code>
       * @return The bytes for gachaRecordUrlOversea.
       */
      com.google.protobuf.ByteString
          getGachaRecordUrlOverseaBytes();
  
      /**
       * <code>uint32 wishProgress = 246;</code>
       * @return The wishProgress.
       */
      int getWishProgress();
  
      /**
       * <code>uint32 endTime = 3;</code>
       * @return The endTime.
       */
      int getEndTime();
    }
    /**
     * Protobuf type {@code GachaInfo}
     */
    public static final class GachaInfo extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:GachaInfo)
        GachaInfoOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use GachaInfo.newBuilder() to construct.
      private GachaInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private GachaInfo() {
        gachaPrefabPath_ = "";
        displayUp5ItemList_ = emptyIntList();
        displayUp4ItemList_ = emptyIntList();
        gachaRecordUrl_ = "";
        titleTextmap_ = "";
        gachaUpInfoList_ = java.util.Collections.emptyList();
        gachaPreviewPrefabPath_ = "";
        gachaProbUrl_ = "";
        gachaProbUrlOversea_ = "";
        gachaRecordUrlOversea_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new GachaInfo();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private GachaInfo(
          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: {
  
                gachaType_ = input.readUInt32();
                break;
              }
              case 16: {
  
                scheduleId_ = input.readUInt32();
                break;
              }
              case 24: {
  
                endTime_ = input.readUInt32();
                break;
              }
              case 32: {
  
                tenCostItemId_ = input.readUInt32();
                break;
              }
              case 42: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaProbUrl_ = s;
                break;
              }
              case 48: {
  
                gachaSortId_ = input.readUInt32();
                break;
              }
              case 58: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaRecordUrl_ = s;
                break;
              }
              case 66: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaPreviewPrefabPath_ = s;
                break;
              }
              case 74: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaPrefabPath_ = s;
                break;
              }
              case 80: {
  
                tenCostItemNum_ = input.readUInt32();
                break;
              }
              case 88: {
  
                gachaTimesLimit_ = input.readUInt32();
                break;
              }
              case 96: {
  
                leftGachaTimes_ = input.readUInt32();
                break;
              }
              case 104: {
  
                costItemId_ = input.readUInt32();
                break;
              }
              case 112: {
  
                costItemNum_ = input.readUInt32();
                break;
              }
              case 120: {
  
                beginTime_ = input.readUInt32();
                break;
              }
              case 384: {
  
                curScheduleDailyGachaTimes_ = input.readUInt32();
                break;
              }
              case 1968: {
  
                wishProgress_ = input.readUInt32();
                break;
              }
              case 2232: {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  displayUp4ItemList_ = newIntList();
                  mutable_bitField0_ |= 0x00000002;
                }
                displayUp4ItemList_.addInt(input.readUInt32());
                break;
              }
              case 2234: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                  displayUp4ItemList_ = newIntList();
                  mutable_bitField0_ |= 0x00000002;
                }
                while (input.getBytesUntilLimit() > 0) {
                  displayUp4ItemList_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              }
              case 2472: {
  
                wishItemId_ = input.readUInt32();
                break;
              }
              case 6122: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaProbUrlOversea_ = s;
                break;
              }
              case 6952: {
  
                isNewWish_ = input.readBool();
                break;
              }
              case 8034: {
                java.lang.String s = input.readStringRequireUtf8();
  
                gachaRecordUrlOversea_ = s;
                break;
              }
              case 9826: {
                java.lang.String s = input.readStringRequireUtf8();
  
                titleTextmap_ = s;
                break;
              }
              case 13352: {
  
                wishMaxProgress_ = input.readUInt32();
                break;
              }
              case 14690: {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  gachaUpInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo>();
                  mutable_bitField0_ |= 0x00000004;
                }
                gachaUpInfoList_.add(
                    input.readMessage(emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.parser(), extensionRegistry));
                break;
              }
              case 14808: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  displayUp5ItemList_ = newIntList();
                  mutable_bitField0_ |= 0x00000001;
                }
                displayUp5ItemList_.addInt(input.readUInt32());
                break;
              }
              case 14810: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                  displayUp5ItemList_ = newIntList();
                  mutable_bitField0_ |= 0x00000001;
                }
                while (input.getBytesUntilLimit() > 0) {
                  displayUp5ItemList_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000002) != 0)) {
            displayUp4ItemList_.makeImmutable(); // C
          }
          if (((mutable_bitField0_ & 0x00000004) != 0)) {
            gachaUpInfoList_ = java.util.Collections.unmodifiableList(gachaUpInfoList_);
          }
          if (((mutable_bitField0_ & 0x00000001) != 0)) {
            displayUp5ItemList_.makeImmutable(); // C
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return emu.grasscutter.net.proto.GachaInfoOuterClass.internal_static_GachaInfo_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.GachaInfoOuterClass.internal_static_GachaInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.class, emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.Builder.class);
      }
  
      public static final int GACHAPREFABPATH_FIELD_NUMBER = 9;
      private volatile java.lang.Object gachaPrefabPath_;
      /**
       * <code>string gachaPrefabPath = 9;</code>
       * @return The gachaPrefabPath.
       */
      @java.lang.Override
      public java.lang.String getGachaPrefabPath() {
        java.lang.Object ref = gachaPrefabPath_;
        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();
          gachaPrefabPath_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaPrefabPath = 9;</code>
       * @return The bytes for gachaPrefabPath.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaPrefabPathBytes() {
        java.lang.Object ref = gachaPrefabPath_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaPrefabPath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int SCHEDULEID_FIELD_NUMBER = 2;
      private int scheduleId_;
      /**
       * <code>uint32 scheduleId = 2;</code>
       * @return The scheduleId.
       */
      @java.lang.Override
      public int getScheduleId() {
        return scheduleId_;
      }
  
      public static final int DISPLAYUP5ITEMLIST_FIELD_NUMBER = 1851;
      private com.google.protobuf.Internal.IntList displayUp5ItemList_;
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @return A list containing the displayUp5ItemList.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getDisplayUp5ItemListList() {
        return displayUp5ItemList_;
      }
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @return The count of displayUp5ItemList.
       */
      public int getDisplayUp5ItemListCount() {
        return displayUp5ItemList_.size();
      }
      /**
       * <code>repeated uint32 displayUp5ItemList = 1851;</code>
       * @param index The index of the element to return.
       * @return The displayUp5ItemList at the given index.
       */
      public int getDisplayUp5ItemList(int index) {
        return displayUp5ItemList_.getInt(index);
      }
      private int displayUp5ItemListMemoizedSerializedSize = -1;
  
      public static final int GACHASORTID_FIELD_NUMBER = 6;
      private int gachaSortId_;
      /**
       * <code>uint32 gachaSortId = 6;</code>
       * @return The gachaSortId.
       */
      @java.lang.Override
      public int getGachaSortId() {
        return gachaSortId_;
      }
  
      public static final int DISPLAYUP4ITEMLIST_FIELD_NUMBER = 279;
      private com.google.protobuf.Internal.IntList displayUp4ItemList_;
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @return A list containing the displayUp4ItemList.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
          getDisplayUp4ItemListList() {
        return displayUp4ItemList_;
      }
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @return The count of displayUp4ItemList.
       */
      public int getDisplayUp4ItemListCount() {
        return displayUp4ItemList_.size();
      }
      /**
       * <code>repeated uint32 displayUp4ItemList = 279;</code>
       * @param index The index of the element to return.
       * @return The displayUp4ItemList at the given index.
       */
      public int getDisplayUp4ItemList(int index) {
        return displayUp4ItemList_.getInt(index);
      }
      private int displayUp4ItemListMemoizedSerializedSize = -1;
  
      public static final int ISNEWWISH_FIELD_NUMBER = 869;
      private boolean isNewWish_;
      /**
       * <code>bool isNewWish = 869;</code>
       * @return The isNewWish.
       */
      @java.lang.Override
      public boolean getIsNewWish() {
        return isNewWish_;
      }
  
      public static final int GACHATIMESLIMIT_FIELD_NUMBER = 11;
      private int gachaTimesLimit_;
      /**
       * <code>uint32 gachaTimesLimit = 11;</code>
       * @return The gachaTimesLimit.
       */
      @java.lang.Override
      public int getGachaTimesLimit() {
        return gachaTimesLimit_;
      }
  
      public static final int COSTITEMNUM_FIELD_NUMBER = 14;
      private int costItemNum_;
      /**
       * <code>uint32 costItemNum = 14;</code>
       * @return The costItemNum.
       */
      @java.lang.Override
      public int getCostItemNum() {
        return costItemNum_;
      }
  
      public static final int GACHARECORDURL_FIELD_NUMBER = 7;
      private volatile java.lang.Object gachaRecordUrl_;
      /**
       * <code>string gachaRecordUrl = 7;</code>
       * @return The gachaRecordUrl.
       */
      @java.lang.Override
      public java.lang.String getGachaRecordUrl() {
        java.lang.Object ref = gachaRecordUrl_;
        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();
          gachaRecordUrl_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaRecordUrl = 7;</code>
       * @return The bytes for gachaRecordUrl.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaRecordUrlBytes() {
        java.lang.Object ref = gachaRecordUrl_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaRecordUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int TITLETEXTMAP_FIELD_NUMBER = 1228;
      private volatile java.lang.Object titleTextmap_;
      /**
       * <code>string titleTextmap = 1228;</code>
       * @return The titleTextmap.
       */
      @java.lang.Override
      public java.lang.String getTitleTextmap() {
        java.lang.Object ref = titleTextmap_;
        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();
          titleTextmap_ = s;
          return s;
        }
      }
      /**
       * <code>string titleTextmap = 1228;</code>
       * @return The bytes for titleTextmap.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleTextmapBytes() {
        java.lang.Object ref = titleTextmap_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          titleTextmap_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int GACHAUPINFOLIST_FIELD_NUMBER = 1836;
      private java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> gachaUpInfoList_;
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      @java.lang.Override
      public java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> getGachaUpInfoListList() {
        return gachaUpInfoList_;
      }
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      @java.lang.Override
      public java.util.List<? extends emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder> 
          getGachaUpInfoListOrBuilderList() {
        return gachaUpInfoList_;
      }
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      @java.lang.Override
      public int getGachaUpInfoListCount() {
        return gachaUpInfoList_.size();
      }
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo getGachaUpInfoList(int index) {
        return gachaUpInfoList_.get(index);
      }
      /**
       * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder getGachaUpInfoListOrBuilder(
          int index) {
        return gachaUpInfoList_.get(index);
      }
  
      public static final int GACHAPREVIEWPREFABPATH_FIELD_NUMBER = 8;
      private volatile java.lang.Object gachaPreviewPrefabPath_;
      /**
       * <code>string gachaPreviewPrefabPath = 8;</code>
       * @return The gachaPreviewPrefabPath.
       */
      @java.lang.Override
      public java.lang.String getGachaPreviewPrefabPath() {
        java.lang.Object ref = gachaPreviewPrefabPath_;
        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();
          gachaPreviewPrefabPath_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaPreviewPrefabPath = 8;</code>
       * @return The bytes for gachaPreviewPrefabPath.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaPreviewPrefabPathBytes() {
        java.lang.Object ref = gachaPreviewPrefabPath_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaPreviewPrefabPath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int CURSCHEDULEDAILYGACHATIMES_FIELD_NUMBER = 48;
      private int curScheduleDailyGachaTimes_;
      /**
       * <code>uint32 curScheduleDailyGachaTimes = 48;</code>
       * @return The curScheduleDailyGachaTimes.
       */
      @java.lang.Override
      public int getCurScheduleDailyGachaTimes() {
        return curScheduleDailyGachaTimes_;
      }
  
      public static final int GACHATYPE_FIELD_NUMBER = 1;
      private int gachaType_;
      /**
       * <code>uint32 gachaType = 1;</code>
       * @return The gachaType.
       */
      @java.lang.Override
      public int getGachaType() {
        return gachaType_;
      }
  
      public static final int TENCOSTITEMID_FIELD_NUMBER = 4;
      private int tenCostItemId_;
      /**
       * <code>uint32 tenCostItemId = 4;</code>
       * @return The tenCostItemId.
       */
      @java.lang.Override
      public int getTenCostItemId() {
        return tenCostItemId_;
      }
  
      public static final int LEFTGACHATIMES_FIELD_NUMBER = 12;
      private int leftGachaTimes_;
      /**
       * <code>uint32 leftGachaTimes = 12;</code>
       * @return The leftGachaTimes.
       */
      @java.lang.Override
      public int getLeftGachaTimes() {
        return leftGachaTimes_;
      }
  
      public static final int GACHAPROBURL_FIELD_NUMBER = 5;
      private volatile java.lang.Object gachaProbUrl_;
      /**
       * <code>string gachaProbUrl = 5;</code>
       * @return The gachaProbUrl.
       */
      @java.lang.Override
      public java.lang.String getGachaProbUrl() {
        java.lang.Object ref = gachaProbUrl_;
        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();
          gachaProbUrl_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaProbUrl = 5;</code>
       * @return The bytes for gachaProbUrl.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaProbUrlBytes() {
        java.lang.Object ref = gachaProbUrl_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaProbUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int GACHAPROBURLOVERSEA_FIELD_NUMBER = 765;
      private volatile java.lang.Object gachaProbUrlOversea_;
      /**
       * <code>string gachaProbUrlOversea = 765;</code>
       * @return The gachaProbUrlOversea.
       */
      @java.lang.Override
      public java.lang.String getGachaProbUrlOversea() {
        java.lang.Object ref = gachaProbUrlOversea_;
        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();
          gachaProbUrlOversea_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaProbUrlOversea = 765;</code>
       * @return The bytes for gachaProbUrlOversea.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaProbUrlOverseaBytes() {
        java.lang.Object ref = gachaProbUrlOversea_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaProbUrlOversea_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int WISHITEMID_FIELD_NUMBER = 309;
      private int wishItemId_;
      /**
       * <code>uint32 wishItemId = 309;</code>
       * @return The wishItemId.
       */
      @java.lang.Override
      public int getWishItemId() {
        return wishItemId_;
      }
  
      public static final int TENCOSTITEMNUM_FIELD_NUMBER = 10;
      private int tenCostItemNum_;
      /**
       * <code>uint32 tenCostItemNum = 10;</code>
       * @return The tenCostItemNum.
       */
      @java.lang.Override
      public int getTenCostItemNum() {
        return tenCostItemNum_;
      }
  
      public static final int WISHMAXPROGRESS_FIELD_NUMBER = 1669;
      private int wishMaxProgress_;
      /**
       * <code>uint32 wishMaxProgress = 1669;</code>
       * @return The wishMaxProgress.
       */
      @java.lang.Override
      public int getWishMaxProgress() {
        return wishMaxProgress_;
      }
  
      public static final int COSTITEMID_FIELD_NUMBER = 13;
      private int costItemId_;
      /**
       * <code>uint32 costItemId = 13;</code>
       * @return The costItemId.
       */
      @java.lang.Override
      public int getCostItemId() {
        return costItemId_;
      }
  
      public static final int BEGINTIME_FIELD_NUMBER = 15;
      private int beginTime_;
      /**
       * <code>uint32 beginTime = 15;</code>
       * @return The beginTime.
       */
      @java.lang.Override
      public int getBeginTime() {
        return beginTime_;
      }
  
      public static final int GACHARECORDURLOVERSEA_FIELD_NUMBER = 1004;
      private volatile java.lang.Object gachaRecordUrlOversea_;
      /**
       * <code>string gachaRecordUrlOversea = 1004;</code>
       * @return The gachaRecordUrlOversea.
       */
      @java.lang.Override
      public java.lang.String getGachaRecordUrlOversea() {
        java.lang.Object ref = gachaRecordUrlOversea_;
        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();
          gachaRecordUrlOversea_ = s;
          return s;
        }
      }
      /**
       * <code>string gachaRecordUrlOversea = 1004;</code>
       * @return The bytes for gachaRecordUrlOversea.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGachaRecordUrlOverseaBytes() {
        java.lang.Object ref = gachaRecordUrlOversea_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gachaRecordUrlOversea_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int WISHPROGRESS_FIELD_NUMBER = 246;
      private int wishProgress_;
      /**
       * <code>uint32 wishProgress = 246;</code>
       * @return The wishProgress.
       */
      @java.lang.Override
      public int getWishProgress() {
        return wishProgress_;
      }
  
      public static final int ENDTIME_FIELD_NUMBER = 3;
      private int endTime_;
      /**
       * <code>uint32 endTime = 3;</code>
       * @return The endTime.
       */
      @java.lang.Override
      public int getEndTime() {
        return endTime_;
      }
  
      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 {
        getSerializedSize();
        if (gachaType_ != 0) {
          output.writeUInt32(1, gachaType_);
        }
        if (scheduleId_ != 0) {
          output.writeUInt32(2, scheduleId_);
        }
        if (endTime_ != 0) {
          output.writeUInt32(3, endTime_);
        }
        if (tenCostItemId_ != 0) {
          output.writeUInt32(4, tenCostItemId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaProbUrl_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 5, gachaProbUrl_);
        }
        if (gachaSortId_ != 0) {
          output.writeUInt32(6, gachaSortId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaRecordUrl_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 7, gachaRecordUrl_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaPreviewPrefabPath_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 8, gachaPreviewPrefabPath_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaPrefabPath_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 9, gachaPrefabPath_);
        }
        if (tenCostItemNum_ != 0) {
          output.writeUInt32(10, tenCostItemNum_);
        }
        if (gachaTimesLimit_ != 0) {
          output.writeUInt32(11, gachaTimesLimit_);
        }
        if (leftGachaTimes_ != 0) {
          output.writeUInt32(12, leftGachaTimes_);
        }
        if (costItemId_ != 0) {
          output.writeUInt32(13, costItemId_);
        }
        if (costItemNum_ != 0) {
          output.writeUInt32(14, costItemNum_);
        }
        if (beginTime_ != 0) {
          output.writeUInt32(15, beginTime_);
        }
        if (curScheduleDailyGachaTimes_ != 0) {
          output.writeUInt32(48, curScheduleDailyGachaTimes_);
        }
        if (wishProgress_ != 0) {
          output.writeUInt32(246, wishProgress_);
        }
        if (getDisplayUp4ItemListList().size() > 0) {
          output.writeUInt32NoTag(2234);
          output.writeUInt32NoTag(displayUp4ItemListMemoizedSerializedSize);
        }
        for (int i = 0; i < displayUp4ItemList_.size(); i++) {
          output.writeUInt32NoTag(displayUp4ItemList_.getInt(i));
        }
        if (wishItemId_ != 0) {
          output.writeUInt32(309, wishItemId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaProbUrlOversea_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 765, gachaProbUrlOversea_);
        }
        if (isNewWish_ != false) {
          output.writeBool(869, isNewWish_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaRecordUrlOversea_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1004, gachaRecordUrlOversea_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(titleTextmap_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1228, titleTextmap_);
        }
        if (wishMaxProgress_ != 0) {
          output.writeUInt32(1669, wishMaxProgress_);
        }
        for (int i = 0; i < gachaUpInfoList_.size(); i++) {
          output.writeMessage(1836, gachaUpInfoList_.get(i));
        }
        if (getDisplayUp5ItemListList().size() > 0) {
          output.writeUInt32NoTag(14810);
          output.writeUInt32NoTag(displayUp5ItemListMemoizedSerializedSize);
        }
        for (int i = 0; i < displayUp5ItemList_.size(); i++) {
          output.writeUInt32NoTag(displayUp5ItemList_.getInt(i));
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (gachaType_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, gachaType_);
        }
        if (scheduleId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, scheduleId_);
        }
        if (endTime_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(3, endTime_);
        }
        if (tenCostItemId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(4, tenCostItemId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaProbUrl_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, gachaProbUrl_);
        }
        if (gachaSortId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(6, gachaSortId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaRecordUrl_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, gachaRecordUrl_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaPreviewPrefabPath_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, gachaPreviewPrefabPath_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaPrefabPath_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, gachaPrefabPath_);
        }
        if (tenCostItemNum_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(10, tenCostItemNum_);
        }
        if (gachaTimesLimit_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(11, gachaTimesLimit_);
        }
        if (leftGachaTimes_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(12, leftGachaTimes_);
        }
        if (costItemId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(13, costItemId_);
        }
        if (costItemNum_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(14, costItemNum_);
        }
        if (beginTime_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(15, beginTime_);
        }
        if (curScheduleDailyGachaTimes_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(48, curScheduleDailyGachaTimes_);
        }
        if (wishProgress_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(246, wishProgress_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < displayUp4ItemList_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(displayUp4ItemList_.getInt(i));
          }
          size += dataSize;
          if (!getDisplayUp4ItemListList().isEmpty()) {
            size += 2;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          displayUp4ItemListMemoizedSerializedSize = dataSize;
        }
        if (wishItemId_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(309, wishItemId_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaProbUrlOversea_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(765, gachaProbUrlOversea_);
        }
        if (isNewWish_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(869, isNewWish_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gachaRecordUrlOversea_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1004, gachaRecordUrlOversea_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(titleTextmap_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1228, titleTextmap_);
        }
        if (wishMaxProgress_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1669, wishMaxProgress_);
        }
        for (int i = 0; i < gachaUpInfoList_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1836, gachaUpInfoList_.get(i));
        }
        {
          int dataSize = 0;
          for (int i = 0; i < displayUp5ItemList_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeUInt32SizeNoTag(displayUp5ItemList_.getInt(i));
          }
          size += dataSize;
          if (!getDisplayUp5ItemListList().isEmpty()) {
            size += 2;
            size += com.google.protobuf.CodedOutputStream
                .computeInt32SizeNoTag(dataSize);
          }
          displayUp5ItemListMemoizedSerializedSize = dataSize;
        }
        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 emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo)) {
          return super.equals(obj);
        }
        emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo other = (emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo) obj;
  
        if (!getGachaPrefabPath()
            .equals(other.getGachaPrefabPath())) return false;
        if (getScheduleId()
            != other.getScheduleId()) return false;
        if (!getDisplayUp5ItemListList()
            .equals(other.getDisplayUp5ItemListList())) return false;
        if (getGachaSortId()
            != other.getGachaSortId()) return false;
        if (!getDisplayUp4ItemListList()
            .equals(other.getDisplayUp4ItemListList())) return false;
        if (getIsNewWish()
            != other.getIsNewWish()) return false;
        if (getGachaTimesLimit()
            != other.getGachaTimesLimit()) return false;
        if (getCostItemNum()
            != other.getCostItemNum()) return false;
        if (!getGachaRecordUrl()
            .equals(other.getGachaRecordUrl())) return false;
        if (!getTitleTextmap()
            .equals(other.getTitleTextmap())) return false;
        if (!getGachaUpInfoListList()
            .equals(other.getGachaUpInfoListList())) return false;
        if (!getGachaPreviewPrefabPath()
            .equals(other.getGachaPreviewPrefabPath())) return false;
        if (getCurScheduleDailyGachaTimes()
            != other.getCurScheduleDailyGachaTimes()) return false;
        if (getGachaType()
            != other.getGachaType()) return false;
        if (getTenCostItemId()
            != other.getTenCostItemId()) return false;
        if (getLeftGachaTimes()
            != other.getLeftGachaTimes()) return false;
        if (!getGachaProbUrl()
            .equals(other.getGachaProbUrl())) return false;
        if (!getGachaProbUrlOversea()
            .equals(other.getGachaProbUrlOversea())) return false;
        if (getWishItemId()
            != other.getWishItemId()) return false;
        if (getTenCostItemNum()
            != other.getTenCostItemNum()) return false;
        if (getWishMaxProgress()
            != other.getWishMaxProgress()) return false;
        if (getCostItemId()
            != other.getCostItemId()) return false;
        if (getBeginTime()
            != other.getBeginTime()) return false;
        if (!getGachaRecordUrlOversea()
            .equals(other.getGachaRecordUrlOversea())) return false;
        if (getWishProgress()
            != other.getWishProgress()) return false;
        if (getEndTime()
            != other.getEndTime()) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + GACHAPREFABPATH_FIELD_NUMBER;
        hash = (53 * hash) + getGachaPrefabPath().hashCode();
        hash = (37 * hash) + SCHEDULEID_FIELD_NUMBER;
        hash = (53 * hash) + getScheduleId();
        if (getDisplayUp5ItemListCount() > 0) {
          hash = (37 * hash) + DISPLAYUP5ITEMLIST_FIELD_NUMBER;
          hash = (53 * hash) + getDisplayUp5ItemListList().hashCode();
        }
        hash = (37 * hash) + GACHASORTID_FIELD_NUMBER;
        hash = (53 * hash) + getGachaSortId();
        if (getDisplayUp4ItemListCount() > 0) {
          hash = (37 * hash) + DISPLAYUP4ITEMLIST_FIELD_NUMBER;
          hash = (53 * hash) + getDisplayUp4ItemListList().hashCode();
        }
        hash = (37 * hash) + ISNEWWISH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsNewWish());
        hash = (37 * hash) + GACHATIMESLIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getGachaTimesLimit();
        hash = (37 * hash) + COSTITEMNUM_FIELD_NUMBER;
        hash = (53 * hash) + getCostItemNum();
        hash = (37 * hash) + GACHARECORDURL_FIELD_NUMBER;
        hash = (53 * hash) + getGachaRecordUrl().hashCode();
        hash = (37 * hash) + TITLETEXTMAP_FIELD_NUMBER;
        hash = (53 * hash) + getTitleTextmap().hashCode();
        if (getGachaUpInfoListCount() > 0) {
          hash = (37 * hash) + GACHAUPINFOLIST_FIELD_NUMBER;
          hash = (53 * hash) + getGachaUpInfoListList().hashCode();
        }
        hash = (37 * hash) + GACHAPREVIEWPREFABPATH_FIELD_NUMBER;
        hash = (53 * hash) + getGachaPreviewPrefabPath().hashCode();
        hash = (37 * hash) + CURSCHEDULEDAILYGACHATIMES_FIELD_NUMBER;
        hash = (53 * hash) + getCurScheduleDailyGachaTimes();
        hash = (37 * hash) + GACHATYPE_FIELD_NUMBER;
        hash = (53 * hash) + getGachaType();
        hash = (37 * hash) + TENCOSTITEMID_FIELD_NUMBER;
        hash = (53 * hash) + getTenCostItemId();
        hash = (37 * hash) + LEFTGACHATIMES_FIELD_NUMBER;
        hash = (53 * hash) + getLeftGachaTimes();
        hash = (37 * hash) + GACHAPROBURL_FIELD_NUMBER;
        hash = (53 * hash) + getGachaProbUrl().hashCode();
        hash = (37 * hash) + GACHAPROBURLOVERSEA_FIELD_NUMBER;
        hash = (53 * hash) + getGachaProbUrlOversea().hashCode();
        hash = (37 * hash) + WISHITEMID_FIELD_NUMBER;
        hash = (53 * hash) + getWishItemId();
        hash = (37 * hash) + TENCOSTITEMNUM_FIELD_NUMBER;
        hash = (53 * hash) + getTenCostItemNum();
        hash = (37 * hash) + WISHMAXPROGRESS_FIELD_NUMBER;
        hash = (53 * hash) + getWishMaxProgress();
        hash = (37 * hash) + COSTITEMID_FIELD_NUMBER;
        hash = (53 * hash) + getCostItemId();
        hash = (37 * hash) + BEGINTIME_FIELD_NUMBER;
        hash = (53 * hash) + getBeginTime();
        hash = (37 * hash) + GACHARECORDURLOVERSEA_FIELD_NUMBER;
        hash = (53 * hash) + getGachaRecordUrlOversea().hashCode();
        hash = (37 * hash) + WISHPROGRESS_FIELD_NUMBER;
        hash = (53 * hash) + getWishProgress();
        hash = (37 * hash) + ENDTIME_FIELD_NUMBER;
        hash = (53 * hash) + getEndTime();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo 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 emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo 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 emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo 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(emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo 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 GachaInfo}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:GachaInfo)
          emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return emu.grasscutter.net.proto.GachaInfoOuterClass.internal_static_GachaInfo_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return emu.grasscutter.net.proto.GachaInfoOuterClass.internal_static_GachaInfo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.class, emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.Builder.class);
        }
  
        // Construct using emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getGachaUpInfoListFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          gachaPrefabPath_ = "";
  
          scheduleId_ = 0;
  
          displayUp5ItemList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000001);
          gachaSortId_ = 0;
  
          displayUp4ItemList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000002);
          isNewWish_ = false;
  
          gachaTimesLimit_ = 0;
  
          costItemNum_ = 0;
  
          gachaRecordUrl_ = "";
  
          titleTextmap_ = "";
  
          if (gachaUpInfoListBuilder_ == null) {
            gachaUpInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            gachaUpInfoListBuilder_.clear();
          }
          gachaPreviewPrefabPath_ = "";
  
          curScheduleDailyGachaTimes_ = 0;
  
          gachaType_ = 0;
  
          tenCostItemId_ = 0;
  
          leftGachaTimes_ = 0;
  
          gachaProbUrl_ = "";
  
          gachaProbUrlOversea_ = "";
  
          wishItemId_ = 0;
  
          tenCostItemNum_ = 0;
  
          wishMaxProgress_ = 0;
  
          costItemId_ = 0;
  
          beginTime_ = 0;
  
          gachaRecordUrlOversea_ = "";
  
          wishProgress_ = 0;
  
          endTime_ = 0;
  
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return emu.grasscutter.net.proto.GachaInfoOuterClass.internal_static_GachaInfo_descriptor;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo getDefaultInstanceForType() {
          return emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.getDefaultInstance();
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo build() {
          emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo buildPartial() {
          emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo result = new emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo(this);
          int from_bitField0_ = bitField0_;
          result.gachaPrefabPath_ = gachaPrefabPath_;
          result.scheduleId_ = scheduleId_;
          if (((bitField0_ & 0x00000001) != 0)) {
            displayUp5ItemList_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.displayUp5ItemList_ = displayUp5ItemList_;
          result.gachaSortId_ = gachaSortId_;
          if (((bitField0_ & 0x00000002) != 0)) {
            displayUp4ItemList_.makeImmutable();
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.displayUp4ItemList_ = displayUp4ItemList_;
          result.isNewWish_ = isNewWish_;
          result.gachaTimesLimit_ = gachaTimesLimit_;
          result.costItemNum_ = costItemNum_;
          result.gachaRecordUrl_ = gachaRecordUrl_;
          result.titleTextmap_ = titleTextmap_;
          if (gachaUpInfoListBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              gachaUpInfoList_ = java.util.Collections.unmodifiableList(gachaUpInfoList_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.gachaUpInfoList_ = gachaUpInfoList_;
          } else {
            result.gachaUpInfoList_ = gachaUpInfoListBuilder_.build();
          }
          result.gachaPreviewPrefabPath_ = gachaPreviewPrefabPath_;
          result.curScheduleDailyGachaTimes_ = curScheduleDailyGachaTimes_;
          result.gachaType_ = gachaType_;
          result.tenCostItemId_ = tenCostItemId_;
          result.leftGachaTimes_ = leftGachaTimes_;
          result.gachaProbUrl_ = gachaProbUrl_;
          result.gachaProbUrlOversea_ = gachaProbUrlOversea_;
          result.wishItemId_ = wishItemId_;
          result.tenCostItemNum_ = tenCostItemNum_;
          result.wishMaxProgress_ = wishMaxProgress_;
          result.costItemId_ = costItemId_;
          result.beginTime_ = beginTime_;
          result.gachaRecordUrlOversea_ = gachaRecordUrlOversea_;
          result.wishProgress_ = wishProgress_;
          result.endTime_ = endTime_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo) {
            return mergeFrom((emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo other) {
          if (other == emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo.getDefaultInstance()) return this;
          if (!other.getGachaPrefabPath().isEmpty()) {
            gachaPrefabPath_ = other.gachaPrefabPath_;
            onChanged();
          }
          if (other.getScheduleId() != 0) {
            setScheduleId(other.getScheduleId());
          }
          if (!other.displayUp5ItemList_.isEmpty()) {
            if (displayUp5ItemList_.isEmpty()) {
              displayUp5ItemList_ = other.displayUp5ItemList_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDisplayUp5ItemListIsMutable();
              displayUp5ItemList_.addAll(other.displayUp5ItemList_);
            }
            onChanged();
          }
          if (other.getGachaSortId() != 0) {
            setGachaSortId(other.getGachaSortId());
          }
          if (!other.displayUp4ItemList_.isEmpty()) {
            if (displayUp4ItemList_.isEmpty()) {
              displayUp4ItemList_ = other.displayUp4ItemList_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureDisplayUp4ItemListIsMutable();
              displayUp4ItemList_.addAll(other.displayUp4ItemList_);
            }
            onChanged();
          }
          if (other.getIsNewWish() != false) {
            setIsNewWish(other.getIsNewWish());
          }
          if (other.getGachaTimesLimit() != 0) {
            setGachaTimesLimit(other.getGachaTimesLimit());
          }
          if (other.getCostItemNum() != 0) {
            setCostItemNum(other.getCostItemNum());
          }
          if (!other.getGachaRecordUrl().isEmpty()) {
            gachaRecordUrl_ = other.gachaRecordUrl_;
            onChanged();
          }
          if (!other.getTitleTextmap().isEmpty()) {
            titleTextmap_ = other.titleTextmap_;
            onChanged();
          }
          if (gachaUpInfoListBuilder_ == null) {
            if (!other.gachaUpInfoList_.isEmpty()) {
              if (gachaUpInfoList_.isEmpty()) {
                gachaUpInfoList_ = other.gachaUpInfoList_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureGachaUpInfoListIsMutable();
                gachaUpInfoList_.addAll(other.gachaUpInfoList_);
              }
              onChanged();
            }
          } else {
            if (!other.gachaUpInfoList_.isEmpty()) {
              if (gachaUpInfoListBuilder_.isEmpty()) {
                gachaUpInfoListBuilder_.dispose();
                gachaUpInfoListBuilder_ = null;
                gachaUpInfoList_ = other.gachaUpInfoList_;
                bitField0_ = (bitField0_ & ~0x00000004);
                gachaUpInfoListBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getGachaUpInfoListFieldBuilder() : null;
              } else {
                gachaUpInfoListBuilder_.addAllMessages(other.gachaUpInfoList_);
              }
            }
          }
          if (!other.getGachaPreviewPrefabPath().isEmpty()) {
            gachaPreviewPrefabPath_ = other.gachaPreviewPrefabPath_;
            onChanged();
          }
          if (other.getCurScheduleDailyGachaTimes() != 0) {
            setCurScheduleDailyGachaTimes(other.getCurScheduleDailyGachaTimes());
          }
          if (other.getGachaType() != 0) {
            setGachaType(other.getGachaType());
          }
          if (other.getTenCostItemId() != 0) {
            setTenCostItemId(other.getTenCostItemId());
          }
          if (other.getLeftGachaTimes() != 0) {
            setLeftGachaTimes(other.getLeftGachaTimes());
          }
          if (!other.getGachaProbUrl().isEmpty()) {
            gachaProbUrl_ = other.gachaProbUrl_;
            onChanged();
          }
          if (!other.getGachaProbUrlOversea().isEmpty()) {
            gachaProbUrlOversea_ = other.gachaProbUrlOversea_;
            onChanged();
          }
          if (other.getWishItemId() != 0) {
            setWishItemId(other.getWishItemId());
          }
          if (other.getTenCostItemNum() != 0) {
            setTenCostItemNum(other.getTenCostItemNum());
          }
          if (other.getWishMaxProgress() != 0) {
            setWishMaxProgress(other.getWishMaxProgress());
          }
          if (other.getCostItemId() != 0) {
            setCostItemId(other.getCostItemId());
          }
          if (other.getBeginTime() != 0) {
            setBeginTime(other.getBeginTime());
          }
          if (!other.getGachaRecordUrlOversea().isEmpty()) {
            gachaRecordUrlOversea_ = other.gachaRecordUrlOversea_;
            onChanged();
          }
          if (other.getWishProgress() != 0) {
            setWishProgress(other.getWishProgress());
          }
          if (other.getEndTime() != 0) {
            setEndTime(other.getEndTime());
          }
          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 {
          emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object gachaPrefabPath_ = "";
        /**
         * <code>string gachaPrefabPath = 9;</code>
         * @return The gachaPrefabPath.
         */
        public java.lang.String getGachaPrefabPath() {
          java.lang.Object ref = gachaPrefabPath_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaPrefabPath_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaPrefabPath = 9;</code>
         * @return The bytes for gachaPrefabPath.
         */
        public com.google.protobuf.ByteString
            getGachaPrefabPathBytes() {
          java.lang.Object ref = gachaPrefabPath_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaPrefabPath_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaPrefabPath = 9;</code>
         * @param value The gachaPrefabPath to set.
         * @return This builder for chaining.
         */
        public Builder setGachaPrefabPath(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaPrefabPath_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaPrefabPath = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaPrefabPath() {
          
          gachaPrefabPath_ = getDefaultInstance().getGachaPrefabPath();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaPrefabPath = 9;</code>
         * @param value The bytes for gachaPrefabPath to set.
         * @return This builder for chaining.
         */
        public Builder setGachaPrefabPathBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaPrefabPath_ = value;
          onChanged();
          return this;
        }
  
        private int scheduleId_ ;
        /**
         * <code>uint32 scheduleId = 2;</code>
         * @return The scheduleId.
         */
        @java.lang.Override
        public int getScheduleId() {
          return scheduleId_;
        }
        /**
         * <code>uint32 scheduleId = 2;</code>
         * @param value The scheduleId to set.
         * @return This builder for chaining.
         */
        public Builder setScheduleId(int value) {
          
          scheduleId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 scheduleId = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearScheduleId() {
          
          scheduleId_ = 0;
          onChanged();
          return this;
        }
  
        private com.google.protobuf.Internal.IntList displayUp5ItemList_ = emptyIntList();
        private void ensureDisplayUp5ItemListIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            displayUp5ItemList_ = mutableCopy(displayUp5ItemList_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @return A list containing the displayUp5ItemList.
         */
        public java.util.List<java.lang.Integer>
            getDisplayUp5ItemListList() {
          return ((bitField0_ & 0x00000001) != 0) ?
                   java.util.Collections.unmodifiableList(displayUp5ItemList_) : displayUp5ItemList_;
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @return The count of displayUp5ItemList.
         */
        public int getDisplayUp5ItemListCount() {
          return displayUp5ItemList_.size();
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @param index The index of the element to return.
         * @return The displayUp5ItemList at the given index.
         */
        public int getDisplayUp5ItemList(int index) {
          return displayUp5ItemList_.getInt(index);
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @param index The index to set the value at.
         * @param value The displayUp5ItemList to set.
         * @return This builder for chaining.
         */
        public Builder setDisplayUp5ItemList(
            int index, int value) {
          ensureDisplayUp5ItemListIsMutable();
          displayUp5ItemList_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @param value The displayUp5ItemList to add.
         * @return This builder for chaining.
         */
        public Builder addDisplayUp5ItemList(int value) {
          ensureDisplayUp5ItemListIsMutable();
          displayUp5ItemList_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @param values The displayUp5ItemList to add.
         * @return This builder for chaining.
         */
        public Builder addAllDisplayUp5ItemList(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureDisplayUp5ItemListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, displayUp5ItemList_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp5ItemList = 1851;</code>
         * @return This builder for chaining.
         */
        public Builder clearDisplayUp5ItemList() {
          displayUp5ItemList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
  
        private int gachaSortId_ ;
        /**
         * <code>uint32 gachaSortId = 6;</code>
         * @return The gachaSortId.
         */
        @java.lang.Override
        public int getGachaSortId() {
          return gachaSortId_;
        }
        /**
         * <code>uint32 gachaSortId = 6;</code>
         * @param value The gachaSortId to set.
         * @return This builder for chaining.
         */
        public Builder setGachaSortId(int value) {
          
          gachaSortId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 gachaSortId = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaSortId() {
          
          gachaSortId_ = 0;
          onChanged();
          return this;
        }
  
        private com.google.protobuf.Internal.IntList displayUp4ItemList_ = emptyIntList();
        private void ensureDisplayUp4ItemListIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            displayUp4ItemList_ = mutableCopy(displayUp4ItemList_);
            bitField0_ |= 0x00000002;
           }
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @return A list containing the displayUp4ItemList.
         */
        public java.util.List<java.lang.Integer>
            getDisplayUp4ItemListList() {
          return ((bitField0_ & 0x00000002) != 0) ?
                   java.util.Collections.unmodifiableList(displayUp4ItemList_) : displayUp4ItemList_;
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @return The count of displayUp4ItemList.
         */
        public int getDisplayUp4ItemListCount() {
          return displayUp4ItemList_.size();
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @param index The index of the element to return.
         * @return The displayUp4ItemList at the given index.
         */
        public int getDisplayUp4ItemList(int index) {
          return displayUp4ItemList_.getInt(index);
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @param index The index to set the value at.
         * @param value The displayUp4ItemList to set.
         * @return This builder for chaining.
         */
        public Builder setDisplayUp4ItemList(
            int index, int value) {
          ensureDisplayUp4ItemListIsMutable();
          displayUp4ItemList_.setInt(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @param value The displayUp4ItemList to add.
         * @return This builder for chaining.
         */
        public Builder addDisplayUp4ItemList(int value) {
          ensureDisplayUp4ItemListIsMutable();
          displayUp4ItemList_.addInt(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @param values The displayUp4ItemList to add.
         * @return This builder for chaining.
         */
        public Builder addAllDisplayUp4ItemList(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureDisplayUp4ItemListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, displayUp4ItemList_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated uint32 displayUp4ItemList = 279;</code>
         * @return This builder for chaining.
         */
        public Builder clearDisplayUp4ItemList() {
          displayUp4ItemList_ = emptyIntList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
  
        private boolean isNewWish_ ;
        /**
         * <code>bool isNewWish = 869;</code>
         * @return The isNewWish.
         */
        @java.lang.Override
        public boolean getIsNewWish() {
          return isNewWish_;
        }
        /**
         * <code>bool isNewWish = 869;</code>
         * @param value The isNewWish to set.
         * @return This builder for chaining.
         */
        public Builder setIsNewWish(boolean value) {
          
          isNewWish_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool isNewWish = 869;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsNewWish() {
          
          isNewWish_ = false;
          onChanged();
          return this;
        }
  
        private int gachaTimesLimit_ ;
        /**
         * <code>uint32 gachaTimesLimit = 11;</code>
         * @return The gachaTimesLimit.
         */
        @java.lang.Override
        public int getGachaTimesLimit() {
          return gachaTimesLimit_;
        }
        /**
         * <code>uint32 gachaTimesLimit = 11;</code>
         * @param value The gachaTimesLimit to set.
         * @return This builder for chaining.
         */
        public Builder setGachaTimesLimit(int value) {
          
          gachaTimesLimit_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 gachaTimesLimit = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaTimesLimit() {
          
          gachaTimesLimit_ = 0;
          onChanged();
          return this;
        }
  
        private int costItemNum_ ;
        /**
         * <code>uint32 costItemNum = 14;</code>
         * @return The costItemNum.
         */
        @java.lang.Override
        public int getCostItemNum() {
          return costItemNum_;
        }
        /**
         * <code>uint32 costItemNum = 14;</code>
         * @param value The costItemNum to set.
         * @return This builder for chaining.
         */
        public Builder setCostItemNum(int value) {
          
          costItemNum_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 costItemNum = 14;</code>
         * @return This builder for chaining.
         */
        public Builder clearCostItemNum() {
          
          costItemNum_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object gachaRecordUrl_ = "";
        /**
         * <code>string gachaRecordUrl = 7;</code>
         * @return The gachaRecordUrl.
         */
        public java.lang.String getGachaRecordUrl() {
          java.lang.Object ref = gachaRecordUrl_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaRecordUrl_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaRecordUrl = 7;</code>
         * @return The bytes for gachaRecordUrl.
         */
        public com.google.protobuf.ByteString
            getGachaRecordUrlBytes() {
          java.lang.Object ref = gachaRecordUrl_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaRecordUrl_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaRecordUrl = 7;</code>
         * @param value The gachaRecordUrl to set.
         * @return This builder for chaining.
         */
        public Builder setGachaRecordUrl(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaRecordUrl_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaRecordUrl = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaRecordUrl() {
          
          gachaRecordUrl_ = getDefaultInstance().getGachaRecordUrl();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaRecordUrl = 7;</code>
         * @param value The bytes for gachaRecordUrl to set.
         * @return This builder for chaining.
         */
        public Builder setGachaRecordUrlBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaRecordUrl_ = value;
          onChanged();
          return this;
        }
  
        private java.lang.Object titleTextmap_ = "";
        /**
         * <code>string titleTextmap = 1228;</code>
         * @return The titleTextmap.
         */
        public java.lang.String getTitleTextmap() {
          java.lang.Object ref = titleTextmap_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            titleTextmap_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string titleTextmap = 1228;</code>
         * @return The bytes for titleTextmap.
         */
        public com.google.protobuf.ByteString
            getTitleTextmapBytes() {
          java.lang.Object ref = titleTextmap_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            titleTextmap_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string titleTextmap = 1228;</code>
         * @param value The titleTextmap to set.
         * @return This builder for chaining.
         */
        public Builder setTitleTextmap(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          titleTextmap_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string titleTextmap = 1228;</code>
         * @return This builder for chaining.
         */
        public Builder clearTitleTextmap() {
          
          titleTextmap_ = getDefaultInstance().getTitleTextmap();
          onChanged();
          return this;
        }
        /**
         * <code>string titleTextmap = 1228;</code>
         * @param value The bytes for titleTextmap to set.
         * @return This builder for chaining.
         */
        public Builder setTitleTextmapBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          titleTextmap_ = value;
          onChanged();
          return this;
        }
  
        private java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> gachaUpInfoList_ =
          java.util.Collections.emptyList();
        private void ensureGachaUpInfoListIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            gachaUpInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo>(gachaUpInfoList_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder> gachaUpInfoListBuilder_;
  
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> getGachaUpInfoListList() {
          if (gachaUpInfoListBuilder_ == null) {
            return java.util.Collections.unmodifiableList(gachaUpInfoList_);
          } else {
            return gachaUpInfoListBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public int getGachaUpInfoListCount() {
          if (gachaUpInfoListBuilder_ == null) {
            return gachaUpInfoList_.size();
          } else {
            return gachaUpInfoListBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo getGachaUpInfoList(int index) {
          if (gachaUpInfoListBuilder_ == null) {
            return gachaUpInfoList_.get(index);
          } else {
            return gachaUpInfoListBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder setGachaUpInfoList(
            int index, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo value) {
          if (gachaUpInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.set(index, value);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder setGachaUpInfoList(
            int index, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder builderForValue) {
          if (gachaUpInfoListBuilder_ == null) {
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.set(index, builderForValue.build());
            onChanged();
          } else {
            gachaUpInfoListBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder addGachaUpInfoList(emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo value) {
          if (gachaUpInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.add(value);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder addGachaUpInfoList(
            int index, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo value) {
          if (gachaUpInfoListBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.add(index, value);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder addGachaUpInfoList(
            emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder builderForValue) {
          if (gachaUpInfoListBuilder_ == null) {
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.add(builderForValue.build());
            onChanged();
          } else {
            gachaUpInfoListBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder addGachaUpInfoList(
            int index, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder builderForValue) {
          if (gachaUpInfoListBuilder_ == null) {
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.add(index, builderForValue.build());
            onChanged();
          } else {
            gachaUpInfoListBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder addAllGachaUpInfoList(
            java.lang.Iterable<? extends emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo> values) {
          if (gachaUpInfoListBuilder_ == null) {
            ensureGachaUpInfoListIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, gachaUpInfoList_);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder clearGachaUpInfoList() {
          if (gachaUpInfoListBuilder_ == null) {
            gachaUpInfoList_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public Builder removeGachaUpInfoList(int index) {
          if (gachaUpInfoListBuilder_ == null) {
            ensureGachaUpInfoListIsMutable();
            gachaUpInfoList_.remove(index);
            onChanged();
          } else {
            gachaUpInfoListBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder getGachaUpInfoListBuilder(
            int index) {
          return getGachaUpInfoListFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder getGachaUpInfoListOrBuilder(
            int index) {
          if (gachaUpInfoListBuilder_ == null) {
            return gachaUpInfoList_.get(index);  } else {
            return gachaUpInfoListBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public java.util.List<? extends emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder> 
             getGachaUpInfoListOrBuilderList() {
          if (gachaUpInfoListBuilder_ != null) {
            return gachaUpInfoListBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(gachaUpInfoList_);
          }
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder addGachaUpInfoListBuilder() {
          return getGachaUpInfoListFieldBuilder().addBuilder(
              emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder addGachaUpInfoListBuilder(
            int index) {
          return getGachaUpInfoListFieldBuilder().addBuilder(
              index, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.getDefaultInstance());
        }
        /**
         * <code>repeated .GachaUpInfo gachaUpInfoList = 1836;</code>
         */
        public java.util.List<emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder> 
             getGachaUpInfoListBuilderList() {
          return getGachaUpInfoListFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder> 
            getGachaUpInfoListFieldBuilder() {
          if (gachaUpInfoListBuilder_ == null) {
            gachaUpInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfo.Builder, emu.grasscutter.net.proto.GachaUpInfoOuterClass.GachaUpInfoOrBuilder>(
                    gachaUpInfoList_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            gachaUpInfoList_ = null;
          }
          return gachaUpInfoListBuilder_;
        }
  
        private java.lang.Object gachaPreviewPrefabPath_ = "";
        /**
         * <code>string gachaPreviewPrefabPath = 8;</code>
         * @return The gachaPreviewPrefabPath.
         */
        public java.lang.String getGachaPreviewPrefabPath() {
          java.lang.Object ref = gachaPreviewPrefabPath_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaPreviewPrefabPath_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaPreviewPrefabPath = 8;</code>
         * @return The bytes for gachaPreviewPrefabPath.
         */
        public com.google.protobuf.ByteString
            getGachaPreviewPrefabPathBytes() {
          java.lang.Object ref = gachaPreviewPrefabPath_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaPreviewPrefabPath_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaPreviewPrefabPath = 8;</code>
         * @param value The gachaPreviewPrefabPath to set.
         * @return This builder for chaining.
         */
        public Builder setGachaPreviewPrefabPath(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaPreviewPrefabPath_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaPreviewPrefabPath = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaPreviewPrefabPath() {
          
          gachaPreviewPrefabPath_ = getDefaultInstance().getGachaPreviewPrefabPath();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaPreviewPrefabPath = 8;</code>
         * @param value The bytes for gachaPreviewPrefabPath to set.
         * @return This builder for chaining.
         */
        public Builder setGachaPreviewPrefabPathBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaPreviewPrefabPath_ = value;
          onChanged();
          return this;
        }
  
        private int curScheduleDailyGachaTimes_ ;
        /**
         * <code>uint32 curScheduleDailyGachaTimes = 48;</code>
         * @return The curScheduleDailyGachaTimes.
         */
        @java.lang.Override
        public int getCurScheduleDailyGachaTimes() {
          return curScheduleDailyGachaTimes_;
        }
        /**
         * <code>uint32 curScheduleDailyGachaTimes = 48;</code>
         * @param value The curScheduleDailyGachaTimes to set.
         * @return This builder for chaining.
         */
        public Builder setCurScheduleDailyGachaTimes(int value) {
          
          curScheduleDailyGachaTimes_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 curScheduleDailyGachaTimes = 48;</code>
         * @return This builder for chaining.
         */
        public Builder clearCurScheduleDailyGachaTimes() {
          
          curScheduleDailyGachaTimes_ = 0;
          onChanged();
          return this;
        }
  
        private int gachaType_ ;
        /**
         * <code>uint32 gachaType = 1;</code>
         * @return The gachaType.
         */
        @java.lang.Override
        public int getGachaType() {
          return gachaType_;
        }
        /**
         * <code>uint32 gachaType = 1;</code>
         * @param value The gachaType to set.
         * @return This builder for chaining.
         */
        public Builder setGachaType(int value) {
          
          gachaType_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 gachaType = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaType() {
          
          gachaType_ = 0;
          onChanged();
          return this;
        }
  
        private int tenCostItemId_ ;
        /**
         * <code>uint32 tenCostItemId = 4;</code>
         * @return The tenCostItemId.
         */
        @java.lang.Override
        public int getTenCostItemId() {
          return tenCostItemId_;
        }
        /**
         * <code>uint32 tenCostItemId = 4;</code>
         * @param value The tenCostItemId to set.
         * @return This builder for chaining.
         */
        public Builder setTenCostItemId(int value) {
          
          tenCostItemId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 tenCostItemId = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearTenCostItemId() {
          
          tenCostItemId_ = 0;
          onChanged();
          return this;
        }
  
        private int leftGachaTimes_ ;
        /**
         * <code>uint32 leftGachaTimes = 12;</code>
         * @return The leftGachaTimes.
         */
        @java.lang.Override
        public int getLeftGachaTimes() {
          return leftGachaTimes_;
        }
        /**
         * <code>uint32 leftGachaTimes = 12;</code>
         * @param value The leftGachaTimes to set.
         * @return This builder for chaining.
         */
        public Builder setLeftGachaTimes(int value) {
          
          leftGachaTimes_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 leftGachaTimes = 12;</code>
         * @return This builder for chaining.
         */
        public Builder clearLeftGachaTimes() {
          
          leftGachaTimes_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object gachaProbUrl_ = "";
        /**
         * <code>string gachaProbUrl = 5;</code>
         * @return The gachaProbUrl.
         */
        public java.lang.String getGachaProbUrl() {
          java.lang.Object ref = gachaProbUrl_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaProbUrl_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaProbUrl = 5;</code>
         * @return The bytes for gachaProbUrl.
         */
        public com.google.protobuf.ByteString
            getGachaProbUrlBytes() {
          java.lang.Object ref = gachaProbUrl_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaProbUrl_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaProbUrl = 5;</code>
         * @param value The gachaProbUrl to set.
         * @return This builder for chaining.
         */
        public Builder setGachaProbUrl(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaProbUrl_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaProbUrl = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaProbUrl() {
          
          gachaProbUrl_ = getDefaultInstance().getGachaProbUrl();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaProbUrl = 5;</code>
         * @param value The bytes for gachaProbUrl to set.
         * @return This builder for chaining.
         */
        public Builder setGachaProbUrlBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaProbUrl_ = value;
          onChanged();
          return this;
        }
  
        private java.lang.Object gachaProbUrlOversea_ = "";
        /**
         * <code>string gachaProbUrlOversea = 765;</code>
         * @return The gachaProbUrlOversea.
         */
        public java.lang.String getGachaProbUrlOversea() {
          java.lang.Object ref = gachaProbUrlOversea_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaProbUrlOversea_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaProbUrlOversea = 765;</code>
         * @return The bytes for gachaProbUrlOversea.
         */
        public com.google.protobuf.ByteString
            getGachaProbUrlOverseaBytes() {
          java.lang.Object ref = gachaProbUrlOversea_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaProbUrlOversea_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaProbUrlOversea = 765;</code>
         * @param value The gachaProbUrlOversea to set.
         * @return This builder for chaining.
         */
        public Builder setGachaProbUrlOversea(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaProbUrlOversea_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaProbUrlOversea = 765;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaProbUrlOversea() {
          
          gachaProbUrlOversea_ = getDefaultInstance().getGachaProbUrlOversea();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaProbUrlOversea = 765;</code>
         * @param value The bytes for gachaProbUrlOversea to set.
         * @return This builder for chaining.
         */
        public Builder setGachaProbUrlOverseaBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaProbUrlOversea_ = value;
          onChanged();
          return this;
        }
  
        private int wishItemId_ ;
        /**
         * <code>uint32 wishItemId = 309;</code>
         * @return The wishItemId.
         */
        @java.lang.Override
        public int getWishItemId() {
          return wishItemId_;
        }
        /**
         * <code>uint32 wishItemId = 309;</code>
         * @param value The wishItemId to set.
         * @return This builder for chaining.
         */
        public Builder setWishItemId(int value) {
          
          wishItemId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 wishItemId = 309;</code>
         * @return This builder for chaining.
         */
        public Builder clearWishItemId() {
          
          wishItemId_ = 0;
          onChanged();
          return this;
        }
  
        private int tenCostItemNum_ ;
        /**
         * <code>uint32 tenCostItemNum = 10;</code>
         * @return The tenCostItemNum.
         */
        @java.lang.Override
        public int getTenCostItemNum() {
          return tenCostItemNum_;
        }
        /**
         * <code>uint32 tenCostItemNum = 10;</code>
         * @param value The tenCostItemNum to set.
         * @return This builder for chaining.
         */
        public Builder setTenCostItemNum(int value) {
          
          tenCostItemNum_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 tenCostItemNum = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearTenCostItemNum() {
          
          tenCostItemNum_ = 0;
          onChanged();
          return this;
        }
  
        private int wishMaxProgress_ ;
        /**
         * <code>uint32 wishMaxProgress = 1669;</code>
         * @return The wishMaxProgress.
         */
        @java.lang.Override
        public int getWishMaxProgress() {
          return wishMaxProgress_;
        }
        /**
         * <code>uint32 wishMaxProgress = 1669;</code>
         * @param value The wishMaxProgress to set.
         * @return This builder for chaining.
         */
        public Builder setWishMaxProgress(int value) {
          
          wishMaxProgress_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 wishMaxProgress = 1669;</code>
         * @return This builder for chaining.
         */
        public Builder clearWishMaxProgress() {
          
          wishMaxProgress_ = 0;
          onChanged();
          return this;
        }
  
        private int costItemId_ ;
        /**
         * <code>uint32 costItemId = 13;</code>
         * @return The costItemId.
         */
        @java.lang.Override
        public int getCostItemId() {
          return costItemId_;
        }
        /**
         * <code>uint32 costItemId = 13;</code>
         * @param value The costItemId to set.
         * @return This builder for chaining.
         */
        public Builder setCostItemId(int value) {
          
          costItemId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 costItemId = 13;</code>
         * @return This builder for chaining.
         */
        public Builder clearCostItemId() {
          
          costItemId_ = 0;
          onChanged();
          return this;
        }
  
        private int beginTime_ ;
        /**
         * <code>uint32 beginTime = 15;</code>
         * @return The beginTime.
         */
        @java.lang.Override
        public int getBeginTime() {
          return beginTime_;
        }
        /**
         * <code>uint32 beginTime = 15;</code>
         * @param value The beginTime to set.
         * @return This builder for chaining.
         */
        public Builder setBeginTime(int value) {
          
          beginTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 beginTime = 15;</code>
         * @return This builder for chaining.
         */
        public Builder clearBeginTime() {
          
          beginTime_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object gachaRecordUrlOversea_ = "";
        /**
         * <code>string gachaRecordUrlOversea = 1004;</code>
         * @return The gachaRecordUrlOversea.
         */
        public java.lang.String getGachaRecordUrlOversea() {
          java.lang.Object ref = gachaRecordUrlOversea_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            gachaRecordUrlOversea_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string gachaRecordUrlOversea = 1004;</code>
         * @return The bytes for gachaRecordUrlOversea.
         */
        public com.google.protobuf.ByteString
            getGachaRecordUrlOverseaBytes() {
          java.lang.Object ref = gachaRecordUrlOversea_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            gachaRecordUrlOversea_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string gachaRecordUrlOversea = 1004;</code>
         * @param value The gachaRecordUrlOversea to set.
         * @return This builder for chaining.
         */
        public Builder setGachaRecordUrlOversea(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    
          gachaRecordUrlOversea_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string gachaRecordUrlOversea = 1004;</code>
         * @return This builder for chaining.
         */
        public Builder clearGachaRecordUrlOversea() {
          
          gachaRecordUrlOversea_ = getDefaultInstance().getGachaRecordUrlOversea();
          onChanged();
          return this;
        }
        /**
         * <code>string gachaRecordUrlOversea = 1004;</code>
         * @param value The bytes for gachaRecordUrlOversea to set.
         * @return This builder for chaining.
         */
        public Builder setGachaRecordUrlOverseaBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    checkByteStringIsUtf8(value);
          
          gachaRecordUrlOversea_ = value;
          onChanged();
          return this;
        }
  
        private int wishProgress_ ;
        /**
         * <code>uint32 wishProgress = 246;</code>
         * @return The wishProgress.
         */
        @java.lang.Override
        public int getWishProgress() {
          return wishProgress_;
        }
        /**
         * <code>uint32 wishProgress = 246;</code>
         * @param value The wishProgress to set.
         * @return This builder for chaining.
         */
        public Builder setWishProgress(int value) {
          
          wishProgress_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 wishProgress = 246;</code>
         * @return This builder for chaining.
         */
        public Builder clearWishProgress() {
          
          wishProgress_ = 0;
          onChanged();
          return this;
        }
  
        private int endTime_ ;
        /**
         * <code>uint32 endTime = 3;</code>
         * @return The endTime.
         */
        @java.lang.Override
        public int getEndTime() {
          return endTime_;
        }
        /**
         * <code>uint32 endTime = 3;</code>
         * @param value The endTime to set.
         * @return This builder for chaining.
         */
        public Builder setEndTime(int value) {
          
          endTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 endTime = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearEndTime() {
          
          endTime_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:GachaInfo)
      }
  
      // @@protoc_insertion_point(class_scope:GachaInfo)
      private static final emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo();
      }
  
      public static emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<GachaInfo>
          PARSER = new com.google.protobuf.AbstractParser<GachaInfo>() {
        @java.lang.Override
        public GachaInfo parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new GachaInfo(input, extensionRegistry);
        }
      };
  
      public static com.google.protobuf.Parser<GachaInfo> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<GachaInfo> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public emu.grasscutter.net.proto.GachaInfoOuterClass.GachaInfo getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_GachaInfo_descriptor;
    private static final 
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_GachaInfo_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\017GachaInfo.proto\032\021GachaUpInfo.proto\"\220\005\n" +
        "\tGachaInfo\022\027\n\017gachaPrefabPath\030\t \001(\t\022\022\n\ns" +
        "cheduleId\030\002 \001(\r\022\033\n\022displayUp5ItemList\030\273\016" +
        " \003(\r\022\023\n\013gachaSortId\030\006 \001(\r\022\033\n\022displayUp4I" +
        "temList\030\227\002 \003(\r\022\022\n\tisNewWish\030\345\006 \001(\010\022\027\n\017ga" +
        "chaTimesLimit\030\013 \001(\r\022\023\n\013costItemNum\030\016 \001(\r" +
        "\022\026\n\016gachaRecordUrl\030\007 \001(\t\022\025\n\014titleTextmap" +
        "\030\314\t \001(\t\022&\n\017gachaUpInfoList\030\254\016 \003(\0132\014.Gach" +
        "aUpInfo\022\036\n\026gachaPreviewPrefabPath\030\010 \001(\t\022" +
        "\"\n\032curScheduleDailyGachaTimes\0300 \001(\r\022\021\n\tg" +
        "achaType\030\001 \001(\r\022\025\n\rtenCostItemId\030\004 \001(\r\022\026\n" +
        "\016leftGachaTimes\030\014 \001(\r\022\024\n\014gachaProbUrl\030\005 " +
        "\001(\t\022\034\n\023gachaProbUrlOversea\030\375\005 \001(\t\022\023\n\nwis" +
        "hItemId\030\265\002 \001(\r\022\026\n\016tenCostItemNum\030\n \001(\r\022\030" +
        "\n\017wishMaxProgress\030\205\r \001(\r\022\022\n\ncostItemId\030\r" +
        " \001(\r\022\021\n\tbeginTime\030\017 \001(\r\022\036\n\025gachaRecordUr" +
        "lOversea\030\354\007 \001(\t\022\025\n\014wishProgress\030\366\001 \001(\r\022\017" +
        "\n\007endTime\030\003 \001(\rB\033\n\031emu.grasscutter.net.p" +
        "rotob\006proto3"
      };
      descriptor = com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            emu.grasscutter.net.proto.GachaUpInfoOuterClass.getDescriptor(),
          });
      internal_static_GachaInfo_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_GachaInfo_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_GachaInfo_descriptor,
          new java.lang.String[] { "GachaPrefabPath", "ScheduleId", "DisplayUp5ItemList", "GachaSortId", "DisplayUp4ItemList", "IsNewWish", "GachaTimesLimit", "CostItemNum", "GachaRecordUrl", "TitleTextmap", "GachaUpInfoList", "GachaPreviewPrefabPath", "CurScheduleDailyGachaTimes", "GachaType", "TenCostItemId", "LeftGachaTimes", "GachaProbUrl", "GachaProbUrlOversea", "WishItemId", "TenCostItemNum", "WishMaxProgress", "CostItemId", "BeginTime", "GachaRecordUrlOversea", "WishProgress", "EndTime", });
      emu.grasscutter.net.proto.GachaUpInfoOuterClass.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  