class android.media.ExifInterface$ExifAttribute
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.ExifInterface$ExifAttribute
  super_class: java.lang.Object
{
  public final int format;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int numberOfComponents;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final byte[] bytes;
    descriptor: [B
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private void <init>(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.media.ExifInterface$ExifAttribute this
        start local 1 // int format
        start local 2 // int numberOfComponents
        start local 3 // byte[] bytes
         0: .line 586
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 587
            aload 0 /* this */
            iload 1 /* format */
            putfield android.media.ExifInterface$ExifAttribute.format:I
         2: .line 588
            aload 0 /* this */
            iload 2 /* numberOfComponents */
            putfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
         3: .line 589
            aload 0 /* this */
            aload 3 /* bytes */
            putfield android.media.ExifInterface$ExifAttribute.bytes:[B
         4: .line 590
            return
        end local 3 // byte[] bytes
        end local 2 // int numberOfComponents
        end local 1 // int format
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Landroid/media/ExifInterface$ExifAttribute;
            0    5     1              format  I
            0    5     2  numberOfComponents  I
            0    5     3               bytes  [B
    MethodParameters:
                    Name  Flags
      format              
      numberOfComponents  
      bytes               

  public static android.media.ExifInterface$ExifAttribute createUShort(int[], java.nio.ByteOrder);
    descriptor: ([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // int[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 594
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            iconst_3
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 593
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 595
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 596
            aload 0 /* values */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: int[] java.nio.ByteOrder java.nio.ByteBuffer top int int int[]
      StackMap stack:
         4: aload 6
            iload 4
            iaload
            istore 3 /* value */
        start local 3 // int value
         5: .line 597
            aload 2 /* buffer */
            iload 3 /* value */
            i2s
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        end local 3 // int value
         6: .line 596
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 599
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_3
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // int[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     values  [I
            0    9     1  byteOrder  Ljava/nio/ByteOrder;
            2    9     2     buffer  Ljava/nio/ByteBuffer;
            5    6     3      value  I
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createUShort(int, java.nio.ByteOrder);
    descriptor: (ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int value
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 603
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 0 /* value */
            iastore
            aload 1 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createUShort:([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  I
            0    1     1  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createULong(long[], java.nio.ByteOrder);
    descriptor: ([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // long[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 608
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            iconst_4
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 607
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 609
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 610
            aload 0 /* values */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: long[] java.nio.ByteOrder java.nio.ByteBuffer top top int int long[]
      StackMap stack:
         4: aload 7
            iload 5
            laload
            lstore 3 /* value */
        start local 3 // long value
         5: .line 611
            aload 2 /* buffer */
            lload 3 /* value */
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        end local 3 // long value
         6: .line 610
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 613
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_4
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // long[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     values  [J
            0    9     1  byteOrder  Ljava/nio/ByteOrder;
            2    9     2     buffer  Ljava/nio/ByteBuffer;
            5    6     3      value  J
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createULong(long, java.nio.ByteOrder);
    descriptor: (JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long value
        start local 2 // java.nio.ByteOrder byteOrder
         0: .line 617
            iconst_1
            newarray 11
            dup
            iconst_0
            lload 0 /* value */
            lastore
            aload 2 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createULong:([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 2 // java.nio.ByteOrder byteOrder
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  J
            0    1     2  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createSLong(int[], java.nio.ByteOrder);
    descriptor: ([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // int[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 622
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            bipush 9
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 621
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 623
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 624
            aload 0 /* values */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: int[] java.nio.ByteOrder java.nio.ByteBuffer top int int int[]
      StackMap stack:
         4: aload 6
            iload 4
            iaload
            istore 3 /* value */
        start local 3 // int value
         5: .line 625
            aload 2 /* buffer */
            iload 3 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        end local 3 // int value
         6: .line 624
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 627
            new android.media.ExifInterface$ExifAttribute
            dup
            bipush 9
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // int[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     values  [I
            0    9     1  byteOrder  Ljava/nio/ByteOrder;
            2    9     2     buffer  Ljava/nio/ByteBuffer;
            5    6     3      value  I
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createSLong(int, java.nio.ByteOrder);
    descriptor: (ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int value
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 631
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 0 /* value */
            iastore
            aload 1 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createSLong:([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  I
            0    1     1  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createByte(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String value
         0: .line 636
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 3
            aload 0 /* value */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmplt 3
            aload 0 /* value */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 49
            if_icmpgt 3
         1: .line 637
            iconst_1
            newarray 8
            dup
            iconst_0
            aload 0 /* value */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            isub
            i2b
            bastore
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         2: .line 638
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_1
            aload 1 /* bytes */
            arraylength
            aload 1 /* bytes */
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 1 // byte[] bytes
         3: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 1 /* ascii */
        start local 1 // byte[] ascii
         4: .line 641
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_1
            aload 1 /* ascii */
            arraylength
            aload 1 /* ascii */
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 1 // byte[] ascii
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Ljava/lang/String;
            2    3     1  bytes  [B
            4    5     1  ascii  [B
    MethodParameters:
       Name  Flags
      value  

  public static android.media.ExifInterface$ExifAttribute createString(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String value
         0: .line 645
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 1 /* ascii */
        start local 1 // byte[] ascii
         1: .line 646
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_2
            aload 1 /* ascii */
            arraylength
            aload 1 /* ascii */
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 1 // byte[] ascii
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/String;
            1    2     1  ascii  [B
    MethodParameters:
       Name  Flags
      value  

  public static android.media.ExifInterface$ExifAttribute createURational(android.media.ExifInterface$Rational[], java.nio.ByteOrder);
    descriptor: ([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.media.ExifInterface$Rational[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 651
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            iconst_5
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 650
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 652
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 653
            aload 0 /* values */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: android.media.ExifInterface$Rational[] java.nio.ByteOrder java.nio.ByteBuffer top int int android.media.ExifInterface$Rational[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* value */
        start local 3 // android.media.ExifInterface$Rational value
         5: .line 654
            aload 2 /* buffer */
            aload 3 /* value */
            getfield android.media.ExifInterface$Rational.numerator:J
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         6: .line 655
            aload 2 /* buffer */
            aload 3 /* value */
            getfield android.media.ExifInterface$Rational.denominator:J
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        end local 3 // android.media.ExifInterface$Rational value
         7: .line 653
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 4
         9: .line 657
            new android.media.ExifInterface$ExifAttribute
            dup
            iconst_5
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$Rational[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0     values  [Landroid/media/ExifInterface$Rational;
            0   10     1  byteOrder  Ljava/nio/ByteOrder;
            2   10     2     buffer  Ljava/nio/ByteBuffer;
            5    7     3      value  Landroid/media/ExifInterface$Rational;
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createURational(android.media.ExifInterface$Rational, java.nio.ByteOrder);
    descriptor: (Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.ExifInterface$Rational value
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 661
            iconst_1
            anewarray android.media.ExifInterface$Rational
            dup
            iconst_0
            aload 0 /* value */
            aastore
            aload 1 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createURational:([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$Rational value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  Landroid/media/ExifInterface$Rational;
            0    1     1  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createSRational(android.media.ExifInterface$Rational[], java.nio.ByteOrder);
    descriptor: ([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.media.ExifInterface$Rational[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 666
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            bipush 10
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 665
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 667
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 668
            aload 0 /* values */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: android.media.ExifInterface$Rational[] java.nio.ByteOrder java.nio.ByteBuffer top int int android.media.ExifInterface$Rational[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* value */
        start local 3 // android.media.ExifInterface$Rational value
         5: .line 669
            aload 2 /* buffer */
            aload 3 /* value */
            getfield android.media.ExifInterface$Rational.numerator:J
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         6: .line 670
            aload 2 /* buffer */
            aload 3 /* value */
            getfield android.media.ExifInterface$Rational.denominator:J
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        end local 3 // android.media.ExifInterface$Rational value
         7: .line 668
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 4
         9: .line 672
            new android.media.ExifInterface$ExifAttribute
            dup
            bipush 10
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$Rational[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0     values  [Landroid/media/ExifInterface$Rational;
            0   10     1  byteOrder  Ljava/nio/ByteOrder;
            2   10     2     buffer  Ljava/nio/ByteBuffer;
            5    7     3      value  Landroid/media/ExifInterface$Rational;
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createSRational(android.media.ExifInterface$Rational, java.nio.ByteOrder);
    descriptor: (Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.ExifInterface$Rational value
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 676
            iconst_1
            anewarray android.media.ExifInterface$Rational
            dup
            iconst_0
            aload 0 /* value */
            aastore
            aload 1 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createSRational:([Landroid/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$Rational value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  Landroid/media/ExifInterface$Rational;
            0    1     1  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createDouble(double[], java.nio.ByteOrder);
    descriptor: ([DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // double[] values
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 681
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            bipush 12
            iaload
            aload 0 /* values */
            arraylength
            imul
            newarray 8
         1: .line 680
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 682
            aload 2 /* buffer */
            aload 1 /* byteOrder */
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 683
            aload 0 /* values */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: double[] java.nio.ByteOrder java.nio.ByteBuffer top top int int double[]
      StackMap stack:
         4: aload 7
            iload 5
            daload
            dstore 3 /* value */
        start local 3 // double value
         5: .line 684
            aload 2 /* buffer */
            dload 3 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
        end local 3 // double value
         6: .line 683
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 686
            new android.media.ExifInterface$ExifAttribute
            dup
            bipush 12
            aload 0 /* values */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokespecial android.media.ExifInterface$ExifAttribute.<init>:(II[B)V
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // double[] values
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     values  [D
            0    9     1  byteOrder  Ljava/nio/ByteOrder;
            2    9     2     buffer  Ljava/nio/ByteBuffer;
            5    6     3      value  D
    MethodParameters:
           Name  Flags
      values     
      byteOrder  

  public static android.media.ExifInterface$ExifAttribute createDouble(double, java.nio.ByteOrder);
    descriptor: (DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // double value
        start local 2 // java.nio.ByteOrder byteOrder
         0: .line 690
            iconst_1
            newarray 7
            dup
            iconst_0
            dload 0 /* value */
            dastore
            aload 2 /* byteOrder */
            invokestatic android.media.ExifInterface$ExifAttribute.createDouble:([DLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
            areturn
        end local 2 // java.nio.ByteOrder byteOrder
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  D
            0    1     2  byteOrder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      value      
      byteOrder  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.ExifInterface$ExifAttribute this
         0: .line 695
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic android.media.ExifInterface.IFD_FORMAT_NAMES:[Ljava/lang/String;
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", data length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface$ExifAttribute;

  private java.lang.Object getValue(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // android.media.ExifInterface$ExifAttribute this
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 701
            new android.media.ExifInterface$ByteOrderedDataInputStream
            dup
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            invokespecial android.media.ExifInterface$ByteOrderedDataInputStream.<init>:([B)V
         1: .line 700
            astore 2 /* inputStream */
        start local 2 // android.media.ExifInterface$ByteOrderedDataInputStream inputStream
         2: .line 702
            aload 2 /* inputStream */
            aload 1 /* byteOrder */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         3: .line 703
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            tableswitch { // 1 - 12
                    1: 4
                    2: 9
                    3: 34
                    4: 42
                    5: 50
                    6: 4
                    7: 9
                    8: 60
                    9: 68
                   10: 76
                   11: 86
                   12: 94
              default: 102
          }
         4: .line 707
      StackMap locals: android.media.ExifInterface$ByteOrderedDataInputStream
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            arraylength
            iconst_1
            if_icmpne 7
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iconst_0
            baload
            iflt 7
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iconst_0
            baload
            iconst_1
            if_icmpgt 7
         5: .line 708
            new java.lang.String
            dup
            iconst_1
            newarray 5
            dup
            iconst_0
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iconst_0
            baload
            bipush 48
            iadd
            i2c
            castore
            invokespecial java.lang.String.<init>:([C)V
         6: areturn
         7: .line 710
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            getstatic android.media.ExifInterface.ASCII:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
         8: areturn
         9: .line 714
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* index */
        start local 3 // int index
        10: .line 715
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            getstatic android.media.ExifInterface.EXIF_ASCII_PREFIX:[B
            arraylength
            if_icmplt 21
        11: .line 716
            iconst_1
            istore 4 /* same */
        start local 4 // boolean same
        12: .line 717
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 718
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iload 5 /* i */
            baload
            getstatic android.media.ExifInterface.EXIF_ASCII_PREFIX:[B
            iload 5 /* i */
            baload
            if_icmpeq 17
        15: .line 719
            iconst_0
            istore 4 /* same */
        16: .line 720
            goto 19
        17: .line 717
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            getstatic android.media.ExifInterface.EXIF_ASCII_PREFIX:[B
            arraylength
            if_icmplt 14
        end local 5 // int i
        19: .line 723
      StackMap locals:
      StackMap stack:
            iload 4 /* same */
            ifeq 21
        20: .line 724
            getstatic android.media.ExifInterface.EXIF_ASCII_PREFIX:[B
            arraylength
            istore 3 /* index */
        end local 4 // boolean same
        21: .line 728
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* stringBuilder */
        start local 4 // java.lang.StringBuilder stringBuilder
        22: .line 729
            goto 31
        23: .line 730
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.bytes:[B
            iload 3 /* index */
            baload
            istore 5 /* ch */
        start local 5 // int ch
        24: .line 731
            iload 5 /* ch */
            ifne 26
        25: .line 732
            goto 32
        26: .line 734
      StackMap locals: int
      StackMap stack:
            iload 5 /* ch */
            bipush 32
            if_icmplt 29
        27: .line 735
            aload 4 /* stringBuilder */
            iload 5 /* ch */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        28: .line 736
            goto 30
        29: .line 737
      StackMap locals:
      StackMap stack:
            aload 4 /* stringBuilder */
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 739
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
        end local 5 // int ch
        31: .line 729
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 23
        32: .line 741
      StackMap locals:
      StackMap stack:
            aload 4 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: areturn
        end local 4 // java.lang.StringBuilder stringBuilder
        end local 3 // int index
        34: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 10
            astore 3 /* values */
        start local 3 // int[] values
        35: .line 745
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        36: goto 39
        37: .line 746
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedShort:()I
            iastore
        38: .line 745
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 37
        end local 4 // int i
        40: .line 748
            aload 3 /* values */
        41: areturn
        end local 3 // int[] values
        42: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 11
            astore 3 /* values */
        start local 3 // long[] values
        43: .line 752
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        44: goto 47
        45: .line 753
      StackMap locals: long[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedInt:()J
            lastore
        46: .line 752
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 45
        end local 4 // int i
        48: .line 755
            aload 3 /* values */
        49: areturn
        end local 3 // long[] values
        50: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            anewarray android.media.ExifInterface$Rational
            astore 3 /* values */
        start local 3 // android.media.ExifInterface$Rational[] values
        51: .line 759
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        52: goto 57
        53: .line 760
      StackMap locals: android.media.ExifInterface$Rational[] int
      StackMap stack:
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedInt:()J
            lstore 5 /* numerator */
        start local 5 // long numerator
        54: .line 761
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readUnsignedInt:()J
            lstore 7 /* denominator */
        start local 7 // long denominator
        55: .line 762
            aload 3 /* values */
            iload 4 /* i */
            new android.media.ExifInterface$Rational
            dup
            lload 5 /* numerator */
            lload 7 /* denominator */
            invokespecial android.media.ExifInterface$Rational.<init>:(JJ)V
            aastore
        end local 7 // long denominator
        end local 5 // long numerator
        56: .line 759
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        57: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 53
        end local 4 // int i
        58: .line 764
            aload 3 /* values */
        59: areturn
        end local 3 // android.media.ExifInterface$Rational[] values
        60: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 10
            astore 3 /* values */
        start local 3 // int[] values
        61: .line 768
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        62: goto 65
        63: .line 769
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readShort:()S
            iastore
        64: .line 768
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 63
        end local 4 // int i
        66: .line 771
            aload 3 /* values */
        67: areturn
        end local 3 // int[] values
        68: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 10
            astore 3 /* values */
        start local 3 // int[] values
        69: .line 775
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        70: goto 73
        71: .line 776
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            iastore
        72: .line 775
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 71
        end local 4 // int i
        74: .line 778
            aload 3 /* values */
        75: areturn
        end local 3 // int[] values
        76: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            anewarray android.media.ExifInterface$Rational
            astore 3 /* values */
        start local 3 // android.media.ExifInterface$Rational[] values
        77: .line 782
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        78: goto 83
        79: .line 783
      StackMap locals: android.media.ExifInterface$Rational[] int
      StackMap stack:
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            i2l
            lstore 5 /* numerator */
        start local 5 // long numerator
        80: .line 784
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readInt:()I
            i2l
            lstore 7 /* denominator */
        start local 7 // long denominator
        81: .line 785
            aload 3 /* values */
            iload 4 /* i */
            new android.media.ExifInterface$Rational
            dup
            lload 5 /* numerator */
            lload 7 /* denominator */
            invokespecial android.media.ExifInterface$Rational.<init>:(JJ)V
            aastore
        end local 7 // long denominator
        end local 5 // long numerator
        82: .line 782
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 79
        end local 4 // int i
        84: .line 787
            aload 3 /* values */
        85: areturn
        end local 3 // android.media.ExifInterface$Rational[] values
        86: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 7
            astore 3 /* values */
        start local 3 // double[] values
        87: .line 791
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        88: goto 91
        89: .line 792
      StackMap locals: double[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readFloat:()F
            f2d
            dastore
        90: .line 791
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        91: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 89
        end local 4 // int i
        92: .line 794
            aload 3 /* values */
        93: areturn
        end local 3 // double[] values
        94: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            newarray 7
            astore 3 /* values */
        start local 3 // double[] values
        95: .line 798
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        96: goto 99
        97: .line 799
      StackMap locals: double[] int
      StackMap stack:
            aload 3 /* values */
            iload 4 /* i */
            aload 2 /* inputStream */
            invokevirtual android.media.ExifInterface$ByteOrderedDataInputStream.readDouble:()D
            dastore
        98: .line 798
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        99: iload 4 /* i */
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            if_icmplt 97
        end local 4 // int i
       100: .line 801
            aload 3 /* values */
       101: areturn
        end local 3 // double[] values
       102: .line 804
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // android.media.ExifInterface$ByteOrderedDataInputStream inputStream
       103: .line 806
      StackMap locals: android.media.ExifInterface$ExifAttribute java.nio.ByteOrder
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
       104: .line 807
            ldc "ExifInterface"
            ldc "IOException occurred during reading a value"
            aload 2 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
       105: .line 808
            aconst_null
            areturn
        end local 2 // java.io.IOException e
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  106     0           this  Landroid/media/ExifInterface$ExifAttribute;
            0  106     1      byteOrder  Ljava/nio/ByteOrder;
            2  103     2    inputStream  Landroid/media/ExifInterface$ByteOrderedDataInputStream;
           10   34     3          index  I
           12   21     4           same  Z
           13   19     5              i  I
           22   34     4  stringBuilder  Ljava/lang/StringBuilder;
           24   31     5             ch  I
           35   42     3         values  [I
           36   40     4              i  I
           43   50     3         values  [J
           44   48     4              i  I
           51   60     3         values  [Landroid/media/ExifInterface$Rational;
           52   58     4              i  I
           54   56     5      numerator  J
           55   56     7    denominator  J
           61   68     3         values  [I
           62   66     4              i  I
           69   76     3         values  [I
           70   74     4              i  I
           77   86     3         values  [Landroid/media/ExifInterface$Rational;
           78   84     4              i  I
           80   82     5      numerator  J
           81   82     7    denominator  J
           87   94     3         values  [D
           88   92     4              i  I
           95  102     3         values  [D
           96  100     4              i  I
          104  106     2              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     6     103  Class java.io.IOException
           7     8     103  Class java.io.IOException
           9    33     103  Class java.io.IOException
          34    41     103  Class java.io.IOException
          42    49     103  Class java.io.IOException
          50    59     103  Class java.io.IOException
          60    67     103  Class java.io.IOException
          68    75     103  Class java.io.IOException
          76    85     103  Class java.io.IOException
          86    93     103  Class java.io.IOException
          94   101     103  Class java.io.IOException
    MethodParameters:
           Name  Flags
      byteOrder  

  public double getDoubleValue(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface$ExifAttribute this
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 813
            aload 0 /* this */
            aload 1 /* byteOrder */
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 814
            aload 2 /* value */
            ifnonnull 3
         2: .line 815
            new java.lang.NumberFormatException
            dup
            ldc "NULL can't be converted to a double value"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 817
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 5
         4: .line 818
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dreturn
         5: .line 820
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof long[]
            ifeq 10
         6: .line 821
            aload 2 /* value */
            checkcast long[]
            astore 3 /* array */
        start local 3 // long[] array
         7: .line 822
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 9
         8: .line 823
            aload 3 /* array */
            iconst_0
            laload
            l2d
            dreturn
         9: .line 825
      StackMap locals: long[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // long[] array
        10: .line 827
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof int[]
            ifeq 15
        11: .line 828
            aload 2 /* value */
            checkcast int[]
            astore 3 /* array */
        start local 3 // int[] array
        12: .line 829
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 14
        13: .line 830
            aload 3 /* array */
            iconst_0
            iaload
            i2d
            dreturn
        14: .line 832
      StackMap locals: int[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int[] array
        15: .line 834
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof double[]
            ifeq 20
        16: .line 835
            aload 2 /* value */
            checkcast double[]
            astore 3 /* array */
        start local 3 // double[] array
        17: .line 836
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 19
        18: .line 837
            aload 3 /* array */
            iconst_0
            daload
            dreturn
        19: .line 839
      StackMap locals: double[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // double[] array
        20: .line 841
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof android.media.ExifInterface$Rational[]
            ifeq 25
        21: .line 842
            aload 2 /* value */
            checkcast android.media.ExifInterface$Rational[]
            astore 3 /* array */
        start local 3 // android.media.ExifInterface$Rational[] array
        22: .line 843
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 24
        23: .line 844
            aload 3 /* array */
            iconst_0
            aaload
            invokevirtual android.media.ExifInterface$Rational.calculate:()D
            dreturn
        24: .line 846
      StackMap locals: android.media.ExifInterface$Rational[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // android.media.ExifInterface$Rational[] array
        25: .line 848
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "Couldn't find a double value"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Landroid/media/ExifInterface$ExifAttribute;
            0   26     1  byteOrder  Ljava/nio/ByteOrder;
            1   26     2      value  Ljava/lang/Object;
            7   10     3      array  [J
           12   15     3      array  [I
           17   20     3      array  [D
           22   25     3      array  [Landroid/media/ExifInterface$Rational;
    MethodParameters:
           Name  Flags
      byteOrder  

  public int getIntValue(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.ExifInterface$ExifAttribute this
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 852
            aload 0 /* this */
            aload 1 /* byteOrder */
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 853
            aload 2 /* value */
            ifnonnull 3
         2: .line 854
            new java.lang.NumberFormatException
            dup
            ldc "NULL can't be converted to a integer value"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 856
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 5
         4: .line 857
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
         5: .line 859
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof long[]
            ifeq 10
         6: .line 860
            aload 2 /* value */
            checkcast long[]
            astore 3 /* array */
        start local 3 // long[] array
         7: .line 861
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 9
         8: .line 862
            aload 3 /* array */
            iconst_0
            laload
            l2i
            ireturn
         9: .line 864
      StackMap locals: long[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // long[] array
        10: .line 866
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof int[]
            ifeq 15
        11: .line 867
            aload 2 /* value */
            checkcast int[]
            astore 3 /* array */
        start local 3 // int[] array
        12: .line 868
            aload 3 /* array */
            arraylength
            iconst_1
            if_icmpne 14
        13: .line 869
            aload 3 /* array */
            iconst_0
            iaload
            ireturn
        14: .line 871
      StackMap locals: int[]
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "There are more than one component"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int[] array
        15: .line 873
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "Couldn't find a integer value"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Landroid/media/ExifInterface$ExifAttribute;
            0   16     1  byteOrder  Ljava/nio/ByteOrder;
            1   16     2      value  Ljava/lang/Object;
            7   10     3      array  [J
           12   15     3      array  [I
    MethodParameters:
           Name  Flags
      byteOrder  

  public java.lang.String getStringValue(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.media.ExifInterface$ExifAttribute this
        start local 1 // java.nio.ByteOrder byteOrder
         0: .line 877
            aload 0 /* this */
            aload 1 /* byteOrder */
            invokevirtual android.media.ExifInterface$ExifAttribute.getValue:(Ljava/nio/ByteOrder;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 878
            aload 2 /* value */
            ifnonnull 3
         2: .line 879
            aconst_null
            areturn
         3: .line 881
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 5
         4: .line 882
            aload 2 /* value */
            checkcast java.lang.String
            areturn
         5: .line 885
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* stringBuilder */
        start local 3 // java.lang.StringBuilder stringBuilder
         6: .line 886
            aload 2 /* value */
            instanceof long[]
            ifeq 16
         7: .line 887
            aload 2 /* value */
            checkcast long[]
            astore 4 /* array */
        start local 4 // long[] array
         8: .line 888
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 14
        10: .line 889
      StackMap locals: java.lang.StringBuilder long[] int
      StackMap stack:
            aload 3 /* stringBuilder */
            aload 4 /* array */
            iload 5 /* i */
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        11: .line 890
            iload 5 /* i */
            iconst_1
            iadd
            aload 4 /* array */
            arraylength
            if_icmpeq 13
        12: .line 891
            aload 3 /* stringBuilder */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 888
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 4 /* array */
            arraylength
            if_icmplt 10
        end local 5 // int i
        15: .line 894
            aload 3 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // long[] array
        16: .line 896
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof int[]
            ifeq 26
        17: .line 897
            aload 2 /* value */
            checkcast int[]
            astore 4 /* array */
        start local 4 // int[] array
        18: .line 898
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        19: goto 24
        20: .line 899
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* stringBuilder */
            aload 4 /* array */
            iload 5 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        21: .line 900
            iload 5 /* i */
            iconst_1
            iadd
            aload 4 /* array */
            arraylength
            if_icmpeq 23
        22: .line 901
            aload 3 /* stringBuilder */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 898
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 5 /* i */
            aload 4 /* array */
            arraylength
            if_icmplt 20
        end local 5 // int i
        25: .line 904
            aload 3 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int[] array
        26: .line 906
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof double[]
            ifeq 36
        27: .line 907
            aload 2 /* value */
            checkcast double[]
            astore 4 /* array */
        start local 4 // double[] array
        28: .line 908
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        29: goto 34
        30: .line 909
      StackMap locals: double[] int
      StackMap stack:
            aload 3 /* stringBuilder */
            aload 4 /* array */
            iload 5 /* i */
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            pop
        31: .line 910
            iload 5 /* i */
            iconst_1
            iadd
            aload 4 /* array */
            arraylength
            if_icmpeq 33
        32: .line 911
            aload 3 /* stringBuilder */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 908
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 5 /* i */
            aload 4 /* array */
            arraylength
            if_icmplt 30
        end local 5 // int i
        35: .line 914
            aload 3 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // double[] array
        36: .line 916
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof android.media.ExifInterface$Rational[]
            ifeq 48
        37: .line 917
            aload 2 /* value */
            checkcast android.media.ExifInterface$Rational[]
            astore 4 /* array */
        start local 4 // android.media.ExifInterface$Rational[] array
        38: .line 918
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        39: goto 46
        40: .line 919
      StackMap locals: android.media.ExifInterface$Rational[] int
      StackMap stack:
            aload 3 /* stringBuilder */
            aload 4 /* array */
            iload 5 /* i */
            aaload
            getfield android.media.ExifInterface$Rational.numerator:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        41: .line 920
            aload 3 /* stringBuilder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 921
            aload 3 /* stringBuilder */
            aload 4 /* array */
            iload 5 /* i */
            aaload
            getfield android.media.ExifInterface$Rational.denominator:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        43: .line 922
            iload 5 /* i */
            iconst_1
            iadd
            aload 4 /* array */
            arraylength
            if_icmpeq 45
        44: .line 923
            aload 3 /* stringBuilder */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 918
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 5 /* i */
            aload 4 /* array */
            arraylength
            if_icmplt 40
        end local 5 // int i
        47: .line 926
            aload 3 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // android.media.ExifInterface$Rational[] array
        48: .line 928
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.StringBuilder stringBuilder
        end local 2 // java.lang.Object value
        end local 1 // java.nio.ByteOrder byteOrder
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   49     0           this  Landroid/media/ExifInterface$ExifAttribute;
            0   49     1      byteOrder  Ljava/nio/ByteOrder;
            1   49     2          value  Ljava/lang/Object;
            6   49     3  stringBuilder  Ljava/lang/StringBuilder;
            8   16     4          array  [J
            9   15     5              i  I
           18   26     4          array  [I
           19   25     5              i  I
           28   36     4          array  [D
           29   35     5              i  I
           38   48     4          array  [Landroid/media/ExifInterface$Rational;
           39   47     5              i  I
    MethodParameters:
           Name  Flags
      byteOrder  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.ExifInterface$ExifAttribute this
         0: .line 932
            getstatic android.media.ExifInterface.IFD_FORMAT_BYTES_PER_FORMAT:[I
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.format:I
            iaload
            aload 0 /* this */
            getfield android.media.ExifInterface$ExifAttribute.numberOfComponents:I
            imul
            ireturn
        end local 0 // android.media.ExifInterface$ExifAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ExifInterface$ExifAttribute;
}
SourceFile: "ExifInterface.java"
NestHost: android.media.ExifInterface
InnerClasses:
  private ByteOrderedDataInputStream = android.media.ExifInterface$ByteOrderedDataInputStream of android.media.ExifInterface
  private ExifAttribute = android.media.ExifInterface$ExifAttribute of android.media.ExifInterface
  private Rational = android.media.ExifInterface$Rational of android.media.ExifInterface