public final class java.time.Duration implements java.time.temporal.TemporalAmount, java.lang.Comparable<java.time.Duration>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.time.Duration
  super_class: java.lang.Object
{
  public static final java.time.Duration ZERO;
    descriptor: Ljava/time/Duration;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3078945930695997490

  private static final java.math.BigInteger BI_NANOS_PER_SECOND;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final long seconds;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int nanos;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$java$time$temporal$ChronoUnit;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 139
            new java.time.Duration
            dup
            lconst_0
            iconst_0
            invokespecial java.time.Duration.<init>:(JI)V
            putstatic java.time.Duration.ZERO:Ljava/time/Duration;
         1: .line 147
            ldc 1000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            putstatic java.time.Duration.BI_NANOS_PER_SECOND:Ljava/math/BigInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.Duration ofDays(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long days
         0: .line 181
            lload 0 /* days */
            ldc 86400
            invokestatic java.lang.Math.multiplyExact:(JI)J
            iconst_0
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 0 // long days
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  days  J
    MethodParameters:
      Name  Flags
      days  

  public static java.time.Duration ofHours(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long hours
         0: .line 196
            lload 0 /* hours */
            sipush 3600
            invokestatic java.lang.Math.multiplyExact:(JI)J
            iconst_0
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 0 // long hours
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  hours  J
    MethodParameters:
       Name  Flags
      hours  

  public static java.time.Duration ofMinutes(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long minutes
         0: .line 211
            lload 0 /* minutes */
            bipush 60
            invokestatic java.lang.Math.multiplyExact:(JI)J
            iconst_0
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 0 // long minutes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  minutes  J
    MethodParameters:
         Name  Flags
      minutes  

  public static java.time.Duration ofSeconds(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long seconds
         0: .line 224
            lload 0 /* seconds */
            iconst_0
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  seconds  J
    MethodParameters:
         Name  Flags
      seconds  

  public static java.time.Duration ofSeconds(long, long);
    descriptor: (JJ)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // long seconds
        start local 2 // long nanoAdjustment
         0: .line 247
            lload 0 /* seconds */
            lload 2 /* nanoAdjustment */
            ldc 1000000000
            invokestatic java.lang.Math.floorDiv:(JJ)J
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 4 /* secs */
        start local 4 // long secs
         1: .line 248
            lload 2 /* nanoAdjustment */
            ldc 1000000000
            invokestatic java.lang.Math.floorMod:(JJ)J
            l2i
            istore 6 /* nos */
        start local 6 // int nos
         2: .line 249
            lload 4 /* secs */
            iload 6 /* nos */
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 6 // int nos
        end local 4 // long secs
        end local 2 // long nanoAdjustment
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0         seconds  J
            0    3     2  nanoAdjustment  J
            1    3     4            secs  J
            2    3     6             nos  I
    MethodParameters:
                Name  Flags
      seconds         
      nanoAdjustment  

  public static java.time.Duration ofMillis(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // long millis
         0: .line 262
            lload 0 /* millis */
            ldc 1000
            ldiv
            lstore 2 /* secs */
        start local 2 // long secs
         1: .line 263
            lload 0 /* millis */
            ldc 1000
            lrem
            l2i
            istore 4 /* mos */
        start local 4 // int mos
         2: .line 264
            iload 4 /* mos */
            ifge 5
         3: .line 265
            iinc 4 /* mos */ 1000
         4: .line 266
            lload 2 /* secs */
            lconst_1
            lsub
            lstore 2 /* secs */
         5: .line 268
      StackMap locals: long int
      StackMap stack:
            lload 2 /* secs */
            iload 4 /* mos */
            ldc 1000000
            imul
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 4 // int mos
        end local 2 // long secs
        end local 0 // long millis
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  millis  J
            1    6     2    secs  J
            2    6     4     mos  I
    MethodParameters:
        Name  Flags
      millis  

  public static java.time.Duration ofNanos(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // long nanos
         0: .line 281
            lload 0 /* nanos */
            ldc 1000000000
            ldiv
            lstore 2 /* secs */
        start local 2 // long secs
         1: .line 282
            lload 0 /* nanos */
            ldc 1000000000
            lrem
            l2i
            istore 4 /* nos */
        start local 4 // int nos
         2: .line 283
            iload 4 /* nos */
            ifge 5
         3: .line 284
            iload 4 /* nos */
            i2l
            ldc 1000000000
            ladd
            l2i
            istore 4 /* nos */
         4: .line 285
            lload 2 /* secs */
            lconst_1
            lsub
            lstore 2 /* secs */
         5: .line 287
      StackMap locals: long int
      StackMap stack:
            lload 2 /* secs */
            iload 4 /* nos */
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 4 // int nos
        end local 2 // long secs
        end local 0 // long nanos
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  nanos  J
            1    6     2   secs  J
            2    6     4    nos  I
    MethodParameters:
       Name  Flags
      nanos  

  public static java.time.Duration of(long, java.time.temporal.TemporalUnit);
    descriptor: (JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long amount
        start local 2 // java.time.temporal.TemporalUnit unit
         0: .line 310
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            lload 0 /* amount */
            aload 2 /* unit */
            invokevirtual java.time.Duration.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
            areturn
        end local 2 // java.time.temporal.TemporalUnit unit
        end local 0 // long amount
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  amount  J
            0    1     2    unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
        Name  Flags
      amount  
      unit    

  public static java.time.Duration from(java.time.temporal.TemporalAmount);
    descriptor: (Ljava/time/temporal/TemporalAmount;)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.time.temporal.TemporalAmount amount
         0: .line 335
            aload 0 /* amount */
            ldc "amount"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 336
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            astore 1 /* duration */
        start local 1 // java.time.Duration duration
         2: .line 337
            aload 0 /* amount */
            invokeinterface java.time.temporal.TemporalAmount.getUnits:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.time.temporal.TemporalAmount java.time.Duration top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.time.temporal.TemporalUnit
            astore 2 /* unit */
        start local 2 // java.time.temporal.TemporalUnit unit
         4: .line 338
            aload 1 /* duration */
            aload 0 /* amount */
            aload 2 /* unit */
            invokeinterface java.time.temporal.TemporalAmount.get:(Ljava/time/temporal/TemporalUnit;)J
            aload 2 /* unit */
            invokevirtual java.time.Duration.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
            astore 1 /* duration */
        end local 2 // java.time.temporal.TemporalUnit unit
         5: .line 337
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 340
            aload 1 /* duration */
            areturn
        end local 1 // java.time.Duration duration
        end local 0 // java.time.temporal.TemporalAmount amount
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0    amount  Ljava/time/temporal/TemporalAmount;
            2    7     1  duration  Ljava/time/Duration;
            4    5     2      unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
        Name  Flags
      amount  

  public static java.time.Duration parse(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=24, args_size=1
        start local 0 // java.lang.CharSequence text
         0: .line 389
            aload 0 /* text */
            ldc "text"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 390
            getstatic java.time.Duration$Lazy.PATTERN:Ljava/util/regex/Pattern;
            aload 0 /* text */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* matcher */
        start local 1 // java.util.regex.Matcher matcher
         2: .line 391
            aload 1 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 30
         3: .line 393
            aload 0 /* text */
            aload 1 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.start:(I)I
            aload 1 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.end:(I)I
            bipush 84
            invokestatic java.time.Duration.charMatch:(Ljava/lang/CharSequence;IIC)Z
            ifne 30
         4: .line 394
            aload 0 /* text */
            aload 1 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.start:(I)I
            aload 1 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.end:(I)I
            bipush 45
            invokestatic java.time.Duration.charMatch:(Ljava/lang/CharSequence;IIC)Z
            istore 2 /* negate */
        start local 2 // boolean negate
         5: .line 396
            aload 1 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.start:(I)I
            istore 3 /* dayStart */
        start local 3 // int dayStart
         6: aload 1 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.end:(I)I
            istore 4 /* dayEnd */
        start local 4 // int dayEnd
         7: .line 397
            aload 1 /* matcher */
            iconst_4
            invokevirtual java.util.regex.Matcher.start:(I)I
            istore 5 /* hourStart */
        start local 5 // int hourStart
         8: aload 1 /* matcher */
            iconst_4
            invokevirtual java.util.regex.Matcher.end:(I)I
            istore 6 /* hourEnd */
        start local 6 // int hourEnd
         9: .line 398
            aload 1 /* matcher */
            iconst_5
            invokevirtual java.util.regex.Matcher.start:(I)I
            istore 7 /* minuteStart */
        start local 7 // int minuteStart
        10: aload 1 /* matcher */
            iconst_5
            invokevirtual java.util.regex.Matcher.end:(I)I
            istore 8 /* minuteEnd */
        start local 8 // int minuteEnd
        11: .line 399
            aload 1 /* matcher */
            bipush 6
            invokevirtual java.util.regex.Matcher.start:(I)I
            istore 9 /* secondStart */
        start local 9 // int secondStart
        12: aload 1 /* matcher */
            bipush 6
            invokevirtual java.util.regex.Matcher.end:(I)I
            istore 10 /* secondEnd */
        start local 10 // int secondEnd
        13: .line 400
            aload 1 /* matcher */
            bipush 7
            invokevirtual java.util.regex.Matcher.start:(I)I
            istore 11 /* fractionStart */
        start local 11 // int fractionStart
        14: aload 1 /* matcher */
            bipush 7
            invokevirtual java.util.regex.Matcher.end:(I)I
            istore 12 /* fractionEnd */
        start local 12 // int fractionEnd
        15: .line 402
            iload 3 /* dayStart */
            ifge 16
            iload 5 /* hourStart */
            ifge 16
            iload 7 /* minuteStart */
            ifge 16
            iload 9 /* secondStart */
            iflt 30
        16: .line 403
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher int int int int int int int int int int int
      StackMap stack:
            aload 0 /* text */
            iload 3 /* dayStart */
            iload 4 /* dayEnd */
            ldc 86400
            ldc "days"
            invokestatic java.time.Duration.parseNumber:(Ljava/lang/CharSequence;IIILjava/lang/String;)J
            lstore 13 /* daysAsSecs */
        start local 13 // long daysAsSecs
        17: .line 404
            aload 0 /* text */
            iload 5 /* hourStart */
            iload 6 /* hourEnd */
            sipush 3600
            ldc "hours"
            invokestatic java.time.Duration.parseNumber:(Ljava/lang/CharSequence;IIILjava/lang/String;)J
            lstore 15 /* hoursAsSecs */
        start local 15 // long hoursAsSecs
        18: .line 405
            aload 0 /* text */
            iload 7 /* minuteStart */
            iload 8 /* minuteEnd */
            bipush 60
            ldc "minutes"
            invokestatic java.time.Duration.parseNumber:(Ljava/lang/CharSequence;IIILjava/lang/String;)J
            lstore 17 /* minsAsSecs */
        start local 17 // long minsAsSecs
        19: .line 406
            aload 0 /* text */
            iload 9 /* secondStart */
            iload 10 /* secondEnd */
            iconst_1
            ldc "seconds"
            invokestatic java.time.Duration.parseNumber:(Ljava/lang/CharSequence;IIILjava/lang/String;)J
            lstore 19 /* seconds */
        start local 19 // long seconds
        20: .line 407
            iload 9 /* secondStart */
            iflt 21
            aload 0 /* text */
            iload 9 /* secondStart */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 45
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher int int int int int int int int int int int long long long long
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 21 /* negativeSecs */
        start local 21 // boolean negativeSecs
        23: .line 408
            aload 0 /* text */
            iload 11 /* fractionStart */
            iload 12 /* fractionEnd */
            iload 21 /* negativeSecs */
            ifeq 24
            iconst_m1
            goto 25
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher int int int int int int int int int int int long long long long int
      StackMap stack: java.lang.CharSequence int int
        24: iconst_1
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher int int int int int int int int int int int long long long long int
      StackMap stack: java.lang.CharSequence int int int
        25: invokestatic java.time.Duration.parseFraction:(Ljava/lang/CharSequence;III)I
            istore 22 /* nanos */
        start local 22 // int nanos
        26: .line 410
            iload 2 /* negate */
            lload 13 /* daysAsSecs */
            lload 15 /* hoursAsSecs */
            lload 17 /* minsAsSecs */
            lload 19 /* seconds */
            iload 22 /* nanos */
            invokestatic java.time.Duration.create:(ZJJJJI)Ljava/time/Duration;
        27: areturn
        28: .line 411
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher int int int int int int int int int int int long long long long int int
      StackMap stack: java.lang.ArithmeticException
            astore 23 /* ex */
        start local 23 // java.lang.ArithmeticException ex
        29: .line 412
            new java.time.format.DateTimeParseException
            dup
            ldc "Text cannot be parsed to a Duration: overflow"
            aload 0 /* text */
            iconst_0
            invokespecial java.time.format.DateTimeParseException.<init>:(Ljava/lang/String;Ljava/lang/CharSequence;I)V
            aload 23 /* ex */
            invokevirtual java.time.format.DateTimeParseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.time.format.DateTimeParseException
            athrow
        end local 23 // java.lang.ArithmeticException ex
        end local 22 // int nanos
        end local 21 // boolean negativeSecs
        end local 19 // long seconds
        end local 17 // long minsAsSecs
        end local 15 // long hoursAsSecs
        end local 13 // long daysAsSecs
        end local 12 // int fractionEnd
        end local 11 // int fractionStart
        end local 10 // int secondEnd
        end local 9 // int secondStart
        end local 8 // int minuteEnd
        end local 7 // int minuteStart
        end local 6 // int hourEnd
        end local 5 // int hourStart
        end local 4 // int dayEnd
        end local 3 // int dayStart
        end local 2 // boolean negate
        30: .line 417
      StackMap locals: java.lang.CharSequence java.util.regex.Matcher
      StackMap stack:
            new java.time.format.DateTimeParseException
            dup
            ldc "Text cannot be parsed to a Duration"
            aload 0 /* text */
            iconst_0
            invokespecial java.time.format.DateTimeParseException.<init>:(Ljava/lang/String;Ljava/lang/CharSequence;I)V
            athrow
        end local 1 // java.util.regex.Matcher matcher
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           text  Ljava/lang/CharSequence;
            2   31     1        matcher  Ljava/util/regex/Matcher;
            5   30     2         negate  Z
            6   30     3       dayStart  I
            7   30     4         dayEnd  I
            8   30     5      hourStart  I
            9   30     6        hourEnd  I
           10   30     7    minuteStart  I
           11   30     8      minuteEnd  I
           12   30     9    secondStart  I
           13   30    10      secondEnd  I
           14   30    11  fractionStart  I
           15   30    12    fractionEnd  I
           17   30    13     daysAsSecs  J
           18   30    15    hoursAsSecs  J
           19   30    17     minsAsSecs  J
           20   30    19        seconds  J
           23   30    21   negativeSecs  Z
           26   30    22          nanos  I
           29   30    23             ex  Ljava/lang/ArithmeticException;
      Exception table:
        from    to  target  type
          26    27      28  Class java.lang.ArithmeticException
    MethodParameters:
      Name  Flags
      text  

  private static boolean charMatch(java.lang.CharSequence, int, int, char);
    descriptor: (Ljava/lang/CharSequence;IIC)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.lang.CharSequence text
        start local 1 // int start
        start local 2 // int end
        start local 3 // char c
         0: .line 421
            iload 1 /* start */
            iflt 1
            iload 2 /* end */
            iload 1 /* start */
            iconst_1
            iadd
            if_icmpne 1
            aload 0 /* text */
            iload 1 /* start */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            iload 3 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // char c
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   text  Ljava/lang/CharSequence;
            0    2     1  start  I
            0    2     2    end  I
            0    2     3      c  C
    MethodParameters:
       Name  Flags
      text   
      start  
      end    
      c      

  private static long parseNumber(java.lang.CharSequence, int, int, int, java.lang.String);
    descriptor: (Ljava/lang/CharSequence;IIILjava/lang/String;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // java.lang.CharSequence text
        start local 1 // int start
        start local 2 // int end
        start local 3 // int multiplier
        start local 4 // java.lang.String errorText
         0: .line 426
            iload 1 /* start */
            iflt 1
            iload 2 /* end */
            ifge 2
         1: .line 427
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* text */
            iload 1 /* start */
            iload 2 /* end */
            bipush 10
            invokestatic java.lang.Long.parseLong:(Ljava/lang/CharSequence;III)J
            lstore 5 /* val */
        start local 5 // long val
         3: .line 431
            lload 5 /* val */
            iload 3 /* multiplier */
            invokestatic java.lang.Math.multiplyExact:(JI)J
         4: lreturn
        end local 5 // long val
         5: .line 432
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 5 /* ex */
        start local 5 // java.lang.RuntimeException ex
         6: .line 433
            new java.time.format.DateTimeParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Text cannot be parsed to a Duration: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* errorText */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* text */
            iconst_0
            invokespecial java.time.format.DateTimeParseException.<init>:(Ljava/lang/String;Ljava/lang/CharSequence;I)V
            aload 5 /* ex */
            invokevirtual java.time.format.DateTimeParseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.time.format.DateTimeParseException
            athrow
        end local 5 // java.lang.RuntimeException ex
        end local 4 // java.lang.String errorText
        end local 3 // int multiplier
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        text  Ljava/lang/CharSequence;
            0    7     1       start  I
            0    7     2         end  I
            0    7     3  multiplier  I
            0    7     4   errorText  Ljava/lang/String;
            3    5     5         val  J
            6    7     5          ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.NumberFormatException
           2     4       5  Class java.lang.ArithmeticException
    MethodParameters:
            Name  Flags
      text        
      start       
      end         
      multiplier  
      errorText   

  private static int parseFraction(java.lang.CharSequence, int, int, int);
    descriptor: (Ljava/lang/CharSequence;III)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // java.lang.CharSequence text
        start local 1 // int start
        start local 2 // int end
        start local 3 // int negate
         0: .line 439
            iload 1 /* start */
            iflt 1
            iload 2 /* end */
            iflt 1
            iload 2 /* end */
            iload 1 /* start */
            isub
            ifne 2
         1: .line 440
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* text */
            iload 1 /* start */
            iload 2 /* end */
            bipush 10
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
            istore 4 /* fraction */
        start local 4 // int fraction
         3: .line 447
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 448
      StackMap locals: int int
      StackMap stack:
            iload 4 /* fraction */
            bipush 10
            imul
            istore 4 /* fraction */
         6: .line 447
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            bipush 9
            if_icmplt 5
        end local 5 // int i
         8: .line 450
            iload 4 /* fraction */
            iload 3 /* negate */
            imul
         9: ireturn
        end local 4 // int fraction
        10: .line 451
      StackMap locals: java.lang.CharSequence int int int
      StackMap stack: java.lang.RuntimeException
            astore 4 /* ex */
        start local 4 // java.lang.RuntimeException ex
        11: .line 452
            new java.time.format.DateTimeParseException
            dup
            ldc "Text cannot be parsed to a Duration: fraction"
            aload 0 /* text */
            iconst_0
            invokespecial java.time.format.DateTimeParseException.<init>:(Ljava/lang/String;Ljava/lang/CharSequence;I)V
            aload 4 /* ex */
            invokevirtual java.time.format.DateTimeParseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.time.format.DateTimeParseException
            athrow
        end local 4 // java.lang.RuntimeException ex
        end local 3 // int negate
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      text  Ljava/lang/CharSequence;
            0   12     1     start  I
            0   12     2       end  I
            0   12     3    negate  I
            3   10     4  fraction  I
            4    8     5         i  I
           11   12     4        ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     9      10  Class java.lang.NumberFormatException
           2     9      10  Class java.lang.ArithmeticException
    MethodParameters:
        Name  Flags
      text    
      start   
      end     
      negate  

  private static java.time.Duration create(boolean, long, long, long, long, int);
    descriptor: (ZJJJJI)Ljava/time/Duration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=12, args_size=6
        start local 0 // boolean negate
        start local 1 // long daysAsSecs
        start local 3 // long hoursAsSecs
        start local 5 // long minsAsSecs
        start local 7 // long secs
        start local 9 // int nanos
         0: .line 457
            lload 1 /* daysAsSecs */
            lload 3 /* hoursAsSecs */
            lload 5 /* minsAsSecs */
            lload 7 /* secs */
            invokestatic java.lang.Math.addExact:(JJ)J
            invokestatic java.lang.Math.addExact:(JJ)J
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 10 /* seconds */
        start local 10 // long seconds
         1: .line 458
            iload 0 /* negate */
            ifeq 3
         2: .line 459
            lload 10 /* seconds */
            iload 9 /* nanos */
            i2l
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            invokevirtual java.time.Duration.negated:()Ljava/time/Duration;
            areturn
         3: .line 461
      StackMap locals: long
      StackMap stack:
            lload 10 /* seconds */
            iload 9 /* nanos */
            i2l
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            areturn
        end local 10 // long seconds
        end local 9 // int nanos
        end local 7 // long secs
        end local 5 // long minsAsSecs
        end local 3 // long hoursAsSecs
        end local 1 // long daysAsSecs
        end local 0 // boolean negate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       negate  Z
            0    4     1   daysAsSecs  J
            0    4     3  hoursAsSecs  J
            0    4     5   minsAsSecs  J
            0    4     7         secs  J
            0    4     9        nanos  I
            1    4    10      seconds  J
    MethodParameters:
             Name  Flags
      negate       
      daysAsSecs   
      hoursAsSecs  
      minsAsSecs   
      secs         
      nanos        

  public static java.time.Duration between(java.time.temporal.Temporal, java.time.temporal.Temporal);
    descriptor: (Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.time.temporal.Temporal startInclusive
        start local 1 // java.time.temporal.Temporal endExclusive
         0: .line 488
            aload 0 /* startInclusive */
            aload 1 /* endExclusive */
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.until:(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
            invokestatic java.time.Duration.ofNanos:(J)Ljava/time/Duration;
         1: areturn
         2: .line 489
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         3: .line 490
            aload 0 /* startInclusive */
            aload 1 /* endExclusive */
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.until:(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
            lstore 2 /* secs */
        start local 2 // long secs
         4: .line 493
            aload 1 /* endExclusive */
            getstatic java.time.temporal.ChronoField.NANO_OF_SECOND:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.Temporal.getLong:(Ljava/time/temporal/TemporalField;)J
            aload 0 /* startInclusive */
            getstatic java.time.temporal.ChronoField.NANO_OF_SECOND:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.Temporal.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            lstore 4 /* nanos */
        start local 4 // long nanos
         5: .line 494
            lload 2 /* secs */
            lconst_0
            lcmp
            ifle 8
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifge 8
         6: .line 495
            lload 2 /* secs */
            lconst_1
            ladd
            lstore 2 /* secs */
         7: .line 496
            goto 13
      StackMap locals: long long
      StackMap stack:
         8: lload 2 /* secs */
            lconst_0
            lcmp
            ifge 13
            lload 4 /* nanos */
            lconst_0
            lcmp
            ifle 13
         9: .line 497
            lload 2 /* secs */
            lconst_1
            lsub
            lstore 2 /* secs */
        10: .line 499
            goto 13
        end local 4 // long nanos
      StackMap locals: java.time.temporal.Temporal java.time.temporal.Temporal long
      StackMap stack: java.time.DateTimeException
        11: pop
        12: .line 500
            lconst_0
            lstore 4 /* nanos */
        start local 4 // long nanos
        13: .line 502
      StackMap locals: long
      StackMap stack:
            lload 2 /* secs */
            lload 4 /* nanos */
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            areturn
        end local 4 // long nanos
        end local 2 // long secs
        end local 1 // java.time.temporal.Temporal endExclusive
        end local 0 // java.time.temporal.Temporal startInclusive
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0  startInclusive  Ljava/time/temporal/Temporal;
            0   14     1    endExclusive  Ljava/time/temporal/Temporal;
            4   14     2            secs  J
            5   11     4           nanos  J
           13   14     4           nanos  J
      Exception table:
        from    to  target  type
           0     1       2  Class java.time.DateTimeException
           0     1       2  Class java.lang.ArithmeticException
           4    10      11  Class java.time.DateTimeException
    MethodParameters:
                Name  Flags
      startInclusive  
      endExclusive    

  private static java.time.Duration create(long, int);
    descriptor: (JI)Ljava/time/Duration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long seconds
        start local 2 // int nanoAdjustment
         0: .line 514
            lload 0 /* seconds */
            iload 2 /* nanoAdjustment */
            i2l
            lor
            lconst_0
            lcmp
            ifne 2
         1: .line 515
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            areturn
         2: .line 517
      StackMap locals:
      StackMap stack:
            new java.time.Duration
            dup
            lload 0 /* seconds */
            iload 2 /* nanoAdjustment */
            invokespecial java.time.Duration.<init>:(JI)V
            areturn
        end local 2 // int nanoAdjustment
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0         seconds  J
            0    3     2  nanoAdjustment  I
    MethodParameters:
                Name  Flags
      seconds         
      nanoAdjustment  

  private void <init>(long, int);
    descriptor: (JI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.time.Duration this
        start local 1 // long seconds
        start local 3 // int nanos
         0: .line 527
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 528
            aload 0 /* this */
            lload 1 /* seconds */
            putfield java.time.Duration.seconds:J
         2: .line 529
            aload 0 /* this */
            iload 3 /* nanos */
            putfield java.time.Duration.nanos:I
         3: .line 530
            return
        end local 3 // int nanos
        end local 1 // long seconds
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljava/time/Duration;
            0    4     1  seconds  J
            0    4     3    nanos  I
    MethodParameters:
         Name  Flags
      seconds  
      nanos    

  public long get(java.time.temporal.TemporalUnit);
    descriptor: (Ljava/time/temporal/TemporalUnit;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.temporal.TemporalUnit unit
         0: .line 547
            aload 1 /* unit */
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            if_acmpne 2
         1: .line 548
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lreturn
         2: .line 549
      StackMap locals:
      StackMap stack:
            aload 1 /* unit */
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            if_acmpne 4
         3: .line 550
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lreturn
         4: .line 552
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported unit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* unit */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.time.temporal.TemporalUnit unit
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/time/Duration;
            0    5     1  unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
      Name  Flags
      unit  

  public java.util.List<java.time.temporal.TemporalUnit> getUnits();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 570
            getstatic java.time.Duration$DurationUnits.UNITS:Ljava/util/List;
            areturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;
    Signature: ()Ljava/util/List<Ljava/time/temporal/TemporalUnit;>;

  public boolean isZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 593
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lor
            lconst_0
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/time/Duration;

  public boolean isNegative();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 606
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/time/Duration;

  public long getSeconds();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 625
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int getNano();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 643
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public java.time.Duration withSeconds(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long seconds
         0: .line 659
            lload 1 /* seconds */
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 1 // long seconds
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/time/Duration;
            0    1     1  seconds  J
    MethodParameters:
         Name  Flags
      seconds  

  public java.time.Duration withNanos(int);
    descriptor: (I)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // int nanoOfSecond
         0: .line 675
            getstatic java.time.temporal.ChronoField.NANO_OF_SECOND:Ljava/time/temporal/ChronoField;
            iload 1 /* nanoOfSecond */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidIntValue:(J)I
            pop
         1: .line 676
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            iload 1 /* nanoOfSecond */
            invokestatic java.time.Duration.create:(JI)Ljava/time/Duration;
            areturn
        end local 1 // int nanoOfSecond
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/time/Duration;
            0    2     1  nanoOfSecond  I
    MethodParameters:
              Name  Flags
      nanoOfSecond  

  public java.time.Duration plus(java.time.Duration);
    descriptor: (Ljava/time/Duration;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.Duration duration
         0: .line 690
            aload 0 /* this */
            aload 1 /* duration */
            invokevirtual java.time.Duration.getSeconds:()J
            aload 1 /* duration */
            invokevirtual java.time.Duration.getNano:()I
            i2l
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // java.time.Duration duration
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/time/Duration;
            0    1     1  duration  Ljava/time/Duration;
    MethodParameters:
          Name  Flags
      duration  

  public java.time.Duration plus(long, java.time.temporal.TemporalUnit);
    descriptor: (JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.time.Duration this
        start local 1 // long amountToAdd
        start local 3 // java.time.temporal.TemporalUnit unit
         0: .line 710
            aload 3 /* unit */
            ldc "unit"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 711
            aload 3 /* unit */
            getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
            if_acmpne 3
         2: .line 712
            aload 0 /* this */
            lload 1 /* amountToAdd */
            ldc 86400
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
         3: .line 714
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            invokeinterface java.time.temporal.TemporalUnit.isDurationEstimated:()Z
            ifeq 5
         4: .line 715
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            ldc "Unit must not have an estimated duration"
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 717
      StackMap locals:
      StackMap stack:
            lload 1 /* amountToAdd */
            lconst_0
            lcmp
            ifne 7
         6: .line 718
            aload 0 /* this */
            areturn
         7: .line 720
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            instanceof java.time.temporal.ChronoUnit
            ifeq 14
         8: .line 721
            invokestatic java.time.Duration.$SWITCH_TABLE$java$time$temporal$ChronoUnit:()[I
            aload 3 /* unit */
            checkcast java.time.temporal.ChronoUnit
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 9
                    2: 10
                    3: 11
                    4: 12
              default: 13
          }
         9: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            areturn
        10: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            ldc 1000000000
            ldiv
            ldc 1000
            lmul
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            lload 1 /* amountToAdd */
            ldc 1000000000
            lrem
            ldc 1000
            lmul
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            areturn
        11: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.Duration.plusMillis:(J)Ljava/time/Duration;
            areturn
        12: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            areturn
        13: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* unit */
            invokeinterface java.time.temporal.TemporalUnit.getDuration:()Ljava/time/Duration;
            getfield java.time.Duration.seconds:J
            lload 1 /* amountToAdd */
            invokestatic java.lang.Math.multiplyExact:(JJ)J
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            areturn
        14: .line 729
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            invokeinterface java.time.temporal.TemporalUnit.getDuration:()Ljava/time/Duration;
            lload 1 /* amountToAdd */
            invokevirtual java.time.Duration.multipliedBy:(J)Ljava/time/Duration;
            astore 4 /* duration */
        start local 4 // java.time.Duration duration
        15: .line 730
            aload 0 /* this */
            aload 4 /* duration */
            invokevirtual java.time.Duration.getSeconds:()J
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            aload 4 /* duration */
            invokevirtual java.time.Duration.getNano:()I
            i2l
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            areturn
        end local 4 // java.time.Duration duration
        end local 3 // java.time.temporal.TemporalUnit unit
        end local 1 // long amountToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Ljava/time/Duration;
            0   16     1  amountToAdd  J
            0   16     3         unit  Ljava/time/temporal/TemporalUnit;
           15   16     4     duration  Ljava/time/Duration;
    MethodParameters:
             Name  Flags
      amountToAdd  
      unit         

  public java.time.Duration plusDays(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long daysToAdd
         0: .line 747
            aload 0 /* this */
            lload 1 /* daysToAdd */
            ldc 86400
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long daysToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljava/time/Duration;
            0    1     1  daysToAdd  J
    MethodParameters:
           Name  Flags
      daysToAdd  

  public java.time.Duration plusHours(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long hoursToAdd
         0: .line 760
            aload 0 /* this */
            lload 1 /* hoursToAdd */
            sipush 3600
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long hoursToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/time/Duration;
            0    1     1  hoursToAdd  J
    MethodParameters:
            Name  Flags
      hoursToAdd  

  public java.time.Duration plusMinutes(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long minutesToAdd
         0: .line 773
            aload 0 /* this */
            lload 1 /* minutesToAdd */
            bipush 60
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long minutesToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/time/Duration;
            0    1     1  minutesToAdd  J
    MethodParameters:
              Name  Flags
      minutesToAdd  

  public java.time.Duration plusSeconds(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long secondsToAdd
         0: .line 786
            aload 0 /* this */
            lload 1 /* secondsToAdd */
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long secondsToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/time/Duration;
            0    1     1  secondsToAdd  J
    MethodParameters:
              Name  Flags
      secondsToAdd  

  public java.time.Duration plusMillis(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long millisToAdd
         0: .line 799
            aload 0 /* this */
            lload 1 /* millisToAdd */
            ldc 1000
            ldiv
            lload 1 /* millisToAdd */
            ldc 1000
            lrem
            ldc 1000000
            lmul
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long millisToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/time/Duration;
            0    1     1  millisToAdd  J
    MethodParameters:
             Name  Flags
      millisToAdd  

  public java.time.Duration plusNanos(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long nanosToAdd
         0: .line 812
            aload 0 /* this */
            lconst_0
            lload 1 /* nanosToAdd */
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 1 // long nanosToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/time/Duration;
            0    1     1  nanosToAdd  J
    MethodParameters:
            Name  Flags
      nanosToAdd  

  private java.time.Duration plus(long, long);
    descriptor: (JJ)Ljava/time/Duration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.time.Duration this
        start local 1 // long secondsToAdd
        start local 3 // long nanosToAdd
         0: .line 826
            lload 1 /* secondsToAdd */
            lload 3 /* nanosToAdd */
            lor
            lconst_0
            lcmp
            ifne 2
         1: .line 827
            aload 0 /* this */
            areturn
         2: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lload 1 /* secondsToAdd */
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 5 /* epochSec */
        start local 5 // long epochSec
         3: .line 830
            lload 5 /* epochSec */
            lload 3 /* nanosToAdd */
            ldc 1000000000
            ldiv
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 5 /* epochSec */
         4: .line 831
            lload 3 /* nanosToAdd */
            ldc 1000000000
            lrem
            lstore 3 /* nanosToAdd */
         5: .line 832
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lload 3 /* nanosToAdd */
            ladd
            lstore 7 /* nanoAdjustment */
        start local 7 // long nanoAdjustment
         6: .line 833
            lload 5 /* epochSec */
            lload 7 /* nanoAdjustment */
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            areturn
        end local 7 // long nanoAdjustment
        end local 5 // long epochSec
        end local 3 // long nanosToAdd
        end local 1 // long secondsToAdd
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljava/time/Duration;
            0    7     1    secondsToAdd  J
            0    7     3      nanosToAdd  J
            3    7     5        epochSec  J
            6    7     7  nanoAdjustment  J
    MethodParameters:
              Name  Flags
      secondsToAdd  
      nanosToAdd    

  public java.time.Duration minus(java.time.Duration);
    descriptor: (Ljava/time/Duration;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.Duration duration
         0: .line 847
            aload 1 /* duration */
            invokevirtual java.time.Duration.getSeconds:()J
            lstore 2 /* secsToSubtract */
        start local 2 // long secsToSubtract
         1: .line 848
            aload 1 /* duration */
            invokevirtual java.time.Duration.getNano:()I
            istore 4 /* nanosToSubtract */
        start local 4 // int nanosToSubtract
         2: .line 849
            lload 2 /* secsToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 4
         3: .line 850
            aload 0 /* this */
            ldc 9223372036854775807
            iload 4 /* nanosToSubtract */
            ineg
            i2l
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            lconst_1
            lconst_0
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
         4: .line 852
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            lload 2 /* secsToSubtract */
            lneg
            iload 4 /* nanosToSubtract */
            ineg
            i2l
            invokevirtual java.time.Duration.plus:(JJ)Ljava/time/Duration;
            areturn
        end local 4 // int nanosToSubtract
        end local 2 // long secsToSubtract
        end local 1 // java.time.Duration duration
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljava/time/Duration;
            0    5     1         duration  Ljava/time/Duration;
            1    5     2   secsToSubtract  J
            2    5     4  nanosToSubtract  I
    MethodParameters:
          Name  Flags
      duration  

  public java.time.Duration minus(long, java.time.temporal.TemporalUnit);
    descriptor: (JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.time.Duration this
        start local 1 // long amountToSubtract
        start local 3 // java.time.temporal.TemporalUnit unit
         0: .line 871
            lload 1 /* amountToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            aload 3 /* unit */
            invokevirtual java.time.Duration.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
            lconst_1
            aload 3 /* unit */
            invokevirtual java.time.Duration.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* amountToSubtract */
            lneg
            aload 3 /* unit */
            invokevirtual java.time.Duration.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 3 // java.time.temporal.TemporalUnit unit
        end local 1 // long amountToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Ljava/time/Duration;
            0    3     1  amountToSubtract  J
            0    3     3              unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
                  Name  Flags
      amountToSubtract  
      unit              

  public java.time.Duration minusDays(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long daysToSubtract
         0: .line 888
            lload 1 /* daysToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusDays:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusDays:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* daysToSubtract */
            lneg
            invokevirtual java.time.Duration.plusDays:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long daysToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljava/time/Duration;
            0    3     1  daysToSubtract  J
    MethodParameters:
                Name  Flags
      daysToSubtract  

  public java.time.Duration minusHours(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long hoursToSubtract
         0: .line 903
            lload 1 /* hoursToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusHours:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusHours:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* hoursToSubtract */
            lneg
            invokevirtual java.time.Duration.plusHours:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long hoursToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ljava/time/Duration;
            0    3     1  hoursToSubtract  J
    MethodParameters:
                 Name  Flags
      hoursToSubtract  

  public java.time.Duration minusMinutes(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long minutesToSubtract
         0: .line 918
            lload 1 /* minutesToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusMinutes:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusMinutes:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* minutesToSubtract */
            lneg
            invokevirtual java.time.Duration.plusMinutes:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long minutesToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Ljava/time/Duration;
            0    3     1  minutesToSubtract  J
    MethodParameters:
                   Name  Flags
      minutesToSubtract  

  public java.time.Duration minusSeconds(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long secondsToSubtract
         0: .line 931
            lload 1 /* secondsToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* secondsToSubtract */
            lneg
            invokevirtual java.time.Duration.plusSeconds:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long secondsToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Ljava/time/Duration;
            0    3     1  secondsToSubtract  J
    MethodParameters:
                   Name  Flags
      secondsToSubtract  

  public java.time.Duration minusMillis(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long millisToSubtract
         0: .line 944
            lload 1 /* millisToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusMillis:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusMillis:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* millisToSubtract */
            lneg
            invokevirtual java.time.Duration.plusMillis:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long millisToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Ljava/time/Duration;
            0    3     1  millisToSubtract  J
    MethodParameters:
                  Name  Flags
      millisToSubtract  

  public java.time.Duration minusNanos(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long nanosToSubtract
         0: .line 957
            lload 1 /* nanosToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            lconst_1
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* nanosToSubtract */
            lneg
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 1 // long nanosToSubtract
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ljava/time/Duration;
            0    3     1  nanosToSubtract  J
    MethodParameters:
                 Name  Flags
      nanosToSubtract  

  public java.time.Duration multipliedBy(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long multiplicand
         0: .line 971
            lload 1 /* multiplicand */
            lconst_0
            lcmp
            ifne 2
         1: .line 972
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            areturn
         2: .line 974
      StackMap locals:
      StackMap stack:
            lload 1 /* multiplicand */
            lconst_1
            lcmp
            ifne 4
         3: .line 975
            aload 0 /* this */
            areturn
         4: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.Duration.toBigDecimalSeconds:()Ljava/math/BigDecimal;
            lload 1 /* multiplicand */
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            invokestatic java.time.Duration.create:(Ljava/math/BigDecimal;)Ljava/time/Duration;
            areturn
        end local 1 // long multiplicand
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljava/time/Duration;
            0    5     1  multiplicand  J
    MethodParameters:
              Name  Flags
      multiplicand  

  public java.time.Duration dividedBy(long);
    descriptor: (J)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // long divisor
         0: .line 990
            lload 1 /* divisor */
            lconst_0
            lcmp
            ifne 2
         1: .line 991
            new java.lang.ArithmeticException
            dup
            ldc "Cannot divide by zero"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 993
      StackMap locals:
      StackMap stack:
            lload 1 /* divisor */
            lconst_1
            lcmp
            ifne 4
         3: .line 994
            aload 0 /* this */
            areturn
         4: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.Duration.toBigDecimalSeconds:()Ljava/math/BigDecimal;
            lload 1 /* divisor */
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
            invokestatic java.time.Duration.create:(Ljava/math/BigDecimal;)Ljava/time/Duration;
            areturn
        end local 1 // long divisor
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/time/Duration;
            0    5     1  divisor  J
    MethodParameters:
         Name  Flags
      divisor  

  public long dividedBy(java.time.Duration);
    descriptor: (Ljava/time/Duration;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.Duration divisor
         0: .line 1011
            aload 1 /* divisor */
            ldc "divisor"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 1012
            aload 0 /* this */
            invokevirtual java.time.Duration.toBigDecimalSeconds:()Ljava/math/BigDecimal;
            astore 2 /* dividendBigD */
        start local 2 // java.math.BigDecimal dividendBigD
         2: .line 1013
            aload 1 /* divisor */
            invokevirtual java.time.Duration.toBigDecimalSeconds:()Ljava/math/BigDecimal;
            astore 3 /* divisorBigD */
        start local 3 // java.math.BigDecimal divisorBigD
         3: .line 1014
            aload 2 /* dividendBigD */
            aload 3 /* divisorBigD */
            invokevirtual java.math.BigDecimal.divideToIntegralValue:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.longValueExact:()J
            lreturn
        end local 3 // java.math.BigDecimal divisorBigD
        end local 2 // java.math.BigDecimal dividendBigD
        end local 1 // java.time.Duration divisor
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/time/Duration;
            0    4     1       divisor  Ljava/time/Duration;
            2    4     2  dividendBigD  Ljava/math/BigDecimal;
            3    4     3   divisorBigD  Ljava/math/BigDecimal;
    MethodParameters:
         Name  Flags
      divisor  

  private java.math.BigDecimal toBigDecimalSeconds();
    descriptor: ()Ljava/math/BigDecimal;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1024
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            bipush 9
            invokestatic java.math.BigDecimal.valueOf:(JI)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            areturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  private static java.time.Duration create(java.math.BigDecimal);
    descriptor: (Ljava/math/BigDecimal;)Ljava/time/Duration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.math.BigDecimal seconds
         0: .line 1035
            aload 0 /* seconds */
            bipush 9
            invokevirtual java.math.BigDecimal.movePointRight:(I)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.toBigIntegerExact:()Ljava/math/BigInteger;
            astore 1 /* nanos */
        start local 1 // java.math.BigInteger nanos
         1: .line 1036
            aload 1 /* nanos */
            getstatic java.time.Duration.BI_NANOS_PER_SECOND:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
            astore 2 /* divRem */
        start local 2 // java.math.BigInteger[] divRem
         2: .line 1037
            aload 2 /* divRem */
            iconst_0
            aaload
            invokevirtual java.math.BigInteger.bitLength:()I
            bipush 63
            if_icmple 4
         3: .line 1038
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exceeds capacity of Duration: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* nanos */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1040
      StackMap locals: java.math.BigInteger java.math.BigInteger[]
      StackMap stack:
            aload 2 /* divRem */
            iconst_0
            aaload
            invokevirtual java.math.BigInteger.longValue:()J
            aload 2 /* divRem */
            iconst_1
            aaload
            invokevirtual java.math.BigInteger.intValue:()I
            i2l
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            areturn
        end local 2 // java.math.BigInteger[] divRem
        end local 1 // java.math.BigInteger nanos
        end local 0 // java.math.BigDecimal seconds
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  seconds  Ljava/math/BigDecimal;
            1    5     1    nanos  Ljava/math/BigInteger;
            2    5     2   divRem  [Ljava/math/BigInteger;
    MethodParameters:
         Name  Flags
      seconds  

  public java.time.Duration negated();
    descriptor: ()Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1056
            aload 0 /* this */
            ldc -1
            invokevirtual java.time.Duration.multipliedBy:(J)Ljava/time/Duration;
            areturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public java.time.Duration abs();
    descriptor: ()Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1071
            aload 0 /* this */
            invokevirtual java.time.Duration.isNegative:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual java.time.Duration.negated:()Ljava/time/Duration;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.time.Duration
         2: areturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/Duration;

  public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
    descriptor: (Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.temporal.Temporal temporal
         0: .line 1101
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 1102
            aload 1 /* temporal */
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
            astore 1 /* temporal */
         2: .line 1104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifeq 4
         3: .line 1105
            aload 1 /* temporal */
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
            astore 1 /* temporal */
         4: .line 1107
      StackMap locals:
      StackMap stack:
            aload 1 /* temporal */
            areturn
        end local 1 // java.time.temporal.Temporal temporal
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/time/Duration;
            0    5     1  temporal  Ljava/time/temporal/Temporal;
    MethodParameters:
          Name  Flags
      temporal  

  public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
    descriptor: (Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.temporal.Temporal temporal
         0: .line 1136
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 1137
            aload 1 /* temporal */
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
            astore 1 /* temporal */
         2: .line 1139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifeq 4
         3: .line 1140
            aload 1 /* temporal */
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            invokeinterface java.time.temporal.Temporal.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
            astore 1 /* temporal */
         4: .line 1142
      StackMap locals:
      StackMap stack:
            aload 1 /* temporal */
            areturn
        end local 1 // java.time.temporal.Temporal temporal
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/time/Duration;
            0    5     1  temporal  Ljava/time/temporal/Temporal;
    MethodParameters:
          Name  Flags
      temporal  

  public long toDays();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1158
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 86400
            ldiv
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public long toHours();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1172
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 3600
            ldiv
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public long toMinutes();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1186
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 60
            ldiv
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public long toSeconds();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1200
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public long toMillis();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1217
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lstore 1 /* tempSeconds */
        start local 1 // long tempSeconds
         1: .line 1218
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lstore 3 /* tempNanos */
        start local 3 // long tempNanos
         2: .line 1219
            lload 1 /* tempSeconds */
            lconst_0
            lcmp
            ifge 5
         3: .line 1222
            lload 1 /* tempSeconds */
            lconst_1
            ladd
            lstore 1 /* tempSeconds */
         4: .line 1223
            lload 3 /* tempNanos */
            ldc 1000000000
            lsub
            lstore 3 /* tempNanos */
         5: .line 1225
      StackMap locals: long long
      StackMap stack:
            lload 1 /* tempSeconds */
            sipush 1000
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lstore 5 /* millis */
        start local 5 // long millis
         6: .line 1226
            lload 5 /* millis */
            lload 3 /* tempNanos */
            ldc 1000000
            ldiv
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 5 /* millis */
         7: .line 1227
            lload 5 /* millis */
            lreturn
        end local 5 // long millis
        end local 3 // long tempNanos
        end local 1 // long tempSeconds
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/time/Duration;
            1    8     1  tempSeconds  J
            2    8     3    tempNanos  J
            6    8     5       millis  J

  public long toNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1240
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lstore 1 /* tempSeconds */
        start local 1 // long tempSeconds
         1: .line 1241
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lstore 3 /* tempNanos */
        start local 3 // long tempNanos
         2: .line 1242
            lload 1 /* tempSeconds */
            lconst_0
            lcmp
            ifge 5
         3: .line 1245
            lload 1 /* tempSeconds */
            lconst_1
            ladd
            lstore 1 /* tempSeconds */
         4: .line 1246
            lload 3 /* tempNanos */
            ldc 1000000000
            lsub
            lstore 3 /* tempNanos */
         5: .line 1248
      StackMap locals: long long
      StackMap stack:
            lload 1 /* tempSeconds */
            ldc 1000000000
            invokestatic java.lang.Math.multiplyExact:(JJ)J
            lstore 5 /* totalNanos */
        start local 5 // long totalNanos
         6: .line 1249
            lload 5 /* totalNanos */
            lload 3 /* tempNanos */
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 5 /* totalNanos */
         7: .line 1250
            lload 5 /* totalNanos */
            lreturn
        end local 5 // long totalNanos
        end local 3 // long tempNanos
        end local 1 // long tempSeconds
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/time/Duration;
            1    8     1  tempSeconds  J
            2    8     3    tempNanos  J
            6    8     5   totalNanos  J

  public long toDaysPart();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1266
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 86400
            ldiv
            lreturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int toHoursPart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1282
            aload 0 /* this */
            invokevirtual java.time.Duration.toHours:()J
            ldc 24
            lrem
            l2i
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int toMinutesPart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1298
            aload 0 /* this */
            invokevirtual java.time.Duration.toMinutes:()J
            ldc 60
            lrem
            l2i
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int toSecondsPart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1314
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 60
            lrem
            l2i
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int toMillisPart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1332
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ldc 1000000
            idiv
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public int toNanosPart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1349
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public java.time.Duration truncatedTo(java.time.temporal.TemporalUnit);
    descriptor: (Ljava/time/temporal/TemporalUnit;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.temporal.TemporalUnit unit
         0: .line 1378
            aload 1 /* unit */
            ldc "unit"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 1379
            aload 1 /* unit */
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            if_acmpne 3
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifge 2
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifne 3
         2: .line 1380
      StackMap locals:
      StackMap stack:
            new java.time.Duration
            dup
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            iconst_0
            invokespecial java.time.Duration.<init>:(JI)V
            areturn
         3: .line 1381
      StackMap locals:
      StackMap stack:
            aload 1 /* unit */
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            if_acmpne 5
         4: .line 1382
            aload 0 /* this */
            areturn
         5: .line 1384
      StackMap locals:
      StackMap stack:
            aload 1 /* unit */
            invokeinterface java.time.temporal.TemporalUnit.getDuration:()Ljava/time/Duration;
            astore 2 /* unitDur */
        start local 2 // java.time.Duration unitDur
         6: .line 1385
            aload 2 /* unitDur */
            invokevirtual java.time.Duration.getSeconds:()J
            ldc 86400
            lcmp
            ifle 8
         7: .line 1386
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            ldc "Unit is too large to be used for truncation"
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1388
      StackMap locals: java.time.Duration
      StackMap stack:
            aload 2 /* unitDur */
            invokevirtual java.time.Duration.toNanos:()J
            lstore 3 /* dur */
        start local 3 // long dur
         9: .line 1389
            ldc 86400000000000
            lload 3 /* dur */
            lrem
            lconst_0
            lcmp
            ifeq 11
        10: .line 1390
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            ldc "Unit must divide into a standard day without remainder"
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1392
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            ldc 86400
            lrem
            ldc 1000000000
            lmul
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            ladd
            lstore 5 /* nod */
        start local 5 // long nod
        12: .line 1393
            lload 5 /* nod */
            lload 3 /* dur */
            ldiv
            lload 3 /* dur */
            lmul
            lstore 7 /* result */
        start local 7 // long result
        13: .line 1394
            aload 0 /* this */
            lload 7 /* result */
            lload 5 /* nod */
            lsub
            invokevirtual java.time.Duration.plusNanos:(J)Ljava/time/Duration;
            areturn
        end local 7 // long result
        end local 5 // long nod
        end local 3 // long dur
        end local 2 // java.time.Duration unitDur
        end local 1 // java.time.temporal.TemporalUnit unit
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljava/time/Duration;
            0   14     1     unit  Ljava/time/temporal/TemporalUnit;
            6   14     2  unitDur  Ljava/time/Duration;
            9   14     3      dur  J
           12   14     5      nod  J
           13   14     7   result  J
    MethodParameters:
      Name  Flags
      unit  

  public int compareTo(java.time.Duration);
    descriptor: (Ljava/time/Duration;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.time.Duration otherDuration
         0: .line 1409
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            aload 1 /* otherDuration */
            getfield java.time.Duration.seconds:J
            invokestatic java.lang.Long.compare:(JJ)I
            istore 2 /* cmp */
        start local 2 // int cmp
         1: .line 1410
            iload 2 /* cmp */
            ifeq 3
         2: .line 1411
            iload 2 /* cmp */
            ireturn
         3: .line 1413
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            aload 1 /* otherDuration */
            getfield java.time.Duration.nanos:I
            isub
            ireturn
        end local 2 // int cmp
        end local 1 // java.time.Duration otherDuration
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/time/Duration;
            0    4     1  otherDuration  Ljava/time/Duration;
            1    4     2            cmp  I
    MethodParameters:
               Name  Flags
      otherDuration  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.lang.Object otherDuration
         0: .line 1427
            aload 0 /* this */
            aload 1 /* otherDuration */
            if_acmpne 2
         1: .line 1428
            iconst_1
            ireturn
         2: .line 1430
      StackMap locals:
      StackMap stack:
            aload 1 /* otherDuration */
            instanceof java.time.Duration
            ifeq 8
         3: .line 1431
            aload 1 /* otherDuration */
            checkcast java.time.Duration
            astore 2 /* other */
        start local 2 // java.time.Duration other
         4: .line 1432
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            aload 2 /* other */
            getfield java.time.Duration.seconds:J
            lcmp
            ifne 7
         5: .line 1433
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            aload 2 /* other */
            getfield java.time.Duration.nanos:I
            if_icmpne 7
         6: .line 1432
            iconst_1
            ireturn
      StackMap locals: java.time.Duration
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // java.time.Duration other
         8: .line 1435
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object otherDuration
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ljava/time/Duration;
            0    9     1  otherDuration  Ljava/lang/Object;
            4    8     2          other  Ljava/time/Duration;
    MethodParameters:
               Name  Flags
      otherDuration  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1445
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            bipush 32
            lushr
            lxor
            l2i
            bipush 51
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            imul
            iadd
            ireturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1473
            aload 0 /* this */
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            if_acmpne 2
         1: .line 1474
            ldc "PT0S"
            areturn
         2: .line 1476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lstore 1 /* effectiveTotalSecs */
        start local 1 // long effectiveTotalSecs
         3: .line 1477
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifge 5
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifle 5
         4: .line 1478
            lload 1 /* effectiveTotalSecs */
            lconst_1
            ladd
            lstore 1 /* effectiveTotalSecs */
         5: .line 1480
      StackMap locals: long
      StackMap stack:
            lload 1 /* effectiveTotalSecs */
            ldc 3600
            ldiv
            lstore 3 /* hours */
        start local 3 // long hours
         6: .line 1481
            lload 1 /* effectiveTotalSecs */
            ldc 3600
            lrem
            ldc 60
            ldiv
            l2i
            istore 5 /* minutes */
        start local 5 // int minutes
         7: .line 1482
            lload 1 /* effectiveTotalSecs */
            ldc 60
            lrem
            l2i
            istore 6 /* secs */
        start local 6 // int secs
         8: .line 1483
            new java.lang.StringBuilder
            dup
            bipush 24
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 7 /* buf */
        start local 7 // java.lang.StringBuilder buf
         9: .line 1484
            aload 7 /* buf */
            ldc "PT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1485
            lload 3 /* hours */
            lconst_0
            lcmp
            ifeq 12
        11: .line 1486
            aload 7 /* buf */
            lload 3 /* hours */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            bipush 72
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 1488
      StackMap locals: java.time.Duration long long int int java.lang.StringBuilder
      StackMap stack:
            iload 5 /* minutes */
            ifeq 14
        13: .line 1489
            aload 7 /* buf */
            iload 5 /* minutes */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 77
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1491
      StackMap locals:
      StackMap stack:
            iload 6 /* secs */
            ifne 16
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifne 16
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmple 16
        15: .line 1492
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        16: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifge 22
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifle 22
        17: .line 1495
            iload 6 /* secs */
            ifne 20
        18: .line 1496
            aload 7 /* buf */
            ldc "-0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1497
            goto 23
        20: .line 1498
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 6 /* secs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        21: .line 1500
            goto 23
        22: .line 1501
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 6 /* secs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        23: .line 1503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            ifle 33
        24: .line 1504
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 8 /* pos */
        start local 8 // int pos
        25: .line 1505
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            lconst_0
            lcmp
            ifge 28
        26: .line 1506
            aload 7 /* buf */
            ldc 2000000000
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        27: .line 1507
            goto 31
        28: .line 1508
      StackMap locals: int
      StackMap stack:
            aload 7 /* buf */
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            i2l
            ldc 1000000000
            ladd
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        29: .line 1510
            goto 31
        30: .line 1511
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        31: .line 1510
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 48
            if_icmpeq 30
        32: .line 1513
            aload 7 /* buf */
            iload 8 /* pos */
            bipush 46
            invokevirtual java.lang.StringBuilder.setCharAt:(IC)V
        end local 8 // int pos
        33: .line 1515
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            bipush 83
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        34: .line 1516
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.StringBuilder buf
        end local 6 // int secs
        end local 5 // int minutes
        end local 3 // long hours
        end local 1 // long effectiveTotalSecs
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   35     0                this  Ljava/time/Duration;
            3   35     1  effectiveTotalSecs  J
            6   35     3               hours  J
            7   35     5             minutes  I
            8   35     6                secs  I
            9   35     7                 buf  Ljava/lang/StringBuilder;
           25   33     8                 pos  I

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.Duration this
         0: .line 1533
            new java.time.Ser
            dup
            iconst_1
            aload 0 /* this */
            invokespecial java.time.Ser.<init>:(BLjava/lang/Object;)V
            areturn
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.io.ObjectInputStream s
         0: .line 1543
            new java.io.InvalidObjectException
            dup
            ldc "Deserialization via serialization delegate"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/Duration;
            0    1     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      s     

  void writeExternal(java.io.DataOutput);
    descriptor: (Ljava/io/DataOutput;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.Duration this
        start local 1 // java.io.DataOutput out
         0: .line 1547
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.Duration.seconds:J
            invokeinterface java.io.DataOutput.writeLong:(J)V
         1: .line 1548
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.Duration.nanos:I
            invokeinterface java.io.DataOutput.writeInt:(I)V
         2: .line 1549
            return
        end local 1 // java.io.DataOutput out
        end local 0 // java.time.Duration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/Duration;
            0    3     1   out  Ljava/io/DataOutput;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  static java.time.Duration readExternal(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)Ljava/time/Duration;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.DataInput in
         0: .line 1552
            aload 0 /* in */
            invokeinterface java.io.DataInput.readLong:()J
            lstore 1 /* seconds */
        start local 1 // long seconds
         1: .line 1553
            aload 0 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 3 /* nanos */
        start local 3 // int nanos
         2: .line 1554
            lload 1 /* seconds */
            iload 3 /* nanos */
            i2l
            invokestatic java.time.Duration.ofSeconds:(JJ)Ljava/time/Duration;
            areturn
        end local 3 // int nanos
        end local 1 // long seconds
        end local 0 // java.io.DataInput in
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0       in  Ljava/io/DataInput;
            1    3     1  seconds  J
            2    3     3    nanos  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.time.Duration
            invokevirtual java.time.Duration.compareTo:(Ljava/time/Duration;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$java$time$temporal$ChronoUnit();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 133
            getstatic java.time.Duration.$SWITCH_TABLE$java$time$temporal$ChronoUnit:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic java.time.temporal.ChronoUnit.values:()[Ljava/time/temporal/ChronoUnit;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic java.time.temporal.ChronoUnit.CENTURIES:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 13
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 8
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic java.time.temporal.ChronoUnit.DECADES:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 12
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic java.time.temporal.ChronoUnit.ERAS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 15
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic java.time.temporal.ChronoUnit.FOREVER:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 16
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic java.time.temporal.ChronoUnit.HALF_DAYS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic java.time.temporal.ChronoUnit.HOURS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 6
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic java.time.temporal.ChronoUnit.MICROS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iconst_2
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic java.time.temporal.ChronoUnit.MILLENNIA:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 14
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic java.time.temporal.ChronoUnit.MILLIS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic java.time.temporal.ChronoUnit.MINUTES:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iconst_5
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic java.time.temporal.ChronoUnit.MONTHS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 10
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iconst_1
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iconst_4
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic java.time.temporal.ChronoUnit.WEEKS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 9
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic java.time.temporal.ChronoUnit.YEARS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            bipush 11
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            dup
            putstatic java.time.Duration.$SWITCH_TABLE$java$time$temporal$ChronoUnit:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Object;Ljava/time/temporal/TemporalAmount;Ljava/lang/Comparable<Ljava/time/Duration;>;Ljava/io/Serializable;
SourceFile: "Duration.java"
NestMembers:
  java.time.Duration$DurationUnits  java.time.Duration$Lazy
InnerClasses:
  private DurationUnits = java.time.Duration$DurationUnits of java.time.Duration
  private Lazy = java.time.Duration$Lazy of java.time.Duration