// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: igpsport/theme.proto

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class Theme {
  private Theme() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code enum_operate}
   */
  public enum enum_operate
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_OP_INVALID = 0;</code>
     */
    THEME_OP_INVALID(0),
    /**
     * <code>THEME_OP_LIST_GET = 1;</code>
     */
    THEME_OP_LIST_GET(1),
    /**
     * <code>THEME_OP_SET = 2;</code>
     */
    THEME_OP_SET(2),
    /**
     * <code>THEME_OP_USE = 3;</code>
     */
    THEME_OP_USE(3),
    /**
     * <code>THEME_OP_DEFAULT_BG = 4;</code>
     */
    THEME_OP_DEFAULT_BG(4),
    /**
     * <code>THEME_OP_GET_BG = 5;</code>
     */
    THEME_OP_GET_BG(5),
    ;

    /**
     * <code>THEME_OP_INVALID = 0;</code>
     */
    public static final int THEME_OP_INVALID_VALUE = 0;
    /**
     * <code>THEME_OP_LIST_GET = 1;</code>
     */
    public static final int THEME_OP_LIST_GET_VALUE = 1;
    /**
     * <code>THEME_OP_SET = 2;</code>
     */
    public static final int THEME_OP_SET_VALUE = 2;
    /**
     * <code>THEME_OP_USE = 3;</code>
     */
    public static final int THEME_OP_USE_VALUE = 3;
    /**
     * <code>THEME_OP_DEFAULT_BG = 4;</code>
     */
    public static final int THEME_OP_DEFAULT_BG_VALUE = 4;
    /**
     * <code>THEME_OP_GET_BG = 5;</code>
     */
    public static final int THEME_OP_GET_BG_VALUE = 5;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_operate valueOf(int value) {
      return forNumber(value);
    }

    public static enum_operate forNumber(int value) {
      switch (value) {
        case 0: return THEME_OP_INVALID;
        case 1: return THEME_OP_LIST_GET;
        case 2: return THEME_OP_SET;
        case 3: return THEME_OP_USE;
        case 4: return THEME_OP_DEFAULT_BG;
        case 5: return THEME_OP_GET_BG;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_operateVerifier.INSTANCE;
    }

    private static final class enum_operateVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_operateVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_operate.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_operate)
  }

  /**
   * Protobuf enum {@code enum_theme_status}
   */
  public enum enum_theme_status
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_STATUS_UNUSED = 0;</code>
     */
    THEME_STATUS_UNUSED(0),
    /**
     * <code>THEME_STATUS_USED = 1;</code>
     */
    THEME_STATUS_USED(1),
    ;

    /**
     * <code>THEME_STATUS_UNUSED = 0;</code>
     */
    public static final int THEME_STATUS_UNUSED_VALUE = 0;
    /**
     * <code>THEME_STATUS_USED = 1;</code>
     */
    public static final int THEME_STATUS_USED_VALUE = 1;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_status valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_status forNumber(int value) {
      switch (value) {
        case 0: return THEME_STATUS_UNUSED;
        case 1: return THEME_STATUS_USED;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_statusVerifier.INSTANCE;
    }

    private static final class enum_theme_statusVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_statusVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_status.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_status)
  }

  /**
   * Protobuf enum {@code enum_theme_func_key}
   */
  public enum enum_theme_func_key
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_FUNC_KEY_INVALID = 0;</code>
     */
    THEME_FUNC_KEY_INVALID(0),
    /**
     * <code>THEME_FUNC_KEY_RIDE = 1;</code>
     */
    THEME_FUNC_KEY_RIDE(1),
    /**
     * <code>THEME_FUNC_KEY_WORKOUT = 2;</code>
     */
    THEME_FUNC_KEY_WORKOUT(2),
    /**
     * <code>THEME_FUNC_KEY_NAVI = 3;</code>
     */
    THEME_FUNC_KEY_NAVI(3),
    /**
     * <code>THEME_FUNC_KEY_THEME = 4;</code>
     */
    THEME_FUNC_KEY_THEME(4),
    /**
     * <code>THEME_FUNC_KEY_HISTORY = 5;</code>
     */
    THEME_FUNC_KEY_HISTORY(5),
    /**
     * <code>THEME_FUNC_KEY_SET = 6;</code>
     */
    THEME_FUNC_KEY_SET(6),
    /**
     * <code>THEME_FUNC_KEY_ROADBOOK = 7;</code>
     */
    THEME_FUNC_KEY_ROADBOOK(7),
    /**
     * <code>THEME_FUNC_KEY_INS = 8;</code>
     */
    THEME_FUNC_KEY_INS(8),
    /**
     * <code>THEME_FUNC_KEY_SAFETY_TRACK = 9;</code>
     */
    THEME_FUNC_KEY_SAFETY_TRACK(9),
    /**
     * <code>THEME_FUNC_KEY_PM = 10;</code>
     */
    THEME_FUNC_KEY_PM(10),
    /**
     * <code>THEME_FUNC_KEY_SENSOR = 11;</code>
     */
    THEME_FUNC_KEY_SENSOR(11),
    /**
     * <code>THEME_FUNC_KEY_SYSTEM = 12;</code>
     */
    THEME_FUNC_KEY_SYSTEM(12),
    /**
     * <code>THEME_FUNC_KEY_WEATHER = 13;</code>
     */
    THEME_FUNC_KEY_WEATHER(13),
    /**
     * <code>THEME_FUNC_KEY_STAGE = 14;</code>
     */
    THEME_FUNC_KEY_STAGE(14),
    /**
     * <code>THEME_FUNC_KEY_RECORD = 15;</code>
     */
    THEME_FUNC_KEY_RECORD(15),
    /**
     * <code>THEME_FUNC_KEY_FITNESS_LEVEL = 16;</code>
     */
    THEME_FUNC_KEY_FITNESS_LEVEL(16),
    /**
     * <code>THEME_FUNC_KEY_TRAINNING_STATUS = 17;</code>
     */
    THEME_FUNC_KEY_TRAINNING_STATUS(17),
    /**
     * <code>THEME_FUNC_KEY_RECOVERY_STATUS = 18;</code>
     */
    THEME_FUNC_KEY_RECOVERY_STATUS(18),
    /**
     * <code>THEME_FUNC_KEY_GROUP_RIDE = 19;</code>
     */
    THEME_FUNC_KEY_GROUP_RIDE(19),
    /**
     * <code>THEME_FUNC_KEY_OFFLINE_PLAN = 20;</code>
     */
    THEME_FUNC_KEY_OFFLINE_PLAN(20),
    /**
     * <code>THEME_FUNC_KEY_TRACK_NAVI = 21;</code>
     */
    THEME_FUNC_KEY_TRACK_NAVI(21),
    ;

    /**
     * <code>THEME_FUNC_KEY_INVALID = 0;</code>
     */
    public static final int THEME_FUNC_KEY_INVALID_VALUE = 0;
    /**
     * <code>THEME_FUNC_KEY_RIDE = 1;</code>
     */
    public static final int THEME_FUNC_KEY_RIDE_VALUE = 1;
    /**
     * <code>THEME_FUNC_KEY_WORKOUT = 2;</code>
     */
    public static final int THEME_FUNC_KEY_WORKOUT_VALUE = 2;
    /**
     * <code>THEME_FUNC_KEY_NAVI = 3;</code>
     */
    public static final int THEME_FUNC_KEY_NAVI_VALUE = 3;
    /**
     * <code>THEME_FUNC_KEY_THEME = 4;</code>
     */
    public static final int THEME_FUNC_KEY_THEME_VALUE = 4;
    /**
     * <code>THEME_FUNC_KEY_HISTORY = 5;</code>
     */
    public static final int THEME_FUNC_KEY_HISTORY_VALUE = 5;
    /**
     * <code>THEME_FUNC_KEY_SET = 6;</code>
     */
    public static final int THEME_FUNC_KEY_SET_VALUE = 6;
    /**
     * <code>THEME_FUNC_KEY_ROADBOOK = 7;</code>
     */
    public static final int THEME_FUNC_KEY_ROADBOOK_VALUE = 7;
    /**
     * <code>THEME_FUNC_KEY_INS = 8;</code>
     */
    public static final int THEME_FUNC_KEY_INS_VALUE = 8;
    /**
     * <code>THEME_FUNC_KEY_SAFETY_TRACK = 9;</code>
     */
    public static final int THEME_FUNC_KEY_SAFETY_TRACK_VALUE = 9;
    /**
     * <code>THEME_FUNC_KEY_PM = 10;</code>
     */
    public static final int THEME_FUNC_KEY_PM_VALUE = 10;
    /**
     * <code>THEME_FUNC_KEY_SENSOR = 11;</code>
     */
    public static final int THEME_FUNC_KEY_SENSOR_VALUE = 11;
    /**
     * <code>THEME_FUNC_KEY_SYSTEM = 12;</code>
     */
    public static final int THEME_FUNC_KEY_SYSTEM_VALUE = 12;
    /**
     * <code>THEME_FUNC_KEY_WEATHER = 13;</code>
     */
    public static final int THEME_FUNC_KEY_WEATHER_VALUE = 13;
    /**
     * <code>THEME_FUNC_KEY_STAGE = 14;</code>
     */
    public static final int THEME_FUNC_KEY_STAGE_VALUE = 14;
    /**
     * <code>THEME_FUNC_KEY_RECORD = 15;</code>
     */
    public static final int THEME_FUNC_KEY_RECORD_VALUE = 15;
    /**
     * <code>THEME_FUNC_KEY_FITNESS_LEVEL = 16;</code>
     */
    public static final int THEME_FUNC_KEY_FITNESS_LEVEL_VALUE = 16;
    /**
     * <code>THEME_FUNC_KEY_TRAINNING_STATUS = 17;</code>
     */
    public static final int THEME_FUNC_KEY_TRAINNING_STATUS_VALUE = 17;
    /**
     * <code>THEME_FUNC_KEY_RECOVERY_STATUS = 18;</code>
     */
    public static final int THEME_FUNC_KEY_RECOVERY_STATUS_VALUE = 18;
    /**
     * <code>THEME_FUNC_KEY_GROUP_RIDE = 19;</code>
     */
    public static final int THEME_FUNC_KEY_GROUP_RIDE_VALUE = 19;
    /**
     * <code>THEME_FUNC_KEY_OFFLINE_PLAN = 20;</code>
     */
    public static final int THEME_FUNC_KEY_OFFLINE_PLAN_VALUE = 20;
    /**
     * <code>THEME_FUNC_KEY_TRACK_NAVI = 21;</code>
     */
    public static final int THEME_FUNC_KEY_TRACK_NAVI_VALUE = 21;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_func_key valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_func_key forNumber(int value) {
      switch (value) {
        case 0: return THEME_FUNC_KEY_INVALID;
        case 1: return THEME_FUNC_KEY_RIDE;
        case 2: return THEME_FUNC_KEY_WORKOUT;
        case 3: return THEME_FUNC_KEY_NAVI;
        case 4: return THEME_FUNC_KEY_THEME;
        case 5: return THEME_FUNC_KEY_HISTORY;
        case 6: return THEME_FUNC_KEY_SET;
        case 7: return THEME_FUNC_KEY_ROADBOOK;
        case 8: return THEME_FUNC_KEY_INS;
        case 9: return THEME_FUNC_KEY_SAFETY_TRACK;
        case 10: return THEME_FUNC_KEY_PM;
        case 11: return THEME_FUNC_KEY_SENSOR;
        case 12: return THEME_FUNC_KEY_SYSTEM;
        case 13: return THEME_FUNC_KEY_WEATHER;
        case 14: return THEME_FUNC_KEY_STAGE;
        case 15: return THEME_FUNC_KEY_RECORD;
        case 16: return THEME_FUNC_KEY_FITNESS_LEVEL;
        case 17: return THEME_FUNC_KEY_TRAINNING_STATUS;
        case 18: return THEME_FUNC_KEY_RECOVERY_STATUS;
        case 19: return THEME_FUNC_KEY_GROUP_RIDE;
        case 20: return THEME_FUNC_KEY_OFFLINE_PLAN;
        case 21: return THEME_FUNC_KEY_TRACK_NAVI;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_func_keyVerifier.INSTANCE;
    }

    private static final class enum_theme_func_keyVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_func_keyVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_func_key.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_func_key)
  }

  /**
   * Protobuf enum {@code enum_theme_uitype}
   */
  public enum enum_theme_uitype
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_UITYPE_SIX_GRID = 0;</code>
     */
    THEME_UITYPE_SIX_GRID(0),
    /**
     * <code>THEME_UITYPE_ROLLER = 1;</code>
     */
    THEME_UITYPE_ROLLER(1),
    /**
     * <code>THEME_UITYPE_SPIN_ROLLER = 2;</code>
     */
    THEME_UITYPE_SPIN_ROLLER(2),
    ;

    /**
     * <code>THEME_UITYPE_SIX_GRID = 0;</code>
     */
    public static final int THEME_UITYPE_SIX_GRID_VALUE = 0;
    /**
     * <code>THEME_UITYPE_ROLLER = 1;</code>
     */
    public static final int THEME_UITYPE_ROLLER_VALUE = 1;
    /**
     * <code>THEME_UITYPE_SPIN_ROLLER = 2;</code>
     */
    public static final int THEME_UITYPE_SPIN_ROLLER_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_uitype valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_uitype forNumber(int value) {
      switch (value) {
        case 0: return THEME_UITYPE_SIX_GRID;
        case 1: return THEME_UITYPE_ROLLER;
        case 2: return THEME_UITYPE_SPIN_ROLLER;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_uitypeVerifier.INSTANCE;
    }

    private static final class enum_theme_uitypeVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_uitypeVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_uitype.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_uitype)
  }

  /**
   * Protobuf enum {@code enum_theme_width}
   */
  public enum enum_theme_width
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_KEY_WIDTH_INVALID = 0;</code>
     */
    THEME_KEY_WIDTH_INVALID(0),
    /**
     * <code>THEME_KEY_WIDTH_1 = 1;</code>
     */
    THEME_KEY_WIDTH_1(1),
    /**
     * <code>THEME_KEY_WIDTH_2 = 2;</code>
     */
    THEME_KEY_WIDTH_2(2),
    /**
     * <code>THEME_KEY_WIDTH_3 = 3;</code>
     */
    THEME_KEY_WIDTH_3(3),
    /**
     * <code>THEME_KEY_WIDTH_4 = 4;</code>
     */
    THEME_KEY_WIDTH_4(4),
    ;

    /**
     * <code>THEME_KEY_WIDTH_INVALID = 0;</code>
     */
    public static final int THEME_KEY_WIDTH_INVALID_VALUE = 0;
    /**
     * <code>THEME_KEY_WIDTH_1 = 1;</code>
     */
    public static final int THEME_KEY_WIDTH_1_VALUE = 1;
    /**
     * <code>THEME_KEY_WIDTH_2 = 2;</code>
     */
    public static final int THEME_KEY_WIDTH_2_VALUE = 2;
    /**
     * <code>THEME_KEY_WIDTH_3 = 3;</code>
     */
    public static final int THEME_KEY_WIDTH_3_VALUE = 3;
    /**
     * <code>THEME_KEY_WIDTH_4 = 4;</code>
     */
    public static final int THEME_KEY_WIDTH_4_VALUE = 4;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_width valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_width forNumber(int value) {
      switch (value) {
        case 0: return THEME_KEY_WIDTH_INVALID;
        case 1: return THEME_KEY_WIDTH_1;
        case 2: return THEME_KEY_WIDTH_2;
        case 3: return THEME_KEY_WIDTH_3;
        case 4: return THEME_KEY_WIDTH_4;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_widthVerifier.INSTANCE;
    }

    private static final class enum_theme_widthVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_widthVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_width.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_width)
  }

  /**
   * Protobuf enum {@code enum_theme_height}
   */
  public enum enum_theme_height
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_KEY_HEIGHT_INVALID = 0;</code>
     */
    THEME_KEY_HEIGHT_INVALID(0),
    /**
     * <code>THEME_KEY_HEIGHT_1 = 1;</code>
     */
    THEME_KEY_HEIGHT_1(1),
    /**
     * <code>THEME_KEY_HEIGHT_2 = 2;</code>
     */
    THEME_KEY_HEIGHT_2(2),
    /**
     * <code>THEME_KEY_HEIGHT_3 = 3;</code>
     */
    THEME_KEY_HEIGHT_3(3),
    /**
     * <code>THEME_KEY_HEIGHT_4 = 4;</code>
     */
    THEME_KEY_HEIGHT_4(4),
    ;

    /**
     * <code>THEME_KEY_HEIGHT_INVALID = 0;</code>
     */
    public static final int THEME_KEY_HEIGHT_INVALID_VALUE = 0;
    /**
     * <code>THEME_KEY_HEIGHT_1 = 1;</code>
     */
    public static final int THEME_KEY_HEIGHT_1_VALUE = 1;
    /**
     * <code>THEME_KEY_HEIGHT_2 = 2;</code>
     */
    public static final int THEME_KEY_HEIGHT_2_VALUE = 2;
    /**
     * <code>THEME_KEY_HEIGHT_3 = 3;</code>
     */
    public static final int THEME_KEY_HEIGHT_3_VALUE = 3;
    /**
     * <code>THEME_KEY_HEIGHT_4 = 4;</code>
     */
    public static final int THEME_KEY_HEIGHT_4_VALUE = 4;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_height valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_height forNumber(int value) {
      switch (value) {
        case 0: return THEME_KEY_HEIGHT_INVALID;
        case 1: return THEME_KEY_HEIGHT_1;
        case 2: return THEME_KEY_HEIGHT_2;
        case 3: return THEME_KEY_HEIGHT_3;
        case 4: return THEME_KEY_HEIGHT_4;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_heightVerifier.INSTANCE;
    }

    private static final class enum_theme_heightVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_heightVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_height.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_height)
  }

  /**
   * Protobuf enum {@code enum_bg_type}
   */
  public enum enum_bg_type
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>BG_TYPE_INVALID = 0;</code>
     */
    BG_TYPE_INVALID(0),
    /**
     * <code>BG_TYPE_POWERON = 1;</code>
     */
    BG_TYPE_POWERON(1),
    /**
     * <code>BG_TYPE_THEME1 = 2;</code>
     */
    BG_TYPE_THEME1(2),
    /**
     * <code>BG_TYPE_THEME2 = 3;</code>
     */
    BG_TYPE_THEME2(3),
    /**
     * <code>BG_TYPE_THEME3 = 4;</code>
     */
    BG_TYPE_THEME3(4),
    ;

    /**
     * <code>BG_TYPE_INVALID = 0;</code>
     */
    public static final int BG_TYPE_INVALID_VALUE = 0;
    /**
     * <code>BG_TYPE_POWERON = 1;</code>
     */
    public static final int BG_TYPE_POWERON_VALUE = 1;
    /**
     * <code>BG_TYPE_THEME1 = 2;</code>
     */
    public static final int BG_TYPE_THEME1_VALUE = 2;
    /**
     * <code>BG_TYPE_THEME2 = 3;</code>
     */
    public static final int BG_TYPE_THEME2_VALUE = 3;
    /**
     * <code>BG_TYPE_THEME3 = 4;</code>
     */
    public static final int BG_TYPE_THEME3_VALUE = 4;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_bg_type valueOf(int value) {
      return forNumber(value);
    }

    public static enum_bg_type forNumber(int value) {
      switch (value) {
        case 0: return BG_TYPE_INVALID;
        case 1: return BG_TYPE_POWERON;
        case 2: return BG_TYPE_THEME1;
        case 3: return BG_TYPE_THEME2;
        case 4: return BG_TYPE_THEME3;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_bg_typeVerifier.INSTANCE;
    }

    private static final class enum_bg_typeVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_bg_typeVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_bg_type.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_bg_type)
  }

  /**
   * Protobuf enum {@code enum_theme_dark_mode}
   */
  public enum enum_theme_dark_mode
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>THEME_DARK_MODE_DAY = 0;</code>
     */
    THEME_DARK_MODE_DAY(0),
    /**
     * <code>THEME_DARK_MODE_NIGHT = 1;</code>
     */
    THEME_DARK_MODE_NIGHT(1),
    /**
     * <code>THEME_DARK_MODE_AUTO = 2;</code>
     */
    THEME_DARK_MODE_AUTO(2),
    ;

    /**
     * <code>THEME_DARK_MODE_DAY = 0;</code>
     */
    public static final int THEME_DARK_MODE_DAY_VALUE = 0;
    /**
     * <code>THEME_DARK_MODE_NIGHT = 1;</code>
     */
    public static final int THEME_DARK_MODE_NIGHT_VALUE = 1;
    /**
     * <code>THEME_DARK_MODE_AUTO = 2;</code>
     */
    public static final int THEME_DARK_MODE_AUTO_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static enum_theme_dark_mode valueOf(int value) {
      return forNumber(value);
    }

    public static enum_theme_dark_mode forNumber(int value) {
      switch (value) {
        case 0: return THEME_DARK_MODE_DAY;
        case 1: return THEME_DARK_MODE_NIGHT;
        case 2: return THEME_DARK_MODE_AUTO;
        default: return null;
      }
    }

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

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return enum_theme_dark_modeVerifier.INSTANCE;
    }

    private static final class enum_theme_dark_modeVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new enum_theme_dark_modeVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return enum_theme_dark_mode.forNumber(number) != null;
            }
          };

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:enum_theme_dark_mode)
  }

  public interface ui_dimensionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ui_dimension)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     * @return Whether the themeUiWidth field is set.
     */
    boolean hasThemeUiWidth();
    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     * @return The themeUiWidth.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth();

    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     * @return Whether the themeUiHeight field is set.
     */
    boolean hasThemeUiHeight();
    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     * @return The themeUiHeight.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight();
  }
  /**
   * Protobuf type {@code ui_dimension}
   */
  public  static final class ui_dimension extends
      com.google.protobuf.GeneratedMessageLite<
          ui_dimension, ui_dimension.Builder> implements
      // @@protoc_insertion_point(message_implements:ui_dimension)
      ui_dimensionOrBuilder {
    private ui_dimension() {
    }
    private int bitField0_;
    public static final int THEME_UI_WIDTH_FIELD_NUMBER = 1;
    private int themeUiWidth_;
    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     * @return Whether the themeUiWidth field is set.
     */
    @java.lang.Override
    public boolean hasThemeUiWidth() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     * @return The themeUiWidth.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.forNumber(themeUiWidth_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.THEME_KEY_WIDTH_INVALID : result;
    }
    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     * @param value The themeUiWidth to set.
     */
    private void setThemeUiWidth(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width value) {
      themeUiWidth_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .enum_theme_width theme_ui_width = 1;</code>
     */
    private void clearThemeUiWidth() {
      bitField0_ = (bitField0_ & ~0x00000001);
      themeUiWidth_ = 0;
    }

    public static final int THEME_UI_HEIGHT_FIELD_NUMBER = 2;
    private int themeUiHeight_;
    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     * @return Whether the themeUiHeight field is set.
     */
    @java.lang.Override
    public boolean hasThemeUiHeight() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     * @return The themeUiHeight.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.forNumber(themeUiHeight_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.THEME_KEY_HEIGHT_INVALID : result;
    }
    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     * @param value The themeUiHeight to set.
     */
    private void setThemeUiHeight(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height value) {
      themeUiHeight_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .enum_theme_height theme_ui_height = 2;</code>
     */
    private void clearThemeUiHeight() {
      bitField0_ = (bitField0_ & ~0x00000002);
      themeUiHeight_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code ui_dimension}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension, Builder> implements
        // @@protoc_insertion_point(builder_implements:ui_dimension)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimensionOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .enum_theme_width theme_ui_width = 1;</code>
       * @return Whether the themeUiWidth field is set.
       */
      @java.lang.Override
      public boolean hasThemeUiWidth() {
        return instance.hasThemeUiWidth();
      }
      /**
       * <code>required .enum_theme_width theme_ui_width = 1;</code>
       * @return The themeUiWidth.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth() {
        return instance.getThemeUiWidth();
      }
      /**
       * <code>required .enum_theme_width theme_ui_width = 1;</code>
       * @param value The enum numeric value on the wire for themeUiWidth to set.
       * @return This builder for chaining.
       */
      public Builder setThemeUiWidth(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width value) {
        copyOnWrite();
        instance.setThemeUiWidth(value);
        return this;
      }
      /**
       * <code>required .enum_theme_width theme_ui_width = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeUiWidth() {
        copyOnWrite();
        instance.clearThemeUiWidth();
        return this;
      }

      /**
       * <code>required .enum_theme_height theme_ui_height = 2;</code>
       * @return Whether the themeUiHeight field is set.
       */
      @java.lang.Override
      public boolean hasThemeUiHeight() {
        return instance.hasThemeUiHeight();
      }
      /**
       * <code>required .enum_theme_height theme_ui_height = 2;</code>
       * @return The themeUiHeight.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight() {
        return instance.getThemeUiHeight();
      }
      /**
       * <code>required .enum_theme_height theme_ui_height = 2;</code>
       * @param value The enum numeric value on the wire for themeUiHeight to set.
       * @return This builder for chaining.
       */
      public Builder setThemeUiHeight(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height value) {
        copyOnWrite();
        instance.setThemeUiHeight(value);
        return this;
      }
      /**
       * <code>required .enum_theme_height theme_ui_height = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeUiHeight() {
        copyOnWrite();
        instance.clearThemeUiHeight();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ui_dimension)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "themeUiWidth_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.internalGetVerifier(),
              "themeUiHeight_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.internalGetVerifier(),
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0002\u0001\u150c\u0000\u0002" +
                "\u150c\u0001";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:ui_dimension)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension DEFAULT_INSTANCE;
    static {
      ui_dimension defaultInstance = new ui_dimension();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ui_dimension.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ui_dimension> PARSER;

    public static com.google.protobuf.Parser<ui_dimension> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface theme_func_infoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:theme_func_info)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     * @return Whether the funcKey field is set.
     */
    boolean hasFuncKey();
    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     * @return The funcKey.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey();

    /**
     * <code>optional bool open = 2;</code>
     * @return Whether the open field is set.
     */
    boolean hasOpen();
    /**
     * <code>optional bool open = 2;</code>
     * @return The open.
     */
    boolean getOpen();

    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     * @return Whether the themeUiWidth field is set.
     */
    boolean hasThemeUiWidth();
    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     * @return The themeUiWidth.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth();

    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     * @return Whether the themeUiHeight field is set.
     */
    boolean hasThemeUiHeight();
    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     * @return The themeUiHeight.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight();

    /**
     * <code>optional bool is_removable = 5;</code>
     * @return Whether the isRemovable field is set.
     */
    boolean hasIsRemovable();
    /**
     * <code>optional bool is_removable = 5;</code>
     * @return The isRemovable.
     */
    boolean getIsRemovable();

    /**
     * <code>optional bool is_closable = 6;</code>
     * @return Whether the isClosable field is set.
     */
    boolean hasIsClosable();
    /**
     * <code>optional bool is_closable = 6;</code>
     * @return The isClosable.
     */
    boolean getIsClosable();

    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> 
        getUiList();
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension getUi(int index);
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    int getUiCount();
  }
  /**
   * Protobuf type {@code theme_func_info}
   */
  public  static final class theme_func_info extends
      com.google.protobuf.GeneratedMessageLite<
          theme_func_info, theme_func_info.Builder> implements
      // @@protoc_insertion_point(message_implements:theme_func_info)
      theme_func_infoOrBuilder {
    private theme_func_info() {
      ui_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int FUNC_KEY_FIELD_NUMBER = 1;
    private int funcKey_;
    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     * @return Whether the funcKey field is set.
     */
    @java.lang.Override
    public boolean hasFuncKey() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     * @return The funcKey.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.forNumber(funcKey_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.THEME_FUNC_KEY_INVALID : result;
    }
    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     * @param value The funcKey to set.
     */
    private void setFuncKey(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
      funcKey_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .enum_theme_func_key func_key = 1;</code>
     */
    private void clearFuncKey() {
      bitField0_ = (bitField0_ & ~0x00000001);
      funcKey_ = 0;
    }

    public static final int OPEN_FIELD_NUMBER = 2;
    private boolean open_;
    /**
     * <code>optional bool open = 2;</code>
     * @return Whether the open field is set.
     */
    @java.lang.Override
    public boolean hasOpen() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional bool open = 2;</code>
     * @return The open.
     */
    @java.lang.Override
    public boolean getOpen() {
      return open_;
    }
    /**
     * <code>optional bool open = 2;</code>
     * @param value The open to set.
     */
    private void setOpen(boolean value) {
      bitField0_ |= 0x00000002;
      open_ = value;
    }
    /**
     * <code>optional bool open = 2;</code>
     */
    private void clearOpen() {
      bitField0_ = (bitField0_ & ~0x00000002);
      open_ = false;
    }

    public static final int THEME_UI_WIDTH_FIELD_NUMBER = 3;
    private int themeUiWidth_;
    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     * @return Whether the themeUiWidth field is set.
     */
    @java.lang.Override
    public boolean hasThemeUiWidth() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     * @return The themeUiWidth.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.forNumber(themeUiWidth_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.THEME_KEY_WIDTH_INVALID : result;
    }
    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     * @param value The themeUiWidth to set.
     */
    private void setThemeUiWidth(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width value) {
      themeUiWidth_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .enum_theme_width theme_ui_width = 3;</code>
     */
    private void clearThemeUiWidth() {
      bitField0_ = (bitField0_ & ~0x00000004);
      themeUiWidth_ = 0;
    }

    public static final int THEME_UI_HEIGHT_FIELD_NUMBER = 4;
    private int themeUiHeight_;
    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     * @return Whether the themeUiHeight field is set.
     */
    @java.lang.Override
    public boolean hasThemeUiHeight() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     * @return The themeUiHeight.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.forNumber(themeUiHeight_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.THEME_KEY_HEIGHT_INVALID : result;
    }
    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     * @param value The themeUiHeight to set.
     */
    private void setThemeUiHeight(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height value) {
      themeUiHeight_ = value.getNumber();
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .enum_theme_height theme_ui_height = 4;</code>
     */
    private void clearThemeUiHeight() {
      bitField0_ = (bitField0_ & ~0x00000008);
      themeUiHeight_ = 0;
    }

    public static final int IS_REMOVABLE_FIELD_NUMBER = 5;
    private boolean isRemovable_;
    /**
     * <code>optional bool is_removable = 5;</code>
     * @return Whether the isRemovable field is set.
     */
    @java.lang.Override
    public boolean hasIsRemovable() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional bool is_removable = 5;</code>
     * @return The isRemovable.
     */
    @java.lang.Override
    public boolean getIsRemovable() {
      return isRemovable_;
    }
    /**
     * <code>optional bool is_removable = 5;</code>
     * @param value The isRemovable to set.
     */
    private void setIsRemovable(boolean value) {
      bitField0_ |= 0x00000010;
      isRemovable_ = value;
    }
    /**
     * <code>optional bool is_removable = 5;</code>
     */
    private void clearIsRemovable() {
      bitField0_ = (bitField0_ & ~0x00000010);
      isRemovable_ = false;
    }

    public static final int IS_CLOSABLE_FIELD_NUMBER = 6;
    private boolean isClosable_;
    /**
     * <code>optional bool is_closable = 6;</code>
     * @return Whether the isClosable field is set.
     */
    @java.lang.Override
    public boolean hasIsClosable() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional bool is_closable = 6;</code>
     * @return The isClosable.
     */
    @java.lang.Override
    public boolean getIsClosable() {
      return isClosable_;
    }
    /**
     * <code>optional bool is_closable = 6;</code>
     * @param value The isClosable to set.
     */
    private void setIsClosable(boolean value) {
      bitField0_ |= 0x00000020;
      isClosable_ = value;
    }
    /**
     * <code>optional bool is_closable = 6;</code>
     */
    private void clearIsClosable() {
      bitField0_ = (bitField0_ & ~0x00000020);
      isClosable_ = false;
    }

    public static final int UI_FIELD_NUMBER = 7;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> ui_;
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> getUiList() {
      return ui_;
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimensionOrBuilder> 
        getUiOrBuilderList() {
      return ui_;
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    @java.lang.Override
    public int getUiCount() {
      return ui_.size();
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension getUi(int index) {
      return ui_.get(index);
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimensionOrBuilder getUiOrBuilder(
        int index) {
      return ui_.get(index);
    }
    private void ensureUiIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> tmp = ui_;
      if (!tmp.isModifiable()) {
        ui_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void setUi(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
      value.getClass();
  ensureUiIsMutable();
      ui_.set(index, value);
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void addUi(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
      value.getClass();
  ensureUiIsMutable();
      ui_.add(value);
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void addUi(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
      value.getClass();
  ensureUiIsMutable();
      ui_.add(index, value);
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void addAllUi(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> values) {
      ensureUiIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, ui_);
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void clearUi() {
      ui_ = emptyProtobufList();
    }
    /**
     * <code>repeated .ui_dimension ui = 7;</code>
     */
    private void removeUi(int index) {
      ensureUiIsMutable();
      ui_.remove(index);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code theme_func_info}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info, Builder> implements
        // @@protoc_insertion_point(builder_implements:theme_func_info)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_infoOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .enum_theme_func_key func_key = 1;</code>
       * @return Whether the funcKey field is set.
       */
      @java.lang.Override
      public boolean hasFuncKey() {
        return instance.hasFuncKey();
      }
      /**
       * <code>optional .enum_theme_func_key func_key = 1;</code>
       * @return The funcKey.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey() {
        return instance.getFuncKey();
      }
      /**
       * <code>optional .enum_theme_func_key func_key = 1;</code>
       * @param value The enum numeric value on the wire for funcKey to set.
       * @return This builder for chaining.
       */
      public Builder setFuncKey(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
        copyOnWrite();
        instance.setFuncKey(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_func_key func_key = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearFuncKey() {
        copyOnWrite();
        instance.clearFuncKey();
        return this;
      }

      /**
       * <code>optional bool open = 2;</code>
       * @return Whether the open field is set.
       */
      @java.lang.Override
      public boolean hasOpen() {
        return instance.hasOpen();
      }
      /**
       * <code>optional bool open = 2;</code>
       * @return The open.
       */
      @java.lang.Override
      public boolean getOpen() {
        return instance.getOpen();
      }
      /**
       * <code>optional bool open = 2;</code>
       * @param value The open to set.
       * @return This builder for chaining.
       */
      public Builder setOpen(boolean value) {
        copyOnWrite();
        instance.setOpen(value);
        return this;
      }
      /**
       * <code>optional bool open = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearOpen() {
        copyOnWrite();
        instance.clearOpen();
        return this;
      }

      /**
       * <code>optional .enum_theme_width theme_ui_width = 3;</code>
       * @return Whether the themeUiWidth field is set.
       */
      @java.lang.Override
      public boolean hasThemeUiWidth() {
        return instance.hasThemeUiWidth();
      }
      /**
       * <code>optional .enum_theme_width theme_ui_width = 3;</code>
       * @return The themeUiWidth.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width getThemeUiWidth() {
        return instance.getThemeUiWidth();
      }
      /**
       * <code>optional .enum_theme_width theme_ui_width = 3;</code>
       * @param value The enum numeric value on the wire for themeUiWidth to set.
       * @return This builder for chaining.
       */
      public Builder setThemeUiWidth(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width value) {
        copyOnWrite();
        instance.setThemeUiWidth(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_width theme_ui_width = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeUiWidth() {
        copyOnWrite();
        instance.clearThemeUiWidth();
        return this;
      }

      /**
       * <code>optional .enum_theme_height theme_ui_height = 4;</code>
       * @return Whether the themeUiHeight field is set.
       */
      @java.lang.Override
      public boolean hasThemeUiHeight() {
        return instance.hasThemeUiHeight();
      }
      /**
       * <code>optional .enum_theme_height theme_ui_height = 4;</code>
       * @return The themeUiHeight.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height getThemeUiHeight() {
        return instance.getThemeUiHeight();
      }
      /**
       * <code>optional .enum_theme_height theme_ui_height = 4;</code>
       * @param value The enum numeric value on the wire for themeUiHeight to set.
       * @return This builder for chaining.
       */
      public Builder setThemeUiHeight(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height value) {
        copyOnWrite();
        instance.setThemeUiHeight(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_height theme_ui_height = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeUiHeight() {
        copyOnWrite();
        instance.clearThemeUiHeight();
        return this;
      }

      /**
       * <code>optional bool is_removable = 5;</code>
       * @return Whether the isRemovable field is set.
       */
      @java.lang.Override
      public boolean hasIsRemovable() {
        return instance.hasIsRemovable();
      }
      /**
       * <code>optional bool is_removable = 5;</code>
       * @return The isRemovable.
       */
      @java.lang.Override
      public boolean getIsRemovable() {
        return instance.getIsRemovable();
      }
      /**
       * <code>optional bool is_removable = 5;</code>
       * @param value The isRemovable to set.
       * @return This builder for chaining.
       */
      public Builder setIsRemovable(boolean value) {
        copyOnWrite();
        instance.setIsRemovable(value);
        return this;
      }
      /**
       * <code>optional bool is_removable = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsRemovable() {
        copyOnWrite();
        instance.clearIsRemovable();
        return this;
      }

      /**
       * <code>optional bool is_closable = 6;</code>
       * @return Whether the isClosable field is set.
       */
      @java.lang.Override
      public boolean hasIsClosable() {
        return instance.hasIsClosable();
      }
      /**
       * <code>optional bool is_closable = 6;</code>
       * @return The isClosable.
       */
      @java.lang.Override
      public boolean getIsClosable() {
        return instance.getIsClosable();
      }
      /**
       * <code>optional bool is_closable = 6;</code>
       * @param value The isClosable to set.
       * @return This builder for chaining.
       */
      public Builder setIsClosable(boolean value) {
        copyOnWrite();
        instance.setIsClosable(value);
        return this;
      }
      /**
       * <code>optional bool is_closable = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsClosable() {
        copyOnWrite();
        instance.clearIsClosable();
        return this;
      }

      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> getUiList() {
        return java.util.Collections.unmodifiableList(
            instance.getUiList());
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      @java.lang.Override
      public int getUiCount() {
        return instance.getUiCount();
      }/**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension getUi(int index) {
        return instance.getUi(index);
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder setUi(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
        copyOnWrite();
        instance.setUi(index, value);
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder setUi(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.Builder builderForValue) {
        copyOnWrite();
        instance.setUi(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder addUi(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
        copyOnWrite();
        instance.addUi(value);
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder addUi(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension value) {
        copyOnWrite();
        instance.addUi(index, value);
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder addUi(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.Builder builderForValue) {
        copyOnWrite();
        instance.addUi(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder addUi(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.Builder builderForValue) {
        copyOnWrite();
        instance.addUi(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder addAllUi(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension> values) {
        copyOnWrite();
        instance.addAllUi(values);
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder clearUi() {
        copyOnWrite();
        instance.clearUi();
        return this;
      }
      /**
       * <code>repeated .ui_dimension ui = 7;</code>
       */
      public Builder removeUi(int index) {
        copyOnWrite();
        instance.removeUi(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:theme_func_info)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "funcKey_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.internalGetVerifier(),
              "open_",
              "themeUiWidth_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_width.internalGetVerifier(),
              "themeUiHeight_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_height.internalGetVerifier(),
              "isRemovable_",
              "isClosable_",
              "ui_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.ui_dimension.class,
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0001\u0001\u0001\u100c\u0000\u0002" +
                "\u1007\u0001\u0003\u100c\u0002\u0004\u100c\u0003\u0005\u1007\u0004\u0006\u1007\u0005" +
                "\u0007\u041b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:theme_func_info)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info DEFAULT_INSTANCE;
    static {
      theme_func_info defaultInstance = new theme_func_info();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        theme_func_info.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<theme_func_info> PARSER;

    public static com.google.protobuf.Parser<theme_func_info> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface theme_infor_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:theme_infor_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional uint32 theme_id = 1;</code>
     * @return Whether the themeId field is set.
     */
    boolean hasThemeId();
    /**
     * <code>optional uint32 theme_id = 1;</code>
     * @return The themeId.
     */
    int getThemeId();

    /**
     * <code>optional uint32 theme_index = 2;</code>
     * @return Whether the themeIndex field is set.
     */
    boolean hasThemeIndex();
    /**
     * <code>optional uint32 theme_index = 2;</code>
     * @return The themeIndex.
     */
    int getThemeIndex();

    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     * @return Whether the themeStatus field is set.
     */
    boolean hasThemeStatus();
    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     * @return The themeStatus.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status getThemeStatus();

    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @return A list containing the funcKey.
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> getFuncKeyList();
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @return The count of funcKey.
     */
    int getFuncKeyCount();
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @param index The index of the element to return.
     * @return The funcKey at the given index.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey(int index);

    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     * @return Whether the themeUitype field is set.
     */
    boolean hasThemeUitype();
    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     * @return The themeUitype.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype getThemeUitype();

    /**
     * <code>optional uint32 theme_color = 6;</code>
     * @return Whether the themeColor field is set.
     */
    boolean hasThemeColor();
    /**
     * <code>optional uint32 theme_color = 6;</code>
     * @return The themeColor.
     */
    int getThemeColor();

    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> 
        getFuncInfoList();
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info getFuncInfo(int index);
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    int getFuncInfoCount();
  }
  /**
   * Protobuf type {@code theme_infor_msg}
   */
  public  static final class theme_infor_msg extends
      com.google.protobuf.GeneratedMessageLite<
          theme_infor_msg, theme_infor_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:theme_infor_msg)
      theme_infor_msgOrBuilder {
    private theme_infor_msg() {
      funcKey_ = emptyIntList();
      funcInfo_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int THEME_ID_FIELD_NUMBER = 1;
    private int themeId_;
    /**
     * <code>optional uint32 theme_id = 1;</code>
     * @return Whether the themeId field is set.
     */
    @java.lang.Override
    public boolean hasThemeId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 theme_id = 1;</code>
     * @return The themeId.
     */
    @java.lang.Override
    public int getThemeId() {
      return themeId_;
    }
    /**
     * <code>optional uint32 theme_id = 1;</code>
     * @param value The themeId to set.
     */
    private void setThemeId(int value) {
      bitField0_ |= 0x00000001;
      themeId_ = value;
    }
    /**
     * <code>optional uint32 theme_id = 1;</code>
     */
    private void clearThemeId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      themeId_ = 0;
    }

    public static final int THEME_INDEX_FIELD_NUMBER = 2;
    private int themeIndex_;
    /**
     * <code>optional uint32 theme_index = 2;</code>
     * @return Whether the themeIndex field is set.
     */
    @java.lang.Override
    public boolean hasThemeIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 theme_index = 2;</code>
     * @return The themeIndex.
     */
    @java.lang.Override
    public int getThemeIndex() {
      return themeIndex_;
    }
    /**
     * <code>optional uint32 theme_index = 2;</code>
     * @param value The themeIndex to set.
     */
    private void setThemeIndex(int value) {
      bitField0_ |= 0x00000002;
      themeIndex_ = value;
    }
    /**
     * <code>optional uint32 theme_index = 2;</code>
     */
    private void clearThemeIndex() {
      bitField0_ = (bitField0_ & ~0x00000002);
      themeIndex_ = 0;
    }

    public static final int THEME_STATUS_FIELD_NUMBER = 3;
    private int themeStatus_;
    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     * @return Whether the themeStatus field is set.
     */
    @java.lang.Override
    public boolean hasThemeStatus() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     * @return The themeStatus.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status getThemeStatus() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status.forNumber(themeStatus_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status.THEME_STATUS_UNUSED : result;
    }
    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     * @param value The themeStatus to set.
     */
    private void setThemeStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status value) {
      themeStatus_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .enum_theme_status theme_status = 3;</code>
     */
    private void clearThemeStatus() {
      bitField0_ = (bitField0_ & ~0x00000004);
      themeStatus_ = 0;
    }

    public static final int FUNC_KEY_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.IntList funcKey_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> funcKey_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key>() {
              @java.lang.Override
              public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key convert(java.lang.Integer from) {
                nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.forNumber(from);
                return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.THEME_FUNC_KEY_INVALID : result;
              }
            };
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @return A list containing the funcKey.
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> getFuncKeyList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key>(funcKey_, funcKey_converter_);
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @return The count of funcKey.
     */
    @java.lang.Override
    public int getFuncKeyCount() {
      return funcKey_.size();
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @param index The index of the element to return.
     * @return The funcKey at the given index.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey(int index) {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.forNumber(funcKey_.getInt(index));
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.THEME_FUNC_KEY_INVALID : result;
    }
    private void ensureFuncKeyIsMutable() {
      com.google.protobuf.Internal.IntList tmp = funcKey_;
      if (!tmp.isModifiable()) {
        funcKey_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
      }
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @param index The index to set the value at.
     * @param value The funcKey to set.
     */
    private void setFuncKey(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
      value.getClass();
  ensureFuncKeyIsMutable();
      funcKey_.setInt(index, value.getNumber());
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @param value The funcKey to add.
     */
    private void addFuncKey(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
      value.getClass();
  ensureFuncKeyIsMutable();
      funcKey_.addInt(value.getNumber());
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     * @param values The funcKey to add.
     */
    private void addAllFuncKey(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> values) {
      ensureFuncKeyIsMutable();
      for (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value : values) {
        funcKey_.addInt(value.getNumber());
      }
    }
    /**
     * <code>repeated .enum_theme_func_key func_key = 4;</code>
     */
    private void clearFuncKey() {
      funcKey_ = emptyIntList();
    }

    public static final int THEME_UITYPE_FIELD_NUMBER = 5;
    private int themeUitype_;
    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     * @return Whether the themeUitype field is set.
     */
    @java.lang.Override
    public boolean hasThemeUitype() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     * @return The themeUitype.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype getThemeUitype() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype.forNumber(themeUitype_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype.THEME_UITYPE_SIX_GRID : result;
    }
    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     * @param value The themeUitype to set.
     */
    private void setThemeUitype(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype value) {
      themeUitype_ = value.getNumber();
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
     */
    private void clearThemeUitype() {
      bitField0_ = (bitField0_ & ~0x00000008);
      themeUitype_ = 0;
    }

    public static final int THEME_COLOR_FIELD_NUMBER = 6;
    private int themeColor_;
    /**
     * <code>optional uint32 theme_color = 6;</code>
     * @return Whether the themeColor field is set.
     */
    @java.lang.Override
    public boolean hasThemeColor() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 theme_color = 6;</code>
     * @return The themeColor.
     */
    @java.lang.Override
    public int getThemeColor() {
      return themeColor_;
    }
    /**
     * <code>optional uint32 theme_color = 6;</code>
     * @param value The themeColor to set.
     */
    private void setThemeColor(int value) {
      bitField0_ |= 0x00000010;
      themeColor_ = value;
    }
    /**
     * <code>optional uint32 theme_color = 6;</code>
     */
    private void clearThemeColor() {
      bitField0_ = (bitField0_ & ~0x00000010);
      themeColor_ = 0;
    }

    public static final int FUNC_INFO_FIELD_NUMBER = 7;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> funcInfo_;
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> getFuncInfoList() {
      return funcInfo_;
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_infoOrBuilder> 
        getFuncInfoOrBuilderList() {
      return funcInfo_;
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    @java.lang.Override
    public int getFuncInfoCount() {
      return funcInfo_.size();
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info getFuncInfo(int index) {
      return funcInfo_.get(index);
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_infoOrBuilder getFuncInfoOrBuilder(
        int index) {
      return funcInfo_.get(index);
    }
    private void ensureFuncInfoIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> tmp = funcInfo_;
      if (!tmp.isModifiable()) {
        funcInfo_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void setFuncInfo(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
      value.getClass();
  ensureFuncInfoIsMutable();
      funcInfo_.set(index, value);
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void addFuncInfo(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
      value.getClass();
  ensureFuncInfoIsMutable();
      funcInfo_.add(value);
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void addFuncInfo(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
      value.getClass();
  ensureFuncInfoIsMutable();
      funcInfo_.add(index, value);
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void addAllFuncInfo(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> values) {
      ensureFuncInfoIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, funcInfo_);
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void clearFuncInfo() {
      funcInfo_ = emptyProtobufList();
    }
    /**
     * <code>repeated .theme_func_info func_info = 7;</code>
     */
    private void removeFuncInfo(int index) {
      ensureFuncInfoIsMutable();
      funcInfo_.remove(index);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code theme_infor_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:theme_infor_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional uint32 theme_id = 1;</code>
       * @return Whether the themeId field is set.
       */
      @java.lang.Override
      public boolean hasThemeId() {
        return instance.hasThemeId();
      }
      /**
       * <code>optional uint32 theme_id = 1;</code>
       * @return The themeId.
       */
      @java.lang.Override
      public int getThemeId() {
        return instance.getThemeId();
      }
      /**
       * <code>optional uint32 theme_id = 1;</code>
       * @param value The themeId to set.
       * @return This builder for chaining.
       */
      public Builder setThemeId(int value) {
        copyOnWrite();
        instance.setThemeId(value);
        return this;
      }
      /**
       * <code>optional uint32 theme_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeId() {
        copyOnWrite();
        instance.clearThemeId();
        return this;
      }

      /**
       * <code>optional uint32 theme_index = 2;</code>
       * @return Whether the themeIndex field is set.
       */
      @java.lang.Override
      public boolean hasThemeIndex() {
        return instance.hasThemeIndex();
      }
      /**
       * <code>optional uint32 theme_index = 2;</code>
       * @return The themeIndex.
       */
      @java.lang.Override
      public int getThemeIndex() {
        return instance.getThemeIndex();
      }
      /**
       * <code>optional uint32 theme_index = 2;</code>
       * @param value The themeIndex to set.
       * @return This builder for chaining.
       */
      public Builder setThemeIndex(int value) {
        copyOnWrite();
        instance.setThemeIndex(value);
        return this;
      }
      /**
       * <code>optional uint32 theme_index = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeIndex() {
        copyOnWrite();
        instance.clearThemeIndex();
        return this;
      }

      /**
       * <code>optional .enum_theme_status theme_status = 3;</code>
       * @return Whether the themeStatus field is set.
       */
      @java.lang.Override
      public boolean hasThemeStatus() {
        return instance.hasThemeStatus();
      }
      /**
       * <code>optional .enum_theme_status theme_status = 3;</code>
       * @return The themeStatus.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status getThemeStatus() {
        return instance.getThemeStatus();
      }
      /**
       * <code>optional .enum_theme_status theme_status = 3;</code>
       * @param value The enum numeric value on the wire for themeStatus to set.
       * @return This builder for chaining.
       */
      public Builder setThemeStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status value) {
        copyOnWrite();
        instance.setThemeStatus(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_status theme_status = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeStatus() {
        copyOnWrite();
        instance.clearThemeStatus();
        return this;
      }

      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @return A list containing the funcKey.
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> getFuncKeyList() {
        return instance.getFuncKeyList();
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @return The count of funcKey.
       */
      @java.lang.Override
      public int getFuncKeyCount() {
        return instance.getFuncKeyCount();
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @param index The index of the element to return.
       * @return The funcKey at the given index.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key getFuncKey(int index) {
        return instance.getFuncKey(index);
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @param index The index to set the value at.
       * @param value The funcKey to set.
       * @return This builder for chaining.
       */
      public Builder setFuncKey(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
        copyOnWrite();
        instance.setFuncKey(index, value);
        return this;
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @param value The funcKey to add.
       * @return This builder for chaining.
       */
      public Builder addFuncKey(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key value) {
        copyOnWrite();
        instance.addFuncKey(value);
        return this;
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @param values The funcKey to add.
       * @return This builder for chaining.
       */
      public Builder addAllFuncKey(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key> values) {
        copyOnWrite();
        instance.addAllFuncKey(values);  return this;
      }
      /**
       * <code>repeated .enum_theme_func_key func_key = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearFuncKey() {
        copyOnWrite();
        instance.clearFuncKey();
        return this;
      }

      /**
       * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
       * @return Whether the themeUitype field is set.
       */
      @java.lang.Override
      public boolean hasThemeUitype() {
        return instance.hasThemeUitype();
      }
      /**
       * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
       * @return The themeUitype.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype getThemeUitype() {
        return instance.getThemeUitype();
      }
      /**
       * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
       * @param value The enum numeric value on the wire for themeUitype to set.
       * @return This builder for chaining.
       */
      public Builder setThemeUitype(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype value) {
        copyOnWrite();
        instance.setThemeUitype(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_uitype theme_uitype = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeUitype() {
        copyOnWrite();
        instance.clearThemeUitype();
        return this;
      }

      /**
       * <code>optional uint32 theme_color = 6;</code>
       * @return Whether the themeColor field is set.
       */
      @java.lang.Override
      public boolean hasThemeColor() {
        return instance.hasThemeColor();
      }
      /**
       * <code>optional uint32 theme_color = 6;</code>
       * @return The themeColor.
       */
      @java.lang.Override
      public int getThemeColor() {
        return instance.getThemeColor();
      }
      /**
       * <code>optional uint32 theme_color = 6;</code>
       * @param value The themeColor to set.
       * @return This builder for chaining.
       */
      public Builder setThemeColor(int value) {
        copyOnWrite();
        instance.setThemeColor(value);
        return this;
      }
      /**
       * <code>optional uint32 theme_color = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearThemeColor() {
        copyOnWrite();
        instance.clearThemeColor();
        return this;
      }

      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> getFuncInfoList() {
        return java.util.Collections.unmodifiableList(
            instance.getFuncInfoList());
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      @java.lang.Override
      public int getFuncInfoCount() {
        return instance.getFuncInfoCount();
      }/**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info getFuncInfo(int index) {
        return instance.getFuncInfo(index);
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder setFuncInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
        copyOnWrite();
        instance.setFuncInfo(index, value);
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder setFuncInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.Builder builderForValue) {
        copyOnWrite();
        instance.setFuncInfo(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder addFuncInfo(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
        copyOnWrite();
        instance.addFuncInfo(value);
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder addFuncInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info value) {
        copyOnWrite();
        instance.addFuncInfo(index, value);
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder addFuncInfo(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.Builder builderForValue) {
        copyOnWrite();
        instance.addFuncInfo(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder addFuncInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.Builder builderForValue) {
        copyOnWrite();
        instance.addFuncInfo(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder addAllFuncInfo(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info> values) {
        copyOnWrite();
        instance.addAllFuncInfo(values);
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder clearFuncInfo() {
        copyOnWrite();
        instance.clearFuncInfo();
        return this;
      }
      /**
       * <code>repeated .theme_func_info func_info = 7;</code>
       */
      public Builder removeFuncInfo(int index) {
        copyOnWrite();
        instance.removeFuncInfo(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:theme_infor_msg)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "themeId_",
              "themeIndex_",
              "themeStatus_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_status.internalGetVerifier(),
              "funcKey_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_func_key.internalGetVerifier(),
              "themeUitype_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_uitype.internalGetVerifier(),
              "themeColor_",
              "funcInfo_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_func_info.class,
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0002\u0001\u0001\u100b\u0000\u0002" +
                "\u100b\u0001\u0003\u100c\u0002\u0004\u001e\u0005\u100c\u0003\u0006\u100b\u0004\u0007" +
                "\u041b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:theme_infor_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg DEFAULT_INSTANCE;
    static {
      theme_infor_msg defaultInstance = new theme_infor_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        theme_infor_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<theme_infor_msg> PARSER;

    public static com.google.protobuf.Parser<theme_infor_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface theme_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:theme_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     * @return The serviceType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType();

    /**
     * <code>required .enum_operate op_code = 2;</code>
     * @return Whether the opCode field is set.
     */
    boolean hasOpCode();
    /**
     * <code>required .enum_operate op_code = 2;</code>
     * @return The opCode.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate getOpCode();

    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> 
        getThemeInfoList();
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg getThemeInfo(int index);
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    int getThemeInfoCount();

    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     * @return Whether the darkMode field is set.
     */
    boolean hasDarkMode();
    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     * @return The darkMode.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode getDarkMode();

    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     * @return Whether the bgType field is set.
     */
    boolean hasBgType();
    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     * @return The bgType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type getBgType();

    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     * @return Whether the isDefaultBg field is set.
     */
    boolean hasIsDefaultBg();
    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     * @return The isDefaultBg.
     */
    int getIsDefaultBg();
  }
  /**
   * Protobuf type {@code theme_message}
   */
  public  static final class theme_message extends
      com.google.protobuf.GeneratedMessageLite<
          theme_message, theme_message.Builder> implements
      // @@protoc_insertion_point(message_implements:theme_message)
      theme_messageOrBuilder {
    private theme_message() {
      serviceType_ = 20;
      themeInfo_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int SERVICE_TYPE_FIELD_NUMBER = 1;
    private int serviceType_;
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     * @return Whether the serviceType field is set.
     */
    @java.lang.Override
    public boolean hasServiceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     * @return The serviceType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(serviceType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_THEME : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     * @param value The serviceType to set.
     */
    private void setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      serviceType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 20;
    }

    public static final int OP_CODE_FIELD_NUMBER = 2;
    private int opCode_;
    /**
     * <code>required .enum_operate op_code = 2;</code>
     * @return Whether the opCode field is set.
     */
    @java.lang.Override
    public boolean hasOpCode() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .enum_operate op_code = 2;</code>
     * @return The opCode.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate getOpCode() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate.forNumber(opCode_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate.THEME_OP_INVALID : result;
    }
    /**
     * <code>required .enum_operate op_code = 2;</code>
     * @param value The opCode to set.
     */
    private void setOpCode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate value) {
      opCode_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .enum_operate op_code = 2;</code>
     */
    private void clearOpCode() {
      bitField0_ = (bitField0_ & ~0x00000002);
      opCode_ = 0;
    }

    public static final int THEME_INFO_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> themeInfo_;
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> getThemeInfoList() {
      return themeInfo_;
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msgOrBuilder> 
        getThemeInfoOrBuilderList() {
      return themeInfo_;
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    @java.lang.Override
    public int getThemeInfoCount() {
      return themeInfo_.size();
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg getThemeInfo(int index) {
      return themeInfo_.get(index);
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msgOrBuilder getThemeInfoOrBuilder(
        int index) {
      return themeInfo_.get(index);
    }
    private void ensureThemeInfoIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> tmp = themeInfo_;
      if (!tmp.isModifiable()) {
        themeInfo_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void setThemeInfo(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
      value.getClass();
  ensureThemeInfoIsMutable();
      themeInfo_.set(index, value);
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void addThemeInfo(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
      value.getClass();
  ensureThemeInfoIsMutable();
      themeInfo_.add(value);
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void addThemeInfo(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
      value.getClass();
  ensureThemeInfoIsMutable();
      themeInfo_.add(index, value);
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void addAllThemeInfo(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> values) {
      ensureThemeInfoIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, themeInfo_);
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void clearThemeInfo() {
      themeInfo_ = emptyProtobufList();
    }
    /**
     * <code>repeated .theme_infor_msg theme_info = 3;</code>
     */
    private void removeThemeInfo(int index) {
      ensureThemeInfoIsMutable();
      themeInfo_.remove(index);
    }

    public static final int DARK_MODE_FIELD_NUMBER = 4;
    private int darkMode_;
    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     * @return Whether the darkMode field is set.
     */
    @java.lang.Override
    public boolean hasDarkMode() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     * @return The darkMode.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode getDarkMode() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode.forNumber(darkMode_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode.THEME_DARK_MODE_DAY : result;
    }
    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     * @param value The darkMode to set.
     */
    private void setDarkMode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode value) {
      darkMode_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
     */
    private void clearDarkMode() {
      bitField0_ = (bitField0_ & ~0x00000004);
      darkMode_ = 0;
    }

    public static final int BG_TYPE_FIELD_NUMBER = 5;
    private int bgType_;
    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     * @return Whether the bgType field is set.
     */
    @java.lang.Override
    public boolean hasBgType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     * @return The bgType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type getBgType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type.forNumber(bgType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type.BG_TYPE_INVALID : result;
    }
    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     * @param value The bgType to set.
     */
    private void setBgType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type value) {
      bgType_ = value.getNumber();
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .enum_bg_type bg_type = 5;</code>
     */
    private void clearBgType() {
      bitField0_ = (bitField0_ & ~0x00000008);
      bgType_ = 0;
    }

    public static final int IS_DEFAULT_BG_FIELD_NUMBER = 6;
    private int isDefaultBg_;
    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     * @return Whether the isDefaultBg field is set.
     */
    @java.lang.Override
    public boolean hasIsDefaultBg() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     * @return The isDefaultBg.
     */
    @java.lang.Override
    public int getIsDefaultBg() {
      return isDefaultBg_;
    }
    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     * @param value The isDefaultBg to set.
     */
    private void setIsDefaultBg(int value) {
      bitField0_ |= 0x00000010;
      isDefaultBg_ = value;
    }
    /**
     * <code>optional uint32 is_default_bg = 6;</code>
     */
    private void clearIsDefaultBg() {
      bitField0_ = (bitField0_ & ~0x00000010);
      isDefaultBg_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code theme_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:theme_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
       * @return Whether the serviceType field is set.
       */
      @java.lang.Override
      public boolean hasServiceType() {
        return instance.hasServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
       * @return The serviceType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
        return instance.getServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
       * @param value The enum numeric value on the wire for serviceType to set.
       * @return This builder for chaining.
       */
      public Builder setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setServiceType(value);
        return this;
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_THEME];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .enum_operate op_code = 2;</code>
       * @return Whether the opCode field is set.
       */
      @java.lang.Override
      public boolean hasOpCode() {
        return instance.hasOpCode();
      }
      /**
       * <code>required .enum_operate op_code = 2;</code>
       * @return The opCode.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate getOpCode() {
        return instance.getOpCode();
      }
      /**
       * <code>required .enum_operate op_code = 2;</code>
       * @param value The enum numeric value on the wire for opCode to set.
       * @return This builder for chaining.
       */
      public Builder setOpCode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate value) {
        copyOnWrite();
        instance.setOpCode(value);
        return this;
      }
      /**
       * <code>required .enum_operate op_code = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearOpCode() {
        copyOnWrite();
        instance.clearOpCode();
        return this;
      }

      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> getThemeInfoList() {
        return java.util.Collections.unmodifiableList(
            instance.getThemeInfoList());
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      @java.lang.Override
      public int getThemeInfoCount() {
        return instance.getThemeInfoCount();
      }/**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg getThemeInfo(int index) {
        return instance.getThemeInfo(index);
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder setThemeInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
        copyOnWrite();
        instance.setThemeInfo(index, value);
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder setThemeInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.setThemeInfo(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder addThemeInfo(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
        copyOnWrite();
        instance.addThemeInfo(value);
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder addThemeInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg value) {
        copyOnWrite();
        instance.addThemeInfo(index, value);
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder addThemeInfo(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addThemeInfo(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder addThemeInfo(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.Builder builderForValue) {
        copyOnWrite();
        instance.addThemeInfo(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder addAllThemeInfo(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg> values) {
        copyOnWrite();
        instance.addAllThemeInfo(values);
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder clearThemeInfo() {
        copyOnWrite();
        instance.clearThemeInfo();
        return this;
      }
      /**
       * <code>repeated .theme_infor_msg theme_info = 3;</code>
       */
      public Builder removeThemeInfo(int index) {
        copyOnWrite();
        instance.removeThemeInfo(index);
        return this;
      }

      /**
       * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
       * @return Whether the darkMode field is set.
       */
      @java.lang.Override
      public boolean hasDarkMode() {
        return instance.hasDarkMode();
      }
      /**
       * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
       * @return The darkMode.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode getDarkMode() {
        return instance.getDarkMode();
      }
      /**
       * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
       * @param value The enum numeric value on the wire for darkMode to set.
       * @return This builder for chaining.
       */
      public Builder setDarkMode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode value) {
        copyOnWrite();
        instance.setDarkMode(value);
        return this;
      }
      /**
       * <code>optional .enum_theme_dark_mode dark_mode = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearDarkMode() {
        copyOnWrite();
        instance.clearDarkMode();
        return this;
      }

      /**
       * <code>optional .enum_bg_type bg_type = 5;</code>
       * @return Whether the bgType field is set.
       */
      @java.lang.Override
      public boolean hasBgType() {
        return instance.hasBgType();
      }
      /**
       * <code>optional .enum_bg_type bg_type = 5;</code>
       * @return The bgType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type getBgType() {
        return instance.getBgType();
      }
      /**
       * <code>optional .enum_bg_type bg_type = 5;</code>
       * @param value The enum numeric value on the wire for bgType to set.
       * @return This builder for chaining.
       */
      public Builder setBgType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type value) {
        copyOnWrite();
        instance.setBgType(value);
        return this;
      }
      /**
       * <code>optional .enum_bg_type bg_type = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearBgType() {
        copyOnWrite();
        instance.clearBgType();
        return this;
      }

      /**
       * <code>optional uint32 is_default_bg = 6;</code>
       * @return Whether the isDefaultBg field is set.
       */
      @java.lang.Override
      public boolean hasIsDefaultBg() {
        return instance.hasIsDefaultBg();
      }
      /**
       * <code>optional uint32 is_default_bg = 6;</code>
       * @return The isDefaultBg.
       */
      @java.lang.Override
      public int getIsDefaultBg() {
        return instance.getIsDefaultBg();
      }
      /**
       * <code>optional uint32 is_default_bg = 6;</code>
       * @param value The isDefaultBg to set.
       * @return This builder for chaining.
       */
      public Builder setIsDefaultBg(int value) {
        copyOnWrite();
        instance.setIsDefaultBg(value);
        return this;
      }
      /**
       * <code>optional uint32 is_default_bg = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsDefaultBg() {
        copyOnWrite();
        instance.clearIsDefaultBg();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:theme_message)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "serviceType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "opCode_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_operate.internalGetVerifier(),
              "themeInfo_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_infor_msg.class,
              "darkMode_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_theme_dark_mode.internalGetVerifier(),
              "bgType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.enum_bg_type.internalGetVerifier(),
              "isDefaultBg_",
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0001\u0003\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u041b\u0004\u100c\u0002\u0005\u100c\u0003\u0006\u100b\u0004";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:theme_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message DEFAULT_INSTANCE;
    static {
      theme_message defaultInstance = new theme_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        theme_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Theme.theme_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<theme_message> PARSER;

    public static com.google.protobuf.Parser<theme_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
