public class java.util.SimpleTimeZone extends java.util.TimeZone
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.SimpleTimeZone
  super_class: java.util.TimeZone
{
  private int startMonth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int startDay;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int startDayOfWeek;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int startTime;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int startTimeMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endMonth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endDay;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endDayOfWeek;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endTime;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endTimeMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int startYear;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int rawOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean useDaylight;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final int millisPerHour;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3600000

  private static final int millisPerDay;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 86400000

  private final byte[] monthLength;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final byte[] staticMonthLength;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] staticLeapMonthLength;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int startMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int dstSavings;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final sun.util.calendar.Gregorian gcal;
    descriptor: Lsun/util/calendar/Gregorian;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile transient java.util.SimpleTimeZone$Cache cache;
    descriptor: Ljava/util/SimpleTimeZone$Cache;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private static final int DOM_MODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DOW_IN_MONTH_MODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int DOW_GE_DOM_MODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int DOW_LE_DOM_MODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int WALL_TIME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int STANDARD_TIME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int UTC_TIME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -403250971215465050

  static final int currentSerialVersion;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private int serialVersionOnStream;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final int MAX_RULE_NUM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 1118
            bipush 12
            newarray 8
            dup
            iconst_0
            bipush 31
            bastore
            dup
            iconst_1
            bipush 28
            bastore
            dup
            iconst_2
            bipush 31
            bastore
            dup
            iconst_3
            bipush 30
            bastore
            dup
            iconst_4
            bipush 31
            bastore
            dup
            iconst_5
            bipush 30
            bastore
            dup
            bipush 6
            bipush 31
            bastore
            dup
            bipush 7
            bipush 31
            bastore
            dup
            bipush 8
            bipush 30
            bastore
            dup
            bipush 9
            bipush 31
            bastore
            dup
            bipush 10
            bipush 30
            bastore
            dup
            bipush 11
            bipush 31
            bastore
            putstatic java.util.SimpleTimeZone.staticMonthLength:[B
         1: .line 1119
            bipush 12
            newarray 8
            dup
            iconst_0
            bipush 31
            bastore
            dup
            iconst_1
            bipush 29
            bastore
            dup
            iconst_2
            bipush 31
            bastore
            dup
            iconst_3
            bipush 30
            bastore
            dup
            iconst_4
            bipush 31
            bastore
            dup
            iconst_5
            bipush 30
            bastore
            dup
            bipush 6
            bipush 31
            bastore
            dup
            bipush 7
            bipush 31
            bastore
            dup
            bipush 8
            bipush 30
            bastore
            dup
            bipush 9
            bipush 31
            bastore
            dup
            bipush 10
            bipush 30
            bastore
            dup
            bipush 11
            bipush 31
            bastore
            putstatic java.util.SimpleTimeZone.staticLeapMonthLength:[B
         2: .line 1189
            invokestatic sun.util.calendar.CalendarSystem.getGregorianCalendar:()Lsun/util/calendar/Gregorian;
            putstatic java.util.SimpleTimeZone.gcal:Lsun/util/calendar/Gregorian;
         3: .line 1280
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int rawOffset
        start local 2 // java.lang.String ID
         0: .line 159
            aload 0 /* this */
            invokespecial java.util.TimeZone.<init>:()V
         1: .line 1104
            aload 0 /* this */
            iconst_0
            putfield java.util.SimpleTimeZone.useDaylight:Z
         2: .line 1117
            aload 0 /* this */
            getstatic java.util.SimpleTimeZone.staticMonthLength:[B
            putfield java.util.SimpleTimeZone.monthLength:[B
         3: .line 1277
            aload 0 /* this */
            iconst_2
            putfield java.util.SimpleTimeZone.serialVersionOnStream:I
         4: .line 161
            aload 0 /* this */
            iload 1 /* rawOffset */
            putfield java.util.SimpleTimeZone.rawOffset:I
         5: .line 162
            aload 0 /* this */
            aload 2 /* ID */
            invokevirtual java.util.SimpleTimeZone.setID:(Ljava/lang/String;)V
         6: .line 163
            aload 0 /* this */
            ldc 3600000
            putfield java.util.SimpleTimeZone.dstSavings:I
         7: .line 164
            return
        end local 2 // java.lang.String ID
        end local 1 // int rawOffset
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljava/util/SimpleTimeZone;
            0    8     1  rawOffset  I
            0    8     2         ID  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      rawOffset  
      ID         

  public void <init>(int, java.lang.String, int, int, int, int, int, int, int, int);
    descriptor: (ILjava/lang/String;IIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=11, args_size=11
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int rawOffset
        start local 2 // java.lang.String ID
        start local 3 // int startMonth
        start local 4 // int startDay
        start local 5 // int startDayOfWeek
        start local 6 // int startTime
        start local 7 // int endMonth
        start local 8 // int endDay
        start local 9 // int endDayOfWeek
        start local 10 // int endTime
         0: .line 219
            aload 0 /* this */
            iload 1 /* rawOffset */
            aload 2 /* ID */
         1: .line 220
            iload 3 /* startMonth */
            iload 4 /* startDay */
            iload 5 /* startDayOfWeek */
            iload 6 /* startTime */
            iconst_0
         2: .line 221
            iload 7 /* endMonth */
            iload 8 /* endDay */
            iload 9 /* endDayOfWeek */
            iload 10 /* endTime */
            iconst_0
         3: .line 222
            ldc 3600000
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;IIIIIIIIIII)V
         4: .line 223
            return
        end local 10 // int endTime
        end local 9 // int endDayOfWeek
        end local 8 // int endDay
        end local 7 // int endMonth
        end local 6 // int startTime
        end local 5 // int startDayOfWeek
        end local 4 // int startDay
        end local 3 // int startMonth
        end local 2 // java.lang.String ID
        end local 1 // int rawOffset
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/util/SimpleTimeZone;
            0    5     1       rawOffset  I
            0    5     2              ID  Ljava/lang/String;
            0    5     3      startMonth  I
            0    5     4        startDay  I
            0    5     5  startDayOfWeek  I
            0    5     6       startTime  I
            0    5     7        endMonth  I
            0    5     8          endDay  I
            0    5     9    endDayOfWeek  I
            0    5    10         endTime  I
    MethodParameters:
                Name  Flags
      rawOffset       
      ID              
      startMonth      
      startDay        
      startDayOfWeek  
      startTime       
      endMonth        
      endDay          
      endDayOfWeek    
      endTime         

  public void <init>(int, java.lang.String, int, int, int, int, int, int, int, int, int);
    descriptor: (ILjava/lang/String;IIIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=12, args_size=12
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int rawOffset
        start local 2 // java.lang.String ID
        start local 3 // int startMonth
        start local 4 // int startDay
        start local 5 // int startDayOfWeek
        start local 6 // int startTime
        start local 7 // int endMonth
        start local 8 // int endDay
        start local 9 // int endDayOfWeek
        start local 10 // int endTime
        start local 11 // int dstSavings
         0: .line 278
            aload 0 /* this */
            iload 1 /* rawOffset */
            aload 2 /* ID */
         1: .line 279
            iload 3 /* startMonth */
            iload 4 /* startDay */
            iload 5 /* startDayOfWeek */
            iload 6 /* startTime */
            iconst_0
         2: .line 280
            iload 7 /* endMonth */
            iload 8 /* endDay */
            iload 9 /* endDayOfWeek */
            iload 10 /* endTime */
            iconst_0
         3: .line 281
            iload 11 /* dstSavings */
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;IIIIIIIIIII)V
         4: .line 282
            return
        end local 11 // int dstSavings
        end local 10 // int endTime
        end local 9 // int endDayOfWeek
        end local 8 // int endDay
        end local 7 // int endMonth
        end local 6 // int startTime
        end local 5 // int startDayOfWeek
        end local 4 // int startDay
        end local 3 // int startMonth
        end local 2 // java.lang.String ID
        end local 1 // int rawOffset
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/util/SimpleTimeZone;
            0    5     1       rawOffset  I
            0    5     2              ID  Ljava/lang/String;
            0    5     3      startMonth  I
            0    5     4        startDay  I
            0    5     5  startDayOfWeek  I
            0    5     6       startTime  I
            0    5     7        endMonth  I
            0    5     8          endDay  I
            0    5     9    endDayOfWeek  I
            0    5    10         endTime  I
            0    5    11      dstSavings  I
    MethodParameters:
                Name  Flags
      rawOffset       
      ID              
      startMonth      
      startDay        
      startDayOfWeek  
      startTime       
      endMonth        
      endDay          
      endDayOfWeek    
      endTime         
      dstSavings      

  public void <init>(int, java.lang.String, int, int, int, int, int, int, int, int, int, int, int);
    descriptor: (ILjava/lang/String;IIIIIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=14
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int rawOffset
        start local 2 // java.lang.String ID
        start local 3 // int startMonth
        start local 4 // int startDay
        start local 5 // int startDayOfWeek
        start local 6 // int startTime
        start local 7 // int startTimeMode
        start local 8 // int endMonth
        start local 9 // int endDay
        start local 10 // int endDayOfWeek
        start local 11 // int endTime
        start local 12 // int endTimeMode
        start local 13 // int dstSavings
         0: .line 329
            aload 0 /* this */
            invokespecial java.util.TimeZone.<init>:()V
         1: .line 1104
            aload 0 /* this */
            iconst_0
            putfield java.util.SimpleTimeZone.useDaylight:Z
         2: .line 1117
            aload 0 /* this */
            getstatic java.util.SimpleTimeZone.staticMonthLength:[B
            putfield java.util.SimpleTimeZone.monthLength:[B
         3: .line 1277
            aload 0 /* this */
            iconst_2
            putfield java.util.SimpleTimeZone.serialVersionOnStream:I
         4: .line 336
            aload 0 /* this */
            aload 2 /* ID */
            invokevirtual java.util.SimpleTimeZone.setID:(Ljava/lang/String;)V
         5: .line 337
            aload 0 /* this */
            iload 1 /* rawOffset */
            putfield java.util.SimpleTimeZone.rawOffset:I
         6: .line 338
            aload 0 /* this */
            iload 3 /* startMonth */
            putfield java.util.SimpleTimeZone.startMonth:I
         7: .line 339
            aload 0 /* this */
            iload 4 /* startDay */
            putfield java.util.SimpleTimeZone.startDay:I
         8: .line 340
            aload 0 /* this */
            iload 5 /* startDayOfWeek */
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
         9: .line 341
            aload 0 /* this */
            iload 6 /* startTime */
            putfield java.util.SimpleTimeZone.startTime:I
        10: .line 342
            aload 0 /* this */
            iload 7 /* startTimeMode */
            putfield java.util.SimpleTimeZone.startTimeMode:I
        11: .line 343
            aload 0 /* this */
            iload 8 /* endMonth */
            putfield java.util.SimpleTimeZone.endMonth:I
        12: .line 344
            aload 0 /* this */
            iload 9 /* endDay */
            putfield java.util.SimpleTimeZone.endDay:I
        13: .line 345
            aload 0 /* this */
            iload 10 /* endDayOfWeek */
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
        14: .line 346
            aload 0 /* this */
            iload 11 /* endTime */
            putfield java.util.SimpleTimeZone.endTime:I
        15: .line 347
            aload 0 /* this */
            iload 12 /* endTimeMode */
            putfield java.util.SimpleTimeZone.endTimeMode:I
        16: .line 348
            aload 0 /* this */
            iload 13 /* dstSavings */
            putfield java.util.SimpleTimeZone.dstSavings:I
        17: .line 351
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.decodeRules:()V
        18: .line 352
            iload 13 /* dstSavings */
            ifgt 20
        19: .line 353
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal daylight saving value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* dstSavings */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 355
      StackMap locals: java.util.SimpleTimeZone int java.lang.String int int int int int int int int int int int
      StackMap stack:
            return
        end local 13 // int dstSavings
        end local 12 // int endTimeMode
        end local 11 // int endTime
        end local 10 // int endDayOfWeek
        end local 9 // int endDay
        end local 8 // int endMonth
        end local 7 // int startTimeMode
        end local 6 // int startTime
        end local 5 // int startDayOfWeek
        end local 4 // int startDay
        end local 3 // int startMonth
        end local 2 // java.lang.String ID
        end local 1 // int rawOffset
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Ljava/util/SimpleTimeZone;
            0   21     1       rawOffset  I
            0   21     2              ID  Ljava/lang/String;
            0   21     3      startMonth  I
            0   21     4        startDay  I
            0   21     5  startDayOfWeek  I
            0   21     6       startTime  I
            0   21     7   startTimeMode  I
            0   21     8        endMonth  I
            0   21     9          endDay  I
            0   21    10    endDayOfWeek  I
            0   21    11         endTime  I
            0   21    12     endTimeMode  I
            0   21    13      dstSavings  I
    MethodParameters:
                Name  Flags
      rawOffset       
      ID              
      startMonth      
      startDay        
      startDayOfWeek  
      startTime       
      startTimeMode   
      endMonth        
      endDay          
      endDayOfWeek    
      endTime         
      endTimeMode     
      dstSavings      

  public void setStartYear(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int year
         0: .line 364
            aload 0 /* this */
            iload 1 /* year */
            putfield java.util.SimpleTimeZone.startYear:I
         1: .line 365
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.invalidateCache:()V
         2: .line 366
            return
        end local 1 // int year
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/SimpleTimeZone;
            0    3     1  year  I
    MethodParameters:
      Name  Flags
      year  

  public void setStartRule(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int startMonth
        start local 2 // int startDay
        start local 3 // int startDayOfWeek
        start local 4 // int startTime
         0: .line 388
            aload 0 /* this */
            iload 1 /* startMonth */
            putfield java.util.SimpleTimeZone.startMonth:I
         1: .line 389
            aload 0 /* this */
            iload 2 /* startDay */
            putfield java.util.SimpleTimeZone.startDay:I
         2: .line 390
            aload 0 /* this */
            iload 3 /* startDayOfWeek */
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
         3: .line 391
            aload 0 /* this */
            iload 4 /* startTime */
            putfield java.util.SimpleTimeZone.startTime:I
         4: .line 392
            aload 0 /* this */
            iconst_0
            putfield java.util.SimpleTimeZone.startTimeMode:I
         5: .line 393
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.decodeStartRule:()V
         6: .line 394
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.invalidateCache:()V
         7: .line 395
            return
        end local 4 // int startTime
        end local 3 // int startDayOfWeek
        end local 2 // int startDay
        end local 1 // int startMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Ljava/util/SimpleTimeZone;
            0    8     1      startMonth  I
            0    8     2        startDay  I
            0    8     3  startDayOfWeek  I
            0    8     4       startTime  I
    MethodParameters:
                Name  Flags
      startMonth      
      startDay        
      startDayOfWeek  
      startTime       

  public void setStartRule(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int startMonth
        start local 2 // int startDay
        start local 3 // int startTime
         0: .line 414
            aload 0 /* this */
            iload 1 /* startMonth */
            iload 2 /* startDay */
            iconst_0
            iload 3 /* startTime */
            invokevirtual java.util.SimpleTimeZone.setStartRule:(IIII)V
         1: .line 415
            return
        end local 3 // int startTime
        end local 2 // int startDay
        end local 1 // int startMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljava/util/SimpleTimeZone;
            0    2     1  startMonth  I
            0    2     2    startDay  I
            0    2     3   startTime  I
    MethodParameters:
            Name  Flags
      startMonth  
      startDay    
      startTime   

  public void setStartRule(int, int, int, int, boolean);
    descriptor: (IIIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int startMonth
        start local 2 // int startDay
        start local 3 // int startDayOfWeek
        start local 4 // int startTime
        start local 5 // boolean after
         0: .line 440
            iload 5 /* after */
            ifeq 3
         1: .line 441
            aload 0 /* this */
            iload 1 /* startMonth */
            iload 2 /* startDay */
            iload 3 /* startDayOfWeek */
            ineg
            iload 4 /* startTime */
            invokevirtual java.util.SimpleTimeZone.setStartRule:(IIII)V
         2: .line 442
            goto 4
         3: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* startMonth */
            iload 2 /* startDay */
            ineg
            iload 3 /* startDayOfWeek */
            ineg
            iload 4 /* startTime */
            invokevirtual java.util.SimpleTimeZone.setStartRule:(IIII)V
         4: .line 445
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean after
        end local 4 // int startTime
        end local 3 // int startDayOfWeek
        end local 2 // int startDay
        end local 1 // int startMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/util/SimpleTimeZone;
            0    5     1      startMonth  I
            0    5     2        startDay  I
            0    5     3  startDayOfWeek  I
            0    5     4       startTime  I
            0    5     5           after  Z
    MethodParameters:
                Name  Flags
      startMonth      
      startDay        
      startDayOfWeek  
      startTime       
      after           

  public void setEndRule(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int endMonth
        start local 2 // int endDay
        start local 3 // int endDayOfWeek
        start local 4 // int endTime
         0: .line 469
            aload 0 /* this */
            iload 1 /* endMonth */
            putfield java.util.SimpleTimeZone.endMonth:I
         1: .line 470
            aload 0 /* this */
            iload 2 /* endDay */
            putfield java.util.SimpleTimeZone.endDay:I
         2: .line 471
            aload 0 /* this */
            iload 3 /* endDayOfWeek */
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
         3: .line 472
            aload 0 /* this */
            iload 4 /* endTime */
            putfield java.util.SimpleTimeZone.endTime:I
         4: .line 473
            aload 0 /* this */
            iconst_0
            putfield java.util.SimpleTimeZone.endTimeMode:I
         5: .line 474
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.decodeEndRule:()V
         6: .line 475
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.invalidateCache:()V
         7: .line 476
            return
        end local 4 // int endTime
        end local 3 // int endDayOfWeek
        end local 2 // int endDay
        end local 1 // int endMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljava/util/SimpleTimeZone;
            0    8     1      endMonth  I
            0    8     2        endDay  I
            0    8     3  endDayOfWeek  I
            0    8     4       endTime  I
    MethodParameters:
              Name  Flags
      endMonth      
      endDay        
      endDayOfWeek  
      endTime       

  public void setEndRule(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int endMonth
        start local 2 // int endDay
        start local 3 // int endTime
         0: .line 496
            aload 0 /* this */
            iload 1 /* endMonth */
            iload 2 /* endDay */
            iconst_0
            iload 3 /* endTime */
            invokevirtual java.util.SimpleTimeZone.setEndRule:(IIII)V
         1: .line 497
            return
        end local 3 // int endTime
        end local 2 // int endDay
        end local 1 // int endMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/util/SimpleTimeZone;
            0    2     1  endMonth  I
            0    2     2    endDay  I
            0    2     3   endTime  I
    MethodParameters:
          Name  Flags
      endMonth  
      endDay    
      endTime   

  public void setEndRule(int, int, int, int, boolean);
    descriptor: (IIIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int endMonth
        start local 2 // int endDay
        start local 3 // int endDayOfWeek
        start local 4 // int endTime
        start local 5 // boolean after
         0: .line 521
            iload 5 /* after */
            ifeq 3
         1: .line 522
            aload 0 /* this */
            iload 1 /* endMonth */
            iload 2 /* endDay */
            iload 3 /* endDayOfWeek */
            ineg
            iload 4 /* endTime */
            invokevirtual java.util.SimpleTimeZone.setEndRule:(IIII)V
         2: .line 523
            goto 4
         3: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* endMonth */
            iload 2 /* endDay */
            ineg
            iload 3 /* endDayOfWeek */
            ineg
            iload 4 /* endTime */
            invokevirtual java.util.SimpleTimeZone.setEndRule:(IIII)V
         4: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean after
        end local 4 // int endTime
        end local 3 // int endDayOfWeek
        end local 2 // int endDay
        end local 1 // int endMonth
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljava/util/SimpleTimeZone;
            0    5     1      endMonth  I
            0    5     2        endDay  I
            0    5     3  endDayOfWeek  I
            0    5     4       endTime  I
            0    5     5         after  Z
    MethodParameters:
              Name  Flags
      endMonth      
      endDay        
      endDayOfWeek  
      endTime       
      after         

  public int getOffset(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // long date
         0: .line 540
            aload 0 /* this */
            lload 1 /* date */
            aconst_null
            invokevirtual java.util.SimpleTimeZone.getOffsets:(J[I)I
            ireturn
        end local 1 // long date
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/SimpleTimeZone;
            0    1     1  date  J
    MethodParameters:
      Name  Flags
      date  

  int getOffsets(long, int[]);
    descriptor: (J[I)I
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // long date
        start local 3 // int[] offsets
         0: .line 547
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            istore 4 /* offset */
        start local 4 // int offset
         1: .line 550
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            ifeq 17
         2: .line 551
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.cache:Ljava/util/SimpleTimeZone$Cache;
            astore 5 /* cache */
        start local 5 // java.util.SimpleTimeZone$Cache cache
         3: .line 552
            aload 5 /* cache */
            ifnull 7
         4: .line 553
            lload 1 /* date */
            aload 5 /* cache */
            getfield java.util.SimpleTimeZone$Cache.start:J
            lcmp
            iflt 7
            lload 1 /* date */
            aload 5 /* cache */
            getfield java.util.SimpleTimeZone$Cache.end:J
            lcmp
            ifge 7
         5: .line 554
            iload 4 /* offset */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            istore 4 /* offset */
         6: .line 555
            goto 17
         7: .line 558
      StackMap locals: int java.util.SimpleTimeZone$Cache
      StackMap stack:
            lload 1 /* date */
            ldc -12219292800000
            lcmp
            iflt 9
         8: .line 559
            getstatic java.util.SimpleTimeZone.gcal:Lsun/util/calendar/Gregorian;
            goto 10
      StackMap locals:
      StackMap stack:
         9: ldc "julian"
            invokestatic sun.util.calendar.CalendarSystem.forName:(Ljava/lang/String;)Lsun/util/calendar/CalendarSystem;
            checkcast sun.util.calendar.BaseCalendar
        10: .line 558
      StackMap locals:
      StackMap stack: sun.util.calendar.BaseCalendar
            astore 6 /* cal */
        start local 6 // sun.util.calendar.BaseCalendar cal
        11: .line 560
            aload 6 /* cal */
            getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
            invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 7 /* cdate */
        start local 7 // sun.util.calendar.BaseCalendar$Date cdate
        12: .line 562
            aload 6 /* cal */
            lload 1 /* date */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            i2l
            ladd
            aload 7 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getCalendarDate:(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
            pop
        13: .line 563
            aload 7 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
            istore 8 /* year */
        start local 8 // int year
        14: .line 564
            iload 8 /* year */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startYear:I
            if_icmplt 17
        15: .line 566
            aload 7 /* cdate */
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual sun.util.calendar.BaseCalendar$Date.setTimeOfDay:(IIII)Lsun/util/calendar/CalendarDate;
            pop
        16: .line 567
            aload 0 /* this */
            aload 6 /* cal */
            aload 7 /* cdate */
            iload 8 /* year */
            lload 1 /* date */
            invokevirtual java.util.SimpleTimeZone.getOffset:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IJ)I
            istore 4 /* offset */
        end local 8 // int year
        end local 7 // sun.util.calendar.BaseCalendar$Date cdate
        end local 6 // sun.util.calendar.BaseCalendar cal
        end local 5 // java.util.SimpleTimeZone$Cache cache
        17: .line 571
      StackMap locals:
      StackMap stack:
            aload 3 /* offsets */
            ifnull 20
        18: .line 572
            aload 3 /* offsets */
            iconst_0
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            iastore
        19: .line 573
            aload 3 /* offsets */
            iconst_1
            iload 4 /* offset */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            isub
            iastore
        20: .line 575
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            ireturn
        end local 4 // int offset
        end local 3 // int[] offsets
        end local 1 // long date
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Ljava/util/SimpleTimeZone;
            0   21     1     date  J
            0   21     3  offsets  [I
            1   21     4   offset  I
            3   17     5    cache  Ljava/util/SimpleTimeZone$Cache;
           11   17     6      cal  Lsun/util/calendar/BaseCalendar;
           12   17     7    cdate  Lsun/util/calendar/BaseCalendar$Date;
           14   17     8     year  I
    MethodParameters:
         Name  Flags
      date     
      offsets  

  public int getOffset(int, int, int, int, int, int);
    descriptor: (IIIIII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=7
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int era
        start local 2 // int year
        start local 3 // int month
        start local 4 // int day
        start local 5 // int dayOfWeek
        start local 6 // int millis
         0: .line 607
            iload 1 /* era */
            iconst_1
            if_icmpeq 2
            iload 1 /* era */
            ifeq 2
         1: .line 608
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal era "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* era */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 611
      StackMap locals:
      StackMap stack:
            iload 2 /* year */
            istore 7 /* y */
        start local 7 // int y
         3: .line 612
            iload 1 /* era */
            ifne 5
         4: .line 614
            iconst_1
            iload 7 /* y */
            isub
            istore 7 /* y */
         5: .line 622
      StackMap locals: int
      StackMap stack:
            iload 7 /* y */
            ldc 292278994
            if_icmplt 8
         6: .line 623
            sipush 2800
            iload 7 /* y */
            sipush 2800
            irem
            iadd
            istore 7 /* y */
         7: .line 624
            goto 10
      StackMap locals:
      StackMap stack:
         8: iload 7 /* y */
            ldc -292269054
            if_icmpgt 10
         9: .line 628
            iload 7 /* y */
            i2l
            ldc 28
            invokestatic sun.util.calendar.CalendarUtils.mod:(JJ)J
            l2i
            istore 7 /* y */
        10: .line 632
      StackMap locals:
      StackMap stack:
            iload 3 /* month */
            iconst_1
            iadd
            istore 8 /* m */
        start local 8 // int m
        11: .line 635
            getstatic java.util.SimpleTimeZone.gcal:Lsun/util/calendar/Gregorian;
            astore 9 /* cal */
        start local 9 // sun.util.calendar.BaseCalendar cal
        12: .line 636
            aload 9 /* cal */
            getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
            invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 10 /* cdate */
        start local 10 // sun.util.calendar.BaseCalendar$Date cdate
        13: .line 637
            aload 10 /* cdate */
            iload 7 /* y */
            iload 8 /* m */
            iload 4 /* day */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDate:(III)Lsun/util/calendar/CalendarDate;
            pop
        14: .line 638
            aload 9 /* cal */
            aload 10 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
            lstore 11 /* time */
        start local 11 // long time
        15: .line 639
            lload 11 /* time */
            iload 6 /* millis */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            isub
            i2l
            ladd
            lstore 11 /* time */
        16: .line 647
            lload 11 /* time */
            ldc -12219292800000
            lcmp
            ifge 21
        17: .line 648
            ldc "julian"
            invokestatic sun.util.calendar.CalendarSystem.forName:(Ljava/lang/String;)Lsun/util/calendar/CalendarSystem;
            checkcast sun.util.calendar.BaseCalendar
            astore 9 /* cal */
        18: .line 649
            aload 9 /* cal */
            getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
            invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 10 /* cdate */
        19: .line 650
            aload 10 /* cdate */
            iload 7 /* y */
            iload 8 /* m */
            iload 4 /* day */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setNormalizedDate:(III)Lsun/util/calendar/BaseCalendar$Date;
            pop
        20: .line 651
            aload 9 /* cal */
            aload 10 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
            iload 6 /* millis */
            i2l
            ladd
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            i2l
            lsub
            lstore 11 /* time */
        21: .line 654
      StackMap locals: java.util.SimpleTimeZone int int int int int int int int sun.util.calendar.BaseCalendar sun.util.calendar.BaseCalendar$Date long
      StackMap stack:
            aload 10 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
            iload 7 /* y */
            if_icmpne 26
        22: .line 655
            aload 10 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
            iload 8 /* m */
            if_icmpne 26
        23: .line 656
            aload 10 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
            iload 4 /* day */
            if_icmpne 26
        24: .line 660
            iload 5 /* dayOfWeek */
            iconst_1
            if_icmplt 26
            iload 5 /* dayOfWeek */
            bipush 7
            if_icmpgt 26
        25: .line 661
            iload 6 /* millis */
            iflt 26
            iload 6 /* millis */
            ldc 86400000
            if_icmplt 27
        26: .line 662
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        27: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            ifeq 28
            iload 2 /* year */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startYear:I
            if_icmplt 28
            iload 1 /* era */
            iconst_1
            if_icmpeq 29
        28: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            ireturn
        29: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* cal */
            aload 10 /* cdate */
            iload 7 /* y */
            lload 11 /* time */
            invokevirtual java.util.SimpleTimeZone.getOffset:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IJ)I
            ireturn
        end local 11 // long time
        end local 10 // sun.util.calendar.BaseCalendar$Date cdate
        end local 9 // sun.util.calendar.BaseCalendar cal
        end local 8 // int m
        end local 7 // int y
        end local 6 // int millis
        end local 5 // int dayOfWeek
        end local 4 // int day
        end local 3 // int month
        end local 2 // int year
        end local 1 // int era
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0       this  Ljava/util/SimpleTimeZone;
            0   30     1        era  I
            0   30     2       year  I
            0   30     3      month  I
            0   30     4        day  I
            0   30     5  dayOfWeek  I
            0   30     6     millis  I
            3   30     7          y  I
           11   30     8          m  I
           12   30     9        cal  Lsun/util/calendar/BaseCalendar;
           13   30    10      cdate  Lsun/util/calendar/BaseCalendar$Date;
           15   30    11       time  J
    MethodParameters:
           Name  Flags
      era        
      year       
      month      
      day        
      dayOfWeek  
      millis     

  private int getOffset(sun.util.calendar.BaseCalendar, sun.util.calendar.BaseCalendar$Date, int, long);
    descriptor: (Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IJ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=5
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // sun.util.calendar.BaseCalendar cal
        start local 2 // sun.util.calendar.BaseCalendar$Date cdate
        start local 3 // int year
        start local 4 // long time
         0: .line 673
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.cache:Ljava/util/SimpleTimeZone$Cache;
            astore 6 /* cache */
        start local 6 // java.util.SimpleTimeZone$Cache cache
         1: .line 674
            aload 6 /* cache */
            ifnull 6
         2: .line 675
            lload 4 /* time */
            aload 6 /* cache */
            getfield java.util.SimpleTimeZone$Cache.start:J
            lcmp
            iflt 4
            lload 4 /* time */
            aload 6 /* cache */
            getfield java.util.SimpleTimeZone$Cache.end:J
            lcmp
            ifge 4
         3: .line 676
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            ireturn
         4: .line 678
      StackMap locals: java.util.SimpleTimeZone$Cache
      StackMap stack:
            iload 3 /* year */
            i2l
            aload 6 /* cache */
            getfield java.util.SimpleTimeZone$Cache.year:J
            lcmp
            ifne 6
         5: .line 679
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            ireturn
         6: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            iload 3 /* year */
            invokevirtual java.util.SimpleTimeZone.getStart:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
            lstore 7 /* start */
        start local 7 // long start
         7: .line 684
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            iload 3 /* year */
            invokevirtual java.util.SimpleTimeZone.getEnd:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
            lstore 9 /* end */
        start local 9 // long end
         8: .line 685
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            istore 11 /* offset */
        start local 11 // int offset
         9: .line 686
            lload 7 /* start */
            lload 9 /* end */
            lcmp
            ifgt 14
        10: .line 687
            lload 4 /* time */
            lload 7 /* start */
            lcmp
            iflt 12
            lload 4 /* time */
            lload 9 /* end */
            lcmp
            ifge 12
        11: .line 688
            iload 11 /* offset */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            istore 11 /* offset */
        12: .line 690
      StackMap locals: long long int
      StackMap stack:
            aload 0 /* this */
            new java.util.SimpleTimeZone$Cache
            dup
            iload 3 /* year */
            i2l
            lload 7 /* start */
            lload 9 /* end */
            invokespecial java.util.SimpleTimeZone$Cache.<init>:(JJJ)V
            putfield java.util.SimpleTimeZone.cache:Ljava/util/SimpleTimeZone$Cache;
        13: .line 691
            goto 25
        14: .line 692
      StackMap locals:
      StackMap stack:
            lload 4 /* time */
            lload 9 /* end */
            lcmp
            ifge 19
        15: .line 695
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            iload 3 /* year */
            iconst_1
            isub
            invokevirtual java.util.SimpleTimeZone.getStart:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
            lstore 7 /* start */
        16: .line 696
            lload 4 /* time */
            lload 7 /* start */
            lcmp
            iflt 23
        17: .line 697
            iload 11 /* offset */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            istore 11 /* offset */
        18: .line 699
            goto 23
      StackMap locals:
      StackMap stack:
        19: lload 4 /* time */
            lload 7 /* start */
            lcmp
            iflt 23
        20: .line 702
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            iload 3 /* year */
            iconst_1
            iadd
            invokevirtual java.util.SimpleTimeZone.getEnd:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
            lstore 9 /* end */
        21: .line 703
            lload 4 /* time */
            lload 9 /* end */
            lcmp
            ifge 23
        22: .line 704
            iload 11 /* offset */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            istore 11 /* offset */
        23: .line 707
      StackMap locals:
      StackMap stack:
            lload 7 /* start */
            lload 9 /* end */
            lcmp
            ifgt 25
        24: .line 708
            aload 0 /* this */
            new java.util.SimpleTimeZone$Cache
            dup
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startYear:I
            i2l
            lconst_1
            lsub
            lload 7 /* start */
            lload 9 /* end */
            invokespecial java.util.SimpleTimeZone$Cache.<init>:(JJJ)V
            putfield java.util.SimpleTimeZone.cache:Ljava/util/SimpleTimeZone$Cache;
        25: .line 711
      StackMap locals:
      StackMap stack:
            iload 11 /* offset */
            ireturn
        end local 11 // int offset
        end local 9 // long end
        end local 7 // long start
        end local 6 // java.util.SimpleTimeZone$Cache cache
        end local 4 // long time
        end local 3 // int year
        end local 2 // sun.util.calendar.BaseCalendar$Date cdate
        end local 1 // sun.util.calendar.BaseCalendar cal
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Ljava/util/SimpleTimeZone;
            0   26     1     cal  Lsun/util/calendar/BaseCalendar;
            0   26     2   cdate  Lsun/util/calendar/BaseCalendar$Date;
            0   26     3    year  I
            0   26     4    time  J
            1   26     6   cache  Ljava/util/SimpleTimeZone$Cache;
            7   26     7   start  J
            8   26     9     end  J
            9   26    11  offset  I
    MethodParameters:
       Name  Flags
      cal    
      cdate  
      year   
      time   

  private long getStart(sun.util.calendar.BaseCalendar, sun.util.calendar.BaseCalendar$Date, int);
    descriptor: (Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // sun.util.calendar.BaseCalendar cal
        start local 2 // sun.util.calendar.BaseCalendar$Date cdate
        start local 3 // int year
         0: .line 715
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            istore 4 /* time */
        start local 4 // int time
         1: .line 716
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            iconst_2
            if_icmpeq 3
         2: .line 717
            iload 4 /* time */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            isub
            istore 4 /* time */
         3: .line 719
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMode:I
            iload 3 /* year */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
         4: .line 720
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            iload 4 /* time */
         5: .line 719
            invokevirtual java.util.SimpleTimeZone.getTransition:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IIIIII)J
            lreturn
        end local 4 // int time
        end local 3 // int year
        end local 2 // sun.util.calendar.BaseCalendar$Date cdate
        end local 1 // sun.util.calendar.BaseCalendar cal
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljava/util/SimpleTimeZone;
            0    6     1    cal  Lsun/util/calendar/BaseCalendar;
            0    6     2  cdate  Lsun/util/calendar/BaseCalendar$Date;
            0    6     3   year  I
            1    6     4   time  I
    MethodParameters:
       Name  Flags
      cal    
      cdate  
      year   

  private long getEnd(sun.util.calendar.BaseCalendar, sun.util.calendar.BaseCalendar$Date, int);
    descriptor: (Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // sun.util.calendar.BaseCalendar cal
        start local 2 // sun.util.calendar.BaseCalendar$Date cdate
        start local 3 // int year
         0: .line 724
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            istore 4 /* time */
        start local 4 // int time
         1: .line 725
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            iconst_2
            if_icmpeq 3
         2: .line 726
            iload 4 /* time */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            isub
            istore 4 /* time */
         3: .line 728
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            ifne 5
         4: .line 729
            iload 4 /* time */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            isub
            istore 4 /* time */
         5: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cal */
            aload 2 /* cdate */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMode:I
            iload 3 /* year */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
         6: .line 732
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            iload 4 /* time */
         7: .line 731
            invokevirtual java.util.SimpleTimeZone.getTransition:(Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IIIIII)J
            lreturn
        end local 4 // int time
        end local 3 // int year
        end local 2 // sun.util.calendar.BaseCalendar$Date cdate
        end local 1 // sun.util.calendar.BaseCalendar cal
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/util/SimpleTimeZone;
            0    8     1    cal  Lsun/util/calendar/BaseCalendar;
            0    8     2  cdate  Lsun/util/calendar/BaseCalendar$Date;
            0    8     3   year  I
            1    8     4   time  I
    MethodParameters:
       Name  Flags
      cal    
      cdate  
      year   

  private long getTransition(sun.util.calendar.BaseCalendar, sun.util.calendar.BaseCalendar$Date, int, int, int, int, int, int);
    descriptor: (Lsun/util/calendar/BaseCalendar;Lsun/util/calendar/BaseCalendar$Date;IIIIII)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=9
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // sun.util.calendar.BaseCalendar cal
        start local 2 // sun.util.calendar.BaseCalendar$Date cdate
        start local 3 // int mode
        start local 4 // int year
        start local 5 // int month
        start local 6 // int dayOfMonth
        start local 7 // int dayOfWeek
        start local 8 // int timeOfDay
         0: .line 738
            aload 2 /* cdate */
            iload 4 /* year */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setNormalizedYear:(I)V
         1: .line 739
            aload 2 /* cdate */
            iload 5 /* month */
            iconst_1
            iadd
            invokevirtual sun.util.calendar.BaseCalendar$Date.setMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
         2: .line 740
            iload 3 /* mode */
            tableswitch { // 1 - 4
                    1: 3
                    2: 5
                    3: 10
                    4: 13
              default: 15
          }
         3: .line 742
      StackMap locals:
      StackMap stack:
            aload 2 /* cdate */
            iload 6 /* dayOfMonth */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
         4: .line 743
            goto 15
         5: .line 746
      StackMap locals:
      StackMap stack:
            aload 2 /* cdate */
            iconst_1
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
         6: .line 747
            iload 6 /* dayOfMonth */
            ifge 8
         7: .line 748
            aload 2 /* cdate */
            aload 1 /* cal */
            aload 2 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
         8: .line 750
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            iload 6 /* dayOfMonth */
            iload 7 /* dayOfWeek */
            aload 2 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getNthDayOfWeek:(IILsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 2 /* cdate */
         9: .line 751
            goto 15
        10: .line 754
      StackMap locals:
      StackMap stack:
            aload 2 /* cdate */
            iload 6 /* dayOfMonth */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
        11: .line 755
            aload 1 /* cal */
            iconst_1
            iload 7 /* dayOfWeek */
            aload 2 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getNthDayOfWeek:(IILsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 2 /* cdate */
        12: .line 756
            goto 15
        13: .line 759
      StackMap locals:
      StackMap stack:
            aload 2 /* cdate */
            iload 6 /* dayOfMonth */
            invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
            pop
        14: .line 760
            aload 1 /* cal */
            iconst_m1
            iload 7 /* dayOfWeek */
            aload 2 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getNthDayOfWeek:(IILsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
            checkcast sun.util.calendar.BaseCalendar$Date
            astore 2 /* cdate */
        15: .line 763
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            aload 2 /* cdate */
            invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
            iload 8 /* timeOfDay */
            i2l
            ladd
            lreturn
        end local 8 // int timeOfDay
        end local 7 // int dayOfWeek
        end local 6 // int dayOfMonth
        end local 5 // int month
        end local 4 // int year
        end local 3 // int mode
        end local 2 // sun.util.calendar.BaseCalendar$Date cdate
        end local 1 // sun.util.calendar.BaseCalendar cal
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljava/util/SimpleTimeZone;
            0   16     1         cal  Lsun/util/calendar/BaseCalendar;
            0   16     2       cdate  Lsun/util/calendar/BaseCalendar$Date;
            0   16     3        mode  I
            0   16     4        year  I
            0   16     5       month  I
            0   16     6  dayOfMonth  I
            0   16     7   dayOfWeek  I
            0   16     8   timeOfDay  I
    MethodParameters:
            Name  Flags
      cal         
      cdate       
      mode        
      year        
      month       
      dayOfMonth  
      dayOfWeek   
      timeOfDay   

  public int getRawOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 775
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            ireturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/SimpleTimeZone;

  public void setRawOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int offsetMillis
         0: .line 785
            aload 0 /* this */
            iload 1 /* offsetMillis */
            putfield java.util.SimpleTimeZone.rawOffset:I
         1: .line 786
            return
        end local 1 // int offsetMillis
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/util/SimpleTimeZone;
            0    2     1  offsetMillis  I
    MethodParameters:
              Name  Flags
      offsetMillis  

  public void setDSTSavings(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int millisSavedDuringDST
         0: .line 798
            iload 1 /* millisSavedDuringDST */
            ifgt 4
         1: .line 799
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal daylight saving value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 800
            iload 1 /* millisSavedDuringDST */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 799
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* millisSavedDuringDST */
            putfield java.util.SimpleTimeZone.dstSavings:I
         5: .line 803
            return
        end local 1 // int millisSavedDuringDST
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Ljava/util/SimpleTimeZone;
            0    6     1  millisSavedDuringDST  I
    MethodParameters:
                      Name  Flags
      millisSavedDuringDST  

  public int getDSTSavings();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 818
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            ifeq 1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/SimpleTimeZone;

  public boolean useDaylightTime();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 828
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            ireturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/SimpleTimeZone;

  public boolean observesDaylightTime();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 842
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.useDaylightTime:()Z
            ireturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/SimpleTimeZone;

  public boolean inDaylightTime(java.util.Date);
    descriptor: (Ljava/util/Date;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // java.util.Date date
         0: .line 852
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.util.SimpleTimeZone.getOffset:(J)I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.util.Date date
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/SimpleTimeZone;
            0    2     1  date  Ljava/util/Date;
    MethodParameters:
      Name  Flags
      date  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 861
            aload 0 /* this */
            invokespecial java.util.TimeZone.clone:()Ljava/lang/Object;
            areturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/SimpleTimeZone;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 870
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ixor
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            ixor
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            ixor
         1: .line 871
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
         2: .line 870
            ixor
         3: .line 871
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
         4: .line 870
            ixor
         5: .line 871
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
         6: .line 870
            ixor
         7: .line 871
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
         8: .line 870
            ixor
         9: .line 871
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
        10: .line 870
            ixor
            ireturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/SimpleTimeZone;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // java.lang.Object obj
         0: .line 883
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 884
            iconst_1
            ireturn
         2: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.SimpleTimeZone
            ifne 4
         3: .line 887
            iconst_0
            ireturn
         4: .line 890
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast java.util.SimpleTimeZone
            astore 2 /* that */
        start local 2 // java.util.SimpleTimeZone that
         5: .line 892
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.getID:()Ljava/lang/String;
            aload 2 /* that */
            invokevirtual java.util.SimpleTimeZone.getID:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 893
            aload 0 /* this */
            aload 2 /* that */
            invokevirtual java.util.SimpleTimeZone.hasSameRules:(Ljava/util/TimeZone;)Z
            ifeq 8
         7: .line 892
            iconst_1
            ireturn
      StackMap locals: java.util.SimpleTimeZone
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // java.util.SimpleTimeZone that
        end local 1 // java.lang.Object obj
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/SimpleTimeZone;
            0    9     1   obj  Ljava/lang/Object;
            5    9     2  that  Ljava/util/SimpleTimeZone;
    MethodParameters:
      Name  Flags
      obj   

  public boolean hasSameRules(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // java.util.TimeZone other
         0: .line 904
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 905
            iconst_1
            ireturn
         2: .line 907
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof java.util.SimpleTimeZone
            ifne 4
         3: .line 908
            iconst_0
            ireturn
         4: .line 910
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast java.util.SimpleTimeZone
            astore 2 /* that */
        start local 2 // java.util.SimpleTimeZone that
         5: .line 911
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.rawOffset:I
            if_icmpne 23
         6: .line 912
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            if_icmpne 23
         7: .line 913
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            ifeq 22
         8: .line 915
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.dstSavings:I
            if_icmpne 23
         9: .line 916
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMode:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startMode:I
            if_icmpne 23
        10: .line 917
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startMonth:I
            if_icmpne 23
        11: .line 918
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startDay:I
            if_icmpne 23
        12: .line 919
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            if_icmpne 23
        13: .line 920
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startTime:I
            if_icmpne 23
        14: .line 921
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            if_icmpne 23
        15: .line 922
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMode:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endMode:I
            if_icmpne 23
        16: .line 923
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endMonth:I
            if_icmpne 23
        17: .line 924
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endDay:I
            if_icmpne 23
        18: .line 925
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            if_icmpne 23
        19: .line 926
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endTime:I
            if_icmpne 23
        20: .line 927
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            if_icmpne 23
        21: .line 928
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startYear:I
            aload 2 /* that */
            getfield java.util.SimpleTimeZone.startYear:I
            if_icmpne 23
        22: .line 911
      StackMap locals: java.util.SimpleTimeZone
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        23: iconst_0
            ireturn
        end local 2 // java.util.SimpleTimeZone that
        end local 1 // java.util.TimeZone other
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   this  Ljava/util/SimpleTimeZone;
            0   24     1  other  Ljava/util/TimeZone;
            5   24     2   that  Ljava/util/SimpleTimeZone;
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 936
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 937
            ldc "[id="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.getID:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 938
            ldc ",offset="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 939
            ldc ",dstSavings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 940
            ldc ",useDaylight="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.useDaylight:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         5: .line 941
            ldc ",startYear="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startYear:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 942
            ldc ",startMode="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 943
            ldc ",startMonth="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 944
            ldc ",startDay="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 945
            ldc ",startDayOfWeek="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 946
            ldc ",startTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        11: .line 947
            ldc ",startTimeMode="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 948
            ldc ",endMode="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        13: .line 949
            ldc ",endMonth="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 950
            ldc ",endDay="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 951
            ldc ",endDayOfWeek="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        16: .line 952
            ldc ",endTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 953
            ldc ",endTimeMode="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        18: .line 936
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljava/util/SimpleTimeZone;

  private void invalidateCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1283
            aload 0 /* this */
            aconst_null
            putfield java.util.SimpleTimeZone.cache:Ljava/util/SimpleTimeZone$Cache;
         1: .line 1284
            return
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/SimpleTimeZone;

  private void decodeRules();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1351
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.decodeStartRule:()V
         1: .line 1352
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.decodeEndRule:()V
         2: .line 1353
            return
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/SimpleTimeZone;

  private void decodeStartRule();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1380
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ifeq 1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.util.SimpleTimeZone
         1: iconst_0
      StackMap locals: java.util.SimpleTimeZone
      StackMap stack: java.util.SimpleTimeZone int
         2: putfield java.util.SimpleTimeZone.useDaylight:Z
         3: .line 1381
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ifeq 37
         4: .line 1382
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            iflt 5
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            bipush 11
            if_icmple 8
         5: .line 1383
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         6: .line 1384
            new java.lang.StringBuilder
            dup
            ldc "Illegal start month "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1383
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            iflt 9
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            ldc 86400000
            if_icmple 12
         9: .line 1387
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        10: .line 1388
            new java.lang.StringBuilder
            dup
            ldc "Illegal start time "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1387
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            ifne 15
        13: .line 1391
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.startMode:I
        14: .line 1392
            goto 28
        15: .line 1393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            ifle 18
        16: .line 1394
            aload 0 /* this */
            iconst_2
            putfield java.util.SimpleTimeZone.startMode:I
        17: .line 1395
            goto 24
        18: .line 1396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            ineg
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
        19: .line 1397
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ifle 22
        20: .line 1398
            aload 0 /* this */
            iconst_3
            putfield java.util.SimpleTimeZone.startMode:I
        21: .line 1399
            goto 24
        22: .line 1400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ineg
            putfield java.util.SimpleTimeZone.startDay:I
        23: .line 1401
            aload 0 /* this */
            iconst_4
            putfield java.util.SimpleTimeZone.startMode:I
        24: .line 1404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            bipush 7
            if_icmple 28
        25: .line 1405
            new java.lang.IllegalArgumentException
            dup
        26: .line 1406
            new java.lang.StringBuilder
            dup
            ldc "Illegal start day of week "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1405
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMode:I
            iconst_2
            if_icmpne 33
        29: .line 1410
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            bipush -5
            if_icmplt 30
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            iconst_5
            if_icmple 37
        30: .line 1411
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        31: .line 1412
            new java.lang.StringBuilder
            dup
            ldc "Illegal start day of week in month "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 1411
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 1414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            iconst_1
            if_icmplt 34
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            getstatic java.util.SimpleTimeZone.staticMonthLength:[B
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMonth:I
            baload
            if_icmple 37
        34: .line 1415
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        35: .line 1416
            new java.lang.StringBuilder
            dup
            ldc "Illegal start day "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 1415
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 1419
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Ljava/util/SimpleTimeZone;

  private void decodeEndRule();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1427
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            ifeq 1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.util.SimpleTimeZone
         1: iconst_0
      StackMap locals: java.util.SimpleTimeZone
      StackMap stack: java.util.SimpleTimeZone int
         2: putfield java.util.SimpleTimeZone.useDaylight:Z
         3: .line 1428
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            ifeq 37
         4: .line 1429
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            iflt 5
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            bipush 11
            if_icmple 8
         5: .line 1430
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         6: .line 1431
            new java.lang.StringBuilder
            dup
            ldc "Illegal end month "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1430
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            iflt 9
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            ldc 86400000
            if_icmple 12
         9: .line 1434
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        10: .line 1435
            new java.lang.StringBuilder
            dup
            ldc "Illegal end time "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1434
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            ifne 15
        13: .line 1438
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.endMode:I
        14: .line 1439
            goto 28
        15: .line 1440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            ifle 18
        16: .line 1441
            aload 0 /* this */
            iconst_2
            putfield java.util.SimpleTimeZone.endMode:I
        17: .line 1442
            goto 24
        18: .line 1443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            ineg
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
        19: .line 1444
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            ifle 22
        20: .line 1445
            aload 0 /* this */
            iconst_3
            putfield java.util.SimpleTimeZone.endMode:I
        21: .line 1446
            goto 24
        22: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            ineg
            putfield java.util.SimpleTimeZone.endDay:I
        23: .line 1448
            aload 0 /* this */
            iconst_4
            putfield java.util.SimpleTimeZone.endMode:I
        24: .line 1451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            bipush 7
            if_icmple 28
        25: .line 1452
            new java.lang.IllegalArgumentException
            dup
        26: .line 1453
            new java.lang.StringBuilder
            dup
            ldc "Illegal end day of week "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1452
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 1456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMode:I
            iconst_2
            if_icmpne 33
        29: .line 1457
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            bipush -5
            if_icmplt 30
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            iconst_5
            if_icmple 37
        30: .line 1458
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        31: .line 1459
            new java.lang.StringBuilder
            dup
            ldc "Illegal end day of week in month "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 1458
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 1461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            iconst_1
            if_icmplt 34
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            getstatic java.util.SimpleTimeZone.staticMonthLength:[B
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMonth:I
            baload
            if_icmple 37
        34: .line 1462
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        35: .line 1463
            new java.lang.StringBuilder
            dup
            ldc "Illegal end day "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 1462
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 1466
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Ljava/util/SimpleTimeZone;

  private void makeRulesCompatible();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1479
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startMode:I
            tableswitch { // 1 - 4
                    1: 1
                    2: 11
                    3: 4
                    4: 7
              default: 11
          }
         1: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.startDay:I
         2: .line 1482
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
         3: .line 1483
            goto 11
         4: .line 1488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            iconst_1
            if_icmpeq 11
         5: .line 1489
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.startDay:I
         6: .line 1491
            goto 11
         7: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            bipush 30
            if_icmplt 10
         8: .line 1495
            aload 0 /* this */
            iconst_m1
            putfield java.util.SimpleTimeZone.startDay:I
         9: .line 1496
            goto 11
        10: .line 1497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.startDay:I
        11: .line 1502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endMode:I
            tableswitch { // 1 - 4
                    1: 12
                    2: 22
                    3: 15
                    4: 18
              default: 22
          }
        12: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.endDay:I
        13: .line 1505
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
        14: .line 1506
            goto 22
        15: .line 1511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            iconst_1
            if_icmpeq 22
        16: .line 1512
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.endDay:I
        17: .line 1514
            goto 22
        18: .line 1517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            bipush 30
            if_icmplt 21
        19: .line 1518
            aload 0 /* this */
            iconst_m1
            putfield java.util.SimpleTimeZone.endDay:I
        20: .line 1519
            goto 22
        21: .line 1520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            bipush 7
            idiv
            iadd
            putfield java.util.SimpleTimeZone.endDay:I
        22: .line 1535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            tableswitch { // 2 - 2
                    2: 23
              default: 24
          }
        23: .line 1537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.startTime:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            iadd
            putfield java.util.SimpleTimeZone.startTime:I
        24: .line 1540
      StackMap locals:
      StackMap stack:
            goto 27
        25: .line 1541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.startTime:I
            ldc 86400000
            iadd
            putfield java.util.SimpleTimeZone.startTime:I
        26: .line 1542
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            iconst_5
            iadd
            bipush 7
            irem
            iadd
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
        27: .line 1540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            iflt 25
        28: .line 1544
            goto 31
        29: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.startTime:I
            ldc 86400000
            isub
            putfield java.util.SimpleTimeZone.startTime:I
        30: .line 1546
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            bipush 7
            irem
            iadd
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
        31: .line 1544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            ldc 86400000
            if_icmpge 29
        32: .line 1549
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            tableswitch { // 1 - 2
                    1: 35
                    2: 33
              default: 36
          }
        33: .line 1551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.endTime:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.rawOffset:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            iadd
            putfield java.util.SimpleTimeZone.endTime:I
        34: .line 1552
            goto 39
        35: .line 1554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.endTime:I
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.dstSavings:I
            iadd
            putfield java.util.SimpleTimeZone.endTime:I
        36: .line 1556
      StackMap locals:
      StackMap stack:
            goto 39
        37: .line 1557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.endTime:I
            ldc 86400000
            iadd
            putfield java.util.SimpleTimeZone.endTime:I
        38: .line 1558
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            iconst_5
            iadd
            bipush 7
            irem
            iadd
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
        39: .line 1556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            iflt 37
        40: .line 1560
            goto 43
        41: .line 1561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.SimpleTimeZone.endTime:I
            ldc 86400000
            isub
            putfield java.util.SimpleTimeZone.endTime:I
        42: .line 1562
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            bipush 7
            irem
            iadd
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
        43: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            ldc 86400000
            if_icmpge 41
        44: .line 1564
            return
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   45     0  this  Ljava/util/SimpleTimeZone;

  private byte[] packRules();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1572
            bipush 6
            newarray 8
            astore 1 /* rules */
        start local 1 // byte[] rules
         1: .line 1573
            aload 1 /* rules */
            iconst_0
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDay:I
            i2b
            bastore
         2: .line 1574
            aload 1 /* rules */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            i2b
            bastore
         3: .line 1575
            aload 1 /* rules */
            iconst_2
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDay:I
            i2b
            bastore
         4: .line 1576
            aload 1 /* rules */
            iconst_3
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            i2b
            bastore
         5: .line 1579
            aload 1 /* rules */
            iconst_4
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTimeMode:I
            i2b
            bastore
         6: .line 1580
            aload 1 /* rules */
            iconst_5
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTimeMode:I
            i2b
            bastore
         7: .line 1582
            aload 1 /* rules */
            areturn
        end local 1 // byte[] rules
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/util/SimpleTimeZone;
            1    8     1  rules  [B

  private void unpackRules(byte[]);
    descriptor: ([B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // byte[] rules
         0: .line 1591
            aload 0 /* this */
            aload 1 /* rules */
            iconst_0
            baload
            putfield java.util.SimpleTimeZone.startDay:I
         1: .line 1592
            aload 0 /* this */
            aload 1 /* rules */
            iconst_1
            baload
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
         2: .line 1593
            aload 0 /* this */
            aload 1 /* rules */
            iconst_2
            baload
            putfield java.util.SimpleTimeZone.endDay:I
         3: .line 1594
            aload 0 /* this */
            aload 1 /* rules */
            iconst_3
            baload
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
         4: .line 1597
            aload 1 /* rules */
            arraylength
            bipush 6
            if_icmplt 7
         5: .line 1598
            aload 0 /* this */
            aload 1 /* rules */
            iconst_4
            baload
            putfield java.util.SimpleTimeZone.startTimeMode:I
         6: .line 1599
            aload 0 /* this */
            aload 1 /* rules */
            iconst_5
            baload
            putfield java.util.SimpleTimeZone.endTimeMode:I
         7: .line 1601
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] rules
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/util/SimpleTimeZone;
            0    8     1  rules  [B
    MethodParameters:
       Name  Flags
      rules  

  private int[] packTimes();
    descriptor: ()[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.SimpleTimeZone this
         0: .line 1608
            iconst_2
            newarray 10
            astore 1 /* times */
        start local 1 // int[] times
         1: .line 1609
            aload 1 /* times */
            iconst_0
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startTime:I
            iastore
         2: .line 1610
            aload 1 /* times */
            iconst_1
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endTime:I
            iastore
         3: .line 1611
            aload 1 /* times */
            areturn
        end local 1 // int[] times
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/util/SimpleTimeZone;
            1    4     1  times  [I

  private void unpackTimes(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // int[] times
         0: .line 1619
            aload 0 /* this */
            aload 1 /* times */
            iconst_0
            iaload
            putfield java.util.SimpleTimeZone.startTime:I
         1: .line 1620
            aload 0 /* this */
            aload 1 /* times */
            iconst_1
            iaload
            putfield java.util.SimpleTimeZone.endTime:I
         2: .line 1621
            return
        end local 1 // int[] times
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/util/SimpleTimeZone;
            0    3     1  times  [I
    MethodParameters:
       Name  Flags
      times  

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 1643
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.packRules:()[B
            astore 2 /* rules */
        start local 2 // byte[] rules
         1: .line 1644
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.packTimes:()[I
            astore 3 /* times */
        start local 3 // int[] times
         2: .line 1647
            aload 0 /* this */
            invokevirtual java.util.SimpleTimeZone.makeRulesCompatible:()V
         3: .line 1650
            aload 1 /* stream */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         4: .line 1653
            aload 1 /* stream */
            aload 2 /* rules */
            arraylength
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
         5: .line 1654
            aload 1 /* stream */
            aload 2 /* rules */
            invokevirtual java.io.ObjectOutputStream.write:([B)V
         6: .line 1655
            aload 1 /* stream */
            aload 3 /* times */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         7: .line 1659
            aload 0 /* this */
            aload 2 /* rules */
            invokevirtual java.util.SimpleTimeZone.unpackRules:([B)V
         8: .line 1660
            aload 0 /* this */
            aload 3 /* times */
            invokevirtual java.util.SimpleTimeZone.unpackTimes:([I)V
         9: .line 1661
            return
        end local 3 // int[] times
        end local 2 // byte[] rules
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/util/SimpleTimeZone;
            0   10     1  stream  Ljava/io/ObjectOutputStream;
            1   10     2   rules  [B
            2   10     3   times  [I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.SimpleTimeZone this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 1672
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1674
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.serialVersionOnStream:I
            iconst_1
            if_icmpge 9
         2: .line 1678
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.startDayOfWeek:I
            ifne 4
         3: .line 1679
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.startDayOfWeek:I
         4: .line 1681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.endDayOfWeek:I
            ifne 6
         5: .line 1682
            aload 0 /* this */
            iconst_1
            putfield java.util.SimpleTimeZone.endDayOfWeek:I
         6: .line 1687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            dup_x1
            putfield java.util.SimpleTimeZone.endMode:I
            putfield java.util.SimpleTimeZone.startMode:I
         7: .line 1688
            aload 0 /* this */
            ldc 3600000
            putfield java.util.SimpleTimeZone.dstSavings:I
         8: .line 1689
            goto 16
         9: .line 1693
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 2 /* length */
        start local 2 // int length
        10: .line 1694
            iload 2 /* length */
            bipush 6
            if_icmpgt 15
        11: .line 1695
            iload 2 /* length */
            newarray 8
            astore 3 /* rules */
        start local 3 // byte[] rules
        12: .line 1696
            aload 1 /* stream */
            aload 3 /* rules */
            invokevirtual java.io.ObjectInputStream.readFully:([B)V
        13: .line 1697
            aload 0 /* this */
            aload 3 /* rules */
            invokevirtual java.util.SimpleTimeZone.unpackRules:([B)V
        end local 3 // byte[] rules
        14: .line 1698
            goto 16
        15: .line 1699
      StackMap locals: int
      StackMap stack:
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Too many rules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int length
        16: .line 1703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.SimpleTimeZone.serialVersionOnStream:I
            iconst_2
            if_icmplt 19
        17: .line 1704
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast int[]
            astore 2 /* times */
        start local 2 // int[] times
        18: .line 1705
            aload 0 /* this */
            aload 2 /* times */
            invokevirtual java.util.SimpleTimeZone.unpackTimes:([I)V
        end local 2 // int[] times
        19: .line 1708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield java.util.SimpleTimeZone.serialVersionOnStream:I
        20: .line 1709
            return
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // java.util.SimpleTimeZone this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Ljava/util/SimpleTimeZone;
            0   21     1  stream  Ljava/io/ObjectInputStream;
           10   16     2  length  I
           12   14     3   rules  [B
           18   19     2   times  [I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      stream  
}
SourceFile: "SimpleTimeZone.java"
NestMembers:
  java.util.SimpleTimeZone$Cache
InnerClasses:
  private final Cache = java.util.SimpleTimeZone$Cache of java.util.SimpleTimeZone
  public abstract Date = sun.util.calendar.BaseCalendar$Date of sun.util.calendar.BaseCalendar