public final class com.sun.javafx.iio.png.PNGImageLoader2 extends com.sun.javafx.iio.common.ImageLoaderImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.javafx.iio.png.PNGImageLoader2
  super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
  static final byte[] FILE_SIG;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

  static final int[] numBandsPerColorType;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

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

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

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

  private final java.io.DataInputStream stream;
    descriptor: Ljava/io/DataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

  private byte[][] palette;
    descriptor: [[B
    flags: (0x0002) ACC_PRIVATE

  private static final int[] starting_y;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] starting_x;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] increment_y;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] increment_x;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 42
            bipush 8
            newarray 8
            dup
            iconst_0
            bipush -119
            bastore
            dup
            iconst_1
            bipush 80
            bastore
            dup
            iconst_2
            bipush 78
            bastore
            dup
            iconst_3
         1: .line 43
            bipush 71
            bastore
            dup
            iconst_4
            bipush 13
            bastore
            dup
            iconst_5
            bipush 10
            bastore
            dup
            bipush 6
            bipush 26
            bastore
            dup
            bipush 7
            bipush 10
            bastore
         2: .line 42
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.FILE_SIG:[B
         3: .line 58
            bipush 7
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_3
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            iconst_5
            iconst_m1
            iastore
            dup
            bipush 6
            iconst_4
            iastore
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
         4: .line 519
            bipush 8
            newarray 10
            dup
            iconst_2
            iconst_4
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
         5: .line 520
            bipush 8
            newarray 10
            dup
            iconst_1
            iconst_4
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            dup
            iconst_5
            iconst_1
            iastore
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
         6: .line 521
            bipush 8
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            bipush 8
            iastore
            dup
            iconst_3
            iconst_4
            iastore
            dup
            iconst_4
            iconst_4
            iastore
            dup
            iconst_5
            iconst_2
            iastore
            dup
            bipush 6
            iconst_2
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
         7: .line 522
            bipush 8
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            iconst_4
            iastore
            dup
            iconst_3
            iconst_4
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            iconst_5
            iconst_2
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // java.io.InputStream input
         0: .line 77
            aload 0 /* this */
            invokestatic com.sun.javafx.iio.png.PNGDescriptor.getInstance:()Lcom/sun/javafx/iio/common/ImageDescriptor;
            invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
         1: .line 70
            aload 0 /* this */
            iconst_0
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
         2: .line 71
            aload 0 /* this */
            iconst_0
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
         3: .line 78
            aload 0 /* this */
            new java.io.DataInputStream
            dup
            aload 1 /* input */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            putfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
         4: .line 80
            aload 0 /* this */
            bipush 8
            newarray 8
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([B)[B
            astore 2 /* signature */
        start local 2 // byte[] signature
         5: .line 82
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.FILE_SIG:[B
            aload 2 /* signature */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 7
         6: .line 83
            new java.io.IOException
            dup
            ldc "Bad PNG signature!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 86
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 java.io.InputStream byte[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readHeader:()V
         8: .line 87
            return
        end local 2 // byte[] signature
        end local 1 // java.io.InputStream input
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    9     1      input  Ljava/io/InputStream;
            5    9     2  signature  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  private void readHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 90
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readChunk:()[I
            astore 1 /* hdrData */
        start local 1 // int[] hdrData
         1: .line 92
            aload 1 /* hdrData */
            iconst_1
            iaload
            ldc 1229472850
            if_icmpeq 3
            aload 1 /* hdrData */
            iconst_0
            iaload
            bipush 13
            if_icmpeq 3
         2: .line 93
            new java.io.IOException
            dup
            ldc "Bad PNG header!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 96
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            putfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
         4: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            putfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
         5: .line 99
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            ifeq 6
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            ifne 7
         6: .line 100
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Bad PNG image size!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            putfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
         8: .line 104
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            iconst_1
            if_icmpeq 11
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            iconst_2
            if_icmpeq 11
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            iconst_4
            if_icmpeq 11
         9: .line 105
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 8
            if_icmpeq 11
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 16
            if_icmpeq 11
        10: .line 106
            new java.io.IOException
            dup
            ldc "Bad PNG bit depth"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            putfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
        12: .line 111
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            bipush 6
            if_icmpgt 13
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_1
            if_icmpeq 13
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_5
            if_icmpne 14
        13: .line 112
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Bad PNG color type"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_3
            if_icmpeq 15
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            ifeq 15
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 8
            if_icmplt 16
        15: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_3
            if_icmpne 17
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 16
            if_icmpne 17
        16: .line 119
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Bad color type/bit depth combination!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 2 /* compressionMethod */
        start local 2 // byte compressionMethod
        18: .line 123
            iload 2 /* compressionMethod */
            ifeq 20
        19: .line 124
            new java.io.IOException
            dup
            ldc "Bad PNG comression!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 127
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 3 /* filterMethod */
        start local 3 // byte filterMethod
        21: .line 128
            iload 3 /* filterMethod */
            ifeq 23
        22: .line 129
            new java.io.IOException
            dup
            ldc "Bad PNG filter method!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 132
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            istore 4 /* interlaceMethod */
        start local 4 // byte interlaceMethod
        24: .line 134
            iload 4 /* interlaceMethod */
            ifeq 26
            iload 4 /* interlaceMethod */
            iconst_1
            if_icmpeq 26
        25: .line 135
            new java.io.IOException
            dup
            ldc "Unknown interlace method (not 0 or 1)!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 138
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            pop
        27: .line 140
            aload 0 /* this */
            iload 4 /* interlaceMethod */
            iconst_1
            if_icmpne 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.png.PNGImageLoader2
        28: iconst_0
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int[] int int int
      StackMap stack: com.sun.javafx.iio.png.PNGImageLoader2 int
        29: putfield com.sun.javafx.iio.png.PNGImageLoader2.isInterlaced:Z
        30: .line 141
            return
        end local 4 // byte interlaceMethod
        end local 3 // byte filterMethod
        end local 2 // byte compressionMethod
        end local 1 // int[] hdrData
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            1   31     1            hdrData  [I
           18   31     2  compressionMethod  B
           21   31     3       filterMethod  B
           24   31     4    interlaceMethod  B
    Exceptions:
      throws java.io.IOException

  private int[] readChunk();
    descriptor: ()[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 144
            iconst_2
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            iastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            iastore
            areturn
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
    Exceptions:
      throws java.io.IOException

  private byte[] readBytes(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] data
         0: .line 148
            aload 0 /* this */
            aload 1 /* data */
            iconst_0
            aload 1 /* data */
            arraylength
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([BII)[B
            areturn
        end local 1 // byte[] data
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    1     1  data  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  

  private byte[] readBytes(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] data
        start local 2 // int offs
        start local 3 // int size
         0: .line 152
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            aload 1 /* data */
            iload 2 /* offs */
            iload 3 /* size */
            invokevirtual java.io.DataInputStream.readFully:([BII)V
         1: .line 153
            aload 1 /* data */
            areturn
        end local 3 // int size
        end local 2 // int offs
        end local 1 // byte[] data
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    2     1  data  [B
            0    2     2  offs  I
            0    2     3  size  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  
      offs  
      size  

  private void skip(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int n
         0: .line 157
            iload 1 /* n */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            iload 1 /* n */
            invokevirtual java.io.DataInputStream.skipBytes:(I)I
            if_icmpeq 2
         1: .line 158
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         2: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    3     1     n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  private void readPaletteChunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 163
            iload 1 /* chunkLength */
            iconst_3
            idiv
            istore 2 /* numEntries */
        start local 2 // int numEntries
         1: .line 164
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishl
            istore 3 /* paletteEntries */
        start local 3 // int paletteEntries
         2: .line 165
            iload 2 /* numEntries */
            iload 3 /* paletteEntries */
            if_icmple 5
         3: .line 166
            aload 0 /* this */
            ldc "PLTE chunk contains too many entries for bit depth, ignoring extras."
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
         4: .line 167
            iload 3 /* paletteEntries */
            istore 2 /* numEntries */
         5: .line 170
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_3
            iload 3 /* paletteEntries */
            multianewarray [[B 2
            putfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
         6: .line 172
            aload 0 /* this */
            iload 1 /* chunkLength */
            newarray 8
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([B)[B
            astore 4 /* paletteData */
        start local 4 // byte[] paletteData
         7: .line 174
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: iconst_0
            istore 6 /* idx */
        start local 6 // int idx
         9: goto 16
        10: .line 175
      StackMap locals: byte[] int int
      StackMap stack:
            iconst_0
            istore 7 /* k */
        start local 7 // int k
        11: goto 14
        12: .line 176
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iload 7 /* k */
            aaload
            iload 5 /* i */
            aload 4 /* paletteData */
            iload 6 /* idx */
            iinc 6 /* idx */ 1
            baload
            bastore
        13: .line 175
            iinc 7 /* k */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* k */
            iconst_3
            if_icmpne 12
        end local 7 // int k
        15: .line 174
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 2 /* numEntries */
            if_icmpne 10
        end local 6 // int idx
        end local 5 // int i
        17: .line 179
            return
        end local 4 // byte[] paletteData
        end local 3 // int paletteEntries
        end local 2 // int numEntries
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   18     1     chunkLength  I
            1   18     2      numEntries  I
            2   18     3  paletteEntries  I
            7   18     4     paletteData  [B
            8   17     5               i  I
            9   17     6             idx  I
           11   15     7               k  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parsePaletteChunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 182
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            ifnull 6
         1: .line 183
            aload 0 /* this */
         2: .line 184
            ldc "A PNG image may not contain more than one PLTE chunk.\nThe chunk wil be ignored."
         3: .line 183
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
         4: .line 186
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
         5: .line 187
            return
         6: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            tableswitch { // 0 - 4
                    0: 9
                    1: 10
                    2: 10
                    3: 7
                    4: 9
              default: 10
          }
         7: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readPaletteChunk:(I)V
         8: .line 193
            return
         9: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "A PNG gray or gray alpha image cannot have a PLTE chunk.\nThe chunk wil be ignored."
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
        10: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
        11: .line 202
            return
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   12     1  chunkLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private boolean readPaletteTransparency(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 205
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            ifnonnull 4
         1: .line 206
            aload 0 /* this */
            ldc "tRNS chunk without prior PLTE chunk, ignoring it."
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
         2: .line 207
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
         3: .line 208
            iconst_0
            ireturn
         4: .line 211
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray byte[]
            astore 2 /* newPal */
        start local 2 // byte[][] newPal
         5: .line 213
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_0
            aload 2 /* newPal */
            iconst_0
            iconst_3
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 215
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_0
            aaload
            arraylength
            istore 3 /* paletteLength */
        start local 3 // int paletteLength
         7: .line 216
            aload 2 /* newPal */
            iconst_3
            iload 3 /* paletteLength */
            newarray 8
            aastore
         8: .line 218
            iload 1 /* chunkLength */
            iload 3 /* paletteLength */
            if_icmpge 9
            iload 1 /* chunkLength */
            goto 10
      StackMap locals: byte[][] int
      StackMap stack:
         9: iload 3 /* paletteLength */
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* nRead */
        start local 4 // int nRead
        11: .line 219
            aload 0 /* this */
            aload 2 /* newPal */
            iconst_3
            aaload
            iconst_0
            iload 4 /* nRead */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([BII)[B
            pop
        12: .line 221
            iload 4 /* nRead */
            istore 5 /* i */
        start local 5 // int i
        13: goto 16
        14: .line 222
      StackMap locals: int int
      StackMap stack:
            aload 2 /* newPal */
            iconst_3
            aaload
            iload 5 /* i */
            iconst_m1
            bastore
        15: .line 221
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 3 /* paletteLength */
            if_icmplt 14
        end local 5 // int i
        17: .line 225
            iload 4 /* nRead */
            iload 1 /* chunkLength */
            if_icmpge 19
        18: .line 226
            aload 0 /* this */
            iload 1 /* chunkLength */
            iload 4 /* nRead */
            isub
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
        19: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newPal */
            putfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
        20: .line 231
            iconst_1
            ireturn
        end local 4 // int nRead
        end local 3 // int paletteLength
        end local 2 // byte[][] newPal
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   21     1    chunkLength  I
            5   21     2         newPal  [[B
            7   21     3  paletteLength  I
           11   21     4          nRead  I
           13   17     5              i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private boolean readGrayTransparency(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 235
            iload 1 /* chunkLength */
            iconst_2
            if_icmpne 3
         1: .line 236
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readShort:()S
            putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
         2: .line 237
            iconst_1
            ireturn
         3: .line 239
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    4     1  chunkLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private boolean readRgbTransparency(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 243
            iload 1 /* chunkLength */
            bipush 6
            if_icmpne 5
         1: .line 244
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readShort:()S
            putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
         2: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readShort:()S
            putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
         3: .line 246
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readShort:()S
            putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
         4: .line 247
            iconst_1
            ireturn
         5: .line 249
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    6     1  chunkLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parseTransparencyChunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int chunkLength
         0: .line 253
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            tableswitch { // 0 - 3
                    0: 3
                    1: 7
                    2: 5
                    3: 1
              default: 7
          }
         1: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readPaletteTransparency:(I)Z
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
         2: .line 256
            goto 9
         3: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readGrayTransparency:(I)Z
            dup_x1
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
         4: .line 259
            goto 9
         5: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readRgbTransparency:(I)Z
            dup_x1
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
         6: .line 262
            goto 9
         7: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "TransparencyChunk may not present when alpha explicitly defined"
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
         8: .line 265
            aload 0 /* this */
            iload 1 /* chunkLength */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
         9: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int chunkLength
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   10     1  chunkLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private int parsePngMeta();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readChunk:()[I
            astore 1 /* chunk */
        start local 1 // int[] chunk
         1: .line 274
            aload 1 /* chunk */
            iconst_0
            iaload
            ifge 3
         2: .line 275
            new java.io.IOException
            dup
            ldc "Invalid chunk length"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 277
      StackMap locals: int[]
      StackMap stack:
            aload 1 /* chunk */
            iconst_1
            iaload
            lookupswitch { // 4
           1229209940: 4
           1229278788: 5
           1347179589: 6
           1951551059: 8
              default: 10
          }
         4: .line 279
      StackMap locals:
      StackMap stack:
            aload 1 /* chunk */
            iconst_0
            iaload
            ireturn
         5: .line 281
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            iconst_0
            iaload
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parsePaletteChunk:(I)V
         7: .line 284
            goto 11
         8: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            iconst_0
            iaload
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parseTransparencyChunk:(I)V
         9: .line 287
            goto 11
        10: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            iconst_0
            iaload
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
        11: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            pop
        end local 1 // int[] chunk
        12: .line 271
            goto 0
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            1   12     1  chunk  [I
    Exceptions:
      throws java.io.IOException

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 296
            return
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;

  private com.sun.javafx.iio.ImageStorage$ImageType getType();
    descriptor: ()Lcom/sun/javafx/iio/ImageStorage$ImageType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 299
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            tableswitch { // 0 - 6
                    0: 1
                    1: 12
                    2: 5
                    3: 9
                    4: 10
                    5: 12
                    6: 11
              default: 12
          }
         1: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            ifeq 3
         2: .line 302
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            goto 4
         3: .line 303
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY:Lcom/sun/javafx/iio/ImageStorage$ImageType;
         4: .line 301
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
            areturn
         5: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            ifeq 7
         6: .line 306
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            goto 8
         7: .line 307
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
         8: .line 305
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
            areturn
         9: .line 309
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            areturn
        10: .line 311
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            areturn
        11: .line 313
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            areturn
        12: .line 315
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            athrow
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;

  private void doSubFilter(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // int bpp
         0: .line 320
            aload 1 /* line */
            arraylength
            istore 3 /* l */
        start local 3 // int l
         1: .line 321
            iload 2 /* bpp */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 322
      StackMap locals: int int
      StackMap stack:
            aload 1 /* line */
            iload 4 /* i */
            aload 1 /* line */
            iload 4 /* i */
            baload
            aload 1 /* line */
            iload 4 /* i */
            iload 2 /* bpp */
            isub
            baload
            iadd
            i2b
            bastore
         4: .line 321
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* l */
            if_icmpne 3
        end local 4 // int i
         6: .line 324
            return
        end local 3 // int l
        end local 2 // int bpp
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    7     1  line  [B
            0    7     2   bpp  I
            1    7     3     l  I
            2    6     4     i  I
    MethodParameters:
      Name  Flags
      line  
      bpp   

  private void doUpFilter(byte[], byte[]);
    descriptor: ([B[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] pline
         0: .line 327
            aload 1 /* line */
            arraylength
            istore 3 /* l */
        start local 3 // int l
         1: .line 328
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 329
      StackMap locals: int int
      StackMap stack:
            aload 1 /* line */
            iload 4 /* i */
            aload 1 /* line */
            iload 4 /* i */
            baload
            aload 2 /* pline */
            iload 4 /* i */
            baload
            iadd
            i2b
            bastore
         4: .line 328
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* l */
            if_icmpne 3
        end local 4 // int i
         6: .line 331
            return
        end local 3 // int l
        end local 2 // byte[] pline
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    7     1   line  [B
            0    7     2  pline  [B
            1    7     3      l  I
            2    6     4      i  I
    MethodParameters:
       Name  Flags
      line   
      pline  

  private void doAvrgFilter(byte[], byte[], int);
    descriptor: ([B[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] pline
        start local 3 // int bpp
         0: .line 334
            aload 1 /* line */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         1: .line 335
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 336
      StackMap locals: int int
      StackMap stack:
            aload 1 /* line */
            iload 5 /* i */
            aload 1 /* line */
            iload 5 /* i */
            baload
            aload 2 /* pline */
            iload 5 /* i */
            baload
            sipush 255
            iand
            iconst_2
            idiv
            iadd
            i2b
            bastore
         4: .line 335
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 3 /* bpp */
            if_icmpne 3
        end local 5 // int i
         6: .line 338
            iload 3 /* bpp */
            istore 5 /* i */
        start local 5 // int i
         7: goto 12
         8: .line 339
      StackMap locals:
      StackMap stack:
            aload 1 /* line */
            iload 5 /* i */
            aload 1 /* line */
            iload 5 /* i */
            baload
         9: .line 340
            aload 1 /* line */
            iload 5 /* i */
            iload 3 /* bpp */
            isub
            baload
            sipush 255
            iand
            aload 2 /* pline */
            iload 5 /* i */
            baload
            sipush 255
            iand
            iadd
            iconst_2
            idiv
            iadd
            i2b
        10: .line 339
            bastore
        11: .line 338
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 4 /* l */
            if_icmpne 8
        end local 5 // int i
        13: .line 342
            return
        end local 4 // int l
        end local 3 // int bpp
        end local 2 // byte[] pline
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   14     1   line  [B
            0   14     2  pline  [B
            0   14     3    bpp  I
            1   14     4      l  I
            2    6     5      i  I
            7   13     5      i  I
    MethodParameters:
       Name  Flags
      line   
      pline  
      bpp    

  private static int paethPr(int, int, int);
    descriptor: (III)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // int a
        start local 1 // int b
        start local 2 // int c
         0: .line 346
            iload 1 /* b */
            iload 2 /* c */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 3 /* pa */
        start local 3 // int pa
         1: .line 347
            iload 0 /* a */
            iload 2 /* c */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 4 /* pb */
        start local 4 // int pb
         2: .line 348
            iload 1 /* b */
            iload 2 /* c */
            isub
            iload 0 /* a */
            iadd
            iload 2 /* c */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 5 /* pc */
        start local 5 // int pc
         3: .line 349
            iload 3 /* pa */
            iload 4 /* pb */
            if_icmpgt 4
            iload 3 /* pa */
            iload 5 /* pc */
            if_icmpgt 4
            iload 0 /* a */
            goto 6
      StackMap locals: int int int
      StackMap stack:
         4: iload 4 /* pb */
            iload 5 /* pc */
            if_icmpgt 5
            iload 1 /* b */
            goto 6
      StackMap locals:
      StackMap stack:
         5: iload 2 /* c */
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 5 // int pc
        end local 4 // int pb
        end local 3 // int pa
        end local 2 // int c
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  I
            0    7     1     b  I
            0    7     2     c  I
            1    7     3    pa  I
            2    7     4    pb  I
            3    7     5    pc  I
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  private void doPaethFilter(byte[], byte[], int);
    descriptor: ([B[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] pline
        start local 3 // int bpp
         0: .line 353
            aload 1 /* line */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         1: .line 354
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 355
      StackMap locals: int int
      StackMap stack:
            aload 1 /* line */
            iload 5 /* i */
            aload 1 /* line */
            iload 5 /* i */
            baload
            aload 2 /* pline */
            iload 5 /* i */
            baload
            iadd
            i2b
            bastore
         4: .line 354
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 3 /* bpp */
            if_icmpne 3
        end local 5 // int i
         6: .line 357
            iload 3 /* bpp */
            istore 5 /* i */
        start local 5 // int i
         7: goto 12
         8: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* line */
            iload 5 /* i */
            aload 1 /* line */
            iload 5 /* i */
            baload
         9: .line 359
            aload 1 /* line */
            iload 5 /* i */
            iload 3 /* bpp */
            isub
            baload
            sipush 255
            iand
            aload 2 /* pline */
            iload 5 /* i */
            baload
            sipush 255
            iand
            aload 2 /* pline */
            iload 5 /* i */
            iload 3 /* bpp */
            isub
            baload
            sipush 255
            iand
            invokestatic com.sun.javafx.iio.png.PNGImageLoader2.paethPr:(III)I
            iadd
            i2b
        10: .line 358
            bastore
        11: .line 357
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 4 /* l */
            if_icmpne 8
        end local 5 // int i
        13: .line 361
            return
        end local 4 // int l
        end local 3 // int bpp
        end local 2 // byte[] pline
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   14     1   line  [B
            0   14     2  pline  [B
            0   14     3    bpp  I
            1   14     4      l  I
            2    6     5      i  I
            7   13     5      i  I
    MethodParameters:
       Name  Flags
      line   
      pline  
      bpp    

  private void doFilter(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] pline
        start local 3 // int fType
        start local 4 // int bpp
         0: .line 364
            iload 3 /* fType */
            tableswitch { // 1 - 4
                    1: 1
                    2: 3
                    3: 5
                    4: 7
              default: 8
          }
         1: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            iload 4 /* bpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doSubFilter:([BI)V
         2: .line 367
            goto 8
         3: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* pline */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doUpFilter:([B[B)V
         4: .line 370
            goto 8
         5: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* pline */
            iload 4 /* bpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doAvrgFilter:([B[BI)V
         6: .line 373
            goto 8
         7: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* pline */
            iload 4 /* bpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doPaethFilter:([B[BI)V
         8: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int bpp
        end local 3 // int fType
        end local 2 // byte[] pline
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    9     1   line  [B
            0    9     2  pline  [B
            0    9     3  fType  I
            0    9     4    bpp  I
    MethodParameters:
       Name  Flags
      line   
      pline  
      fType  
      bpp    

  private void downsample16to8trns_gray(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
         0: .line 381
            aload 1 /* line */
            arraylength
            iconst_2
            idiv
            istore 5 /* l */
        start local 5 // int l
         1: .line 382
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: iload 3 /* pos */
            istore 7 /* oPos */
        start local 7 // int oPos
         3: goto 10
         4: .line 383
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* line */
            iload 6 /* i */
            iconst_2
            imul
            baload
            sipush 255
            iand
            sipush 256
            imul
            aload 1 /* line */
            iload 6 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            baload
            sipush 255
            iand
            iadd
            i2s
            istore 8 /* gray16 */
        start local 8 // int gray16
         5: .line 384
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_0
            iadd
            aload 1 /* line */
            iload 6 /* i */
            iconst_2
            imul
            baload
            bastore
         6: .line 385
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_1
            iadd
            iload 8 /* gray16 */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
            if_icmpne 7
            iconst_0
            goto 8
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
      StackMap stack: byte[] int
         7: iconst_m1
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
      StackMap stack: byte[] int int
         8: bastore
        end local 8 // int gray16
         9: .line 382
            iload 7 /* oPos */
            iload 4 /* step */
            iconst_2
            imul
            iadd
            istore 7 /* oPos */
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 5 /* l */
            if_icmplt 4
        end local 7 // int oPos
        end local 6 // int i
        11: .line 387
            return
        end local 5 // int l
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   12     1    line  [B
            0   12     2   image  [B
            0   12     3     pos  I
            0   12     4    step  I
            1   12     5       l  I
            2   11     6       i  I
            3   11     7    oPos  I
            5    9     8  gray16  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   

  private void downsample16to8trns_rgb(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
         0: .line 390
            aload 1 /* line */
            arraylength
            iconst_2
            idiv
            iconst_3
            idiv
            istore 5 /* l */
        start local 5 // int l
         1: .line 391
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: iload 3 /* pos */
            istore 7 /* oPos */
        start local 7 // int oPos
         3: goto 16
         4: .line 392
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* i */
            bipush 6
            imul
            istore 8 /* iPos */
        start local 8 // int iPos
         5: .line 393
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_0
            iadd
            baload
            sipush 255
            iand
            sipush 256
            imul
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            iadd
            i2s
            istore 9 /* r16 */
        start local 9 // int r16
         6: .line 394
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            sipush 256
            imul
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            iadd
            i2s
            istore 10 /* g16 */
        start local 10 // int g16
         7: .line 395
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_4
            iadd
            baload
            sipush 255
            iand
            sipush 256
            imul
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_5
            iadd
            baload
            sipush 255
            iand
            iadd
            i2s
            istore 11 /* b16 */
        start local 11 // int b16
         8: .line 396
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_0
            iadd
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_0
            iadd
            baload
            bastore
         9: .line 397
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_1
            iadd
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_2
            iadd
            baload
            bastore
        10: .line 398
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_2
            iadd
            aload 1 /* line */
            iload 8 /* iPos */
            iconst_4
            iadd
            baload
            bastore
        11: .line 399
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_3
            iadd
        12: .line 400
            iload 9 /* r16 */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
            if_icmpne 13
            iload 10 /* g16 */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
            if_icmpne 13
            iload 11 /* b16 */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
            if_icmpne 13
            iconst_0
            goto 14
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int
      StackMap stack: byte[] int
        13: iconst_m1
        14: .line 399
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int
      StackMap stack: byte[] int int
            bastore
        end local 11 // int b16
        end local 10 // int g16
        end local 9 // int r16
        end local 8 // int iPos
        15: .line 391
            iload 7 /* oPos */
            iload 4 /* step */
            iconst_4
            imul
            iadd
            istore 7 /* oPos */
            iinc 6 /* i */ 1
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int
      StackMap stack:
        16: iload 6 /* i */
            iload 5 /* l */
            if_icmplt 4
        end local 7 // int oPos
        end local 6 // int i
        17: .line 402
            return
        end local 5 // int l
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   18     1   line  [B
            0   18     2  image  [B
            0   18     3    pos  I
            0   18     4   step  I
            1   18     5      l  I
            2   17     6      i  I
            3   17     7   oPos  I
            5   15     8   iPos  I
            6   15     9    r16  I
            7   15    10    g16  I
            8   15    11    b16  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   

  private void downsample16to8_plain(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
        start local 5 // int bpp
         0: .line 405
            aload 1 /* line */
            arraylength
            iconst_2
            idiv
            iload 5 /* bpp */
            idiv
            iload 5 /* bpp */
            imul
            istore 6 /* l */
        start local 6 // int l
         1: iload 4 /* step */
            iload 5 /* bpp */
            imul
            istore 7 /* stepBpp */
        start local 7 // int stepBpp
         2: .line 406
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         3: iload 3 /* pos */
            istore 9 /* oPos */
        start local 9 // int oPos
         4: goto 11
         5: .line 407
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
      StackMap stack:
            iconst_0
            istore 10 /* b */
        start local 10 // int b
         6: goto 9
         7: .line 408
      StackMap locals: int
      StackMap stack:
            aload 2 /* image */
            iload 9 /* oPos */
            iload 10 /* b */
            iadd
            aload 1 /* line */
            iload 8 /* i */
            iload 10 /* b */
            iadd
            iconst_2
            imul
            baload
            bastore
         8: .line 407
            iinc 10 /* b */ 1
      StackMap locals:
      StackMap stack:
         9: iload 10 /* b */
            iload 5 /* bpp */
            if_icmpne 7
        end local 10 // int b
        10: .line 406
            iload 9 /* oPos */
            iload 7 /* stepBpp */
            iadd
            istore 9 /* oPos */
            iload 8 /* i */
            iload 5 /* bpp */
            iadd
            istore 8 /* i */
      StackMap locals:
      StackMap stack:
        11: iload 8 /* i */
            iload 6 /* l */
            if_icmpne 5
        end local 9 // int oPos
        end local 8 // int i
        12: .line 411
            return
        end local 7 // int stepBpp
        end local 6 // int l
        end local 5 // int bpp
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   13     1     line  [B
            0   13     2    image  [B
            0   13     3      pos  I
            0   13     4     step  I
            0   13     5      bpp  I
            1   13     6        l  I
            2   13     7  stepBpp  I
            3   12     8        i  I
            4   12     9     oPos  I
            6   10    10        b  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   
      bpp    

  private void downsample16to8(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
        start local 5 // int bpp
         0: .line 414
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
            ifne 3
         1: .line 415
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            iload 5 /* bpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8_plain:([B[BIII)V
         2: .line 416
            goto 8
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            ifne 6
         4: .line 417
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8trns_gray:([B[BII)V
         5: .line 418
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_2
            if_icmpne 8
         7: .line 419
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8trns_rgb:([B[BII)V
         8: .line 421
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int bpp
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    9     1   line  [B
            0    9     2  image  [B
            0    9     3    pos  I
            0    9     4   step  I
            0    9     5    bpp  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   
      bpp    

  private void copyTrns_gray(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
         0: .line 424
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
            i2b
            istore 5 /* tG */
        start local 5 // byte tG
         1: .line 425
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: iload 3 /* pos */
            istore 7 /* oPos */
        start local 7 // int oPos
         3: aload 1 /* line */
            arraylength
            istore 8 /* l */
        start local 8 // int l
         4: goto 11
         5: .line 426
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
      StackMap stack:
            aload 1 /* line */
            iload 6 /* i */
            baload
            istore 9 /* gray */
        start local 9 // byte gray
         6: .line 427
            aload 2 /* image */
            iload 7 /* oPos */
            iload 9 /* gray */
            bastore
         7: .line 428
            aload 2 /* image */
            iload 7 /* oPos */
            iconst_1
            iadd
            iload 9 /* gray */
            iload 5 /* tG */
            if_icmpne 8
            iconst_0
            goto 9
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
      StackMap stack: byte[] int
         8: iconst_m1
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
      StackMap stack: byte[] int int
         9: bastore
        end local 9 // byte gray
        10: .line 425
            iload 7 /* oPos */
            iconst_2
            iload 4 /* step */
            imul
            iadd
            istore 7 /* oPos */
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 8 /* l */
            if_icmplt 5
        end local 8 // int l
        end local 7 // int oPos
        end local 6 // int i
        12: .line 430
            return
        end local 5 // byte tG
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   13     1   line  [B
            0   13     2  image  [B
            0   13     3    pos  I
            0   13     4   step  I
            1   13     5     tG  B
            2   12     6      i  I
            3   12     7   oPos  I
            4   12     8      l  I
            6   10     9   gray  B
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   

  private void copyTrns_rgb(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=5
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
         0: .line 433
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
            i2b
            istore 5 /* tR */
        start local 5 // byte tR
         1: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
            i2b
            istore 6 /* tG */
        start local 6 // byte tG
         2: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
            i2b
            istore 7 /* tB */
        start local 7 // byte tB
         3: .line 434
            aload 1 /* line */
            arraylength
            iconst_3
            idiv
            istore 8 /* l */
        start local 8 // int l
         4: .line 435
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: iload 3 /* pos */
            istore 10 /* oPos */
        start local 10 // int oPos
         6: goto 17
         7: .line 436
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
      StackMap stack:
            aload 1 /* line */
            iload 9 /* i */
            iconst_3
            imul
            baload
            istore 11 /* r */
        start local 11 // byte r
         8: aload 1 /* line */
            iload 9 /* i */
            iconst_3
            imul
            iconst_1
            iadd
            baload
            istore 12 /* g */
        start local 12 // byte g
         9: aload 1 /* line */
            iload 9 /* i */
            iconst_3
            imul
            iconst_2
            iadd
            baload
            istore 13 /* b */
        start local 13 // byte b
        10: .line 437
            aload 2 /* image */
            iload 10 /* oPos */
            iconst_0
            iadd
            iload 11 /* r */
            bastore
        11: .line 438
            aload 2 /* image */
            iload 10 /* oPos */
            iconst_1
            iadd
            iload 12 /* g */
            bastore
        12: .line 439
            aload 2 /* image */
            iload 10 /* oPos */
            iconst_2
            iadd
            iload 13 /* b */
            bastore
        13: .line 440
            aload 2 /* image */
            iload 10 /* oPos */
            iconst_3
            iadd
            iload 11 /* r */
            iload 5 /* tR */
            if_icmpne 14
            iload 12 /* g */
            iload 6 /* tG */
            if_icmpne 14
            iload 13 /* b */
            iload 7 /* tB */
            if_icmpne 14
            iconst_0
            goto 15
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int
      StackMap stack: byte[] int
        14: iconst_m1
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int
      StackMap stack: byte[] int int
        15: bastore
        end local 13 // byte b
        end local 12 // byte g
        end local 11 // byte r
        16: .line 435
            iload 10 /* oPos */
            iload 4 /* step */
            iconst_4
            imul
            iadd
            istore 10 /* oPos */
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* i */
            iload 8 /* l */
            if_icmplt 7
        end local 10 // int oPos
        end local 9 // int i
        18: .line 442
            return
        end local 8 // int l
        end local 7 // byte tB
        end local 6 // byte tG
        end local 5 // byte tR
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   19     1   line  [B
            0   19     2  image  [B
            0   19     3    pos  I
            0   19     4   step  I
            1   19     5     tR  B
            2   19     6     tG  B
            3   19     7     tB  B
            4   19     8      l  I
            5   18     9      i  I
            6   18    10   oPos  I
            8   16    11      r  B
            9   16    12      g  B
           10   16    13      b  B
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   

  private void copy_plain(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
        start local 5 // int bpp
         0: .line 445
            aload 1 /* line */
            arraylength
            istore 6 /* l */
        start local 6 // int l
         1: iload 4 /* step */
            iload 5 /* bpp */
            imul
            istore 7 /* stepBpp */
        start local 7 // int stepBpp
         2: .line 446
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         3: iload 3 /* pos */
            istore 9 /* oPos */
        start local 9 // int oPos
         4: goto 11
         5: .line 447
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
      StackMap stack:
            iconst_0
            istore 10 /* b */
        start local 10 // int b
         6: goto 9
         7: .line 448
      StackMap locals: int
      StackMap stack:
            aload 2 /* image */
            iload 9 /* oPos */
            iload 10 /* b */
            iadd
            aload 1 /* line */
            iload 8 /* i */
            iload 10 /* b */
            iadd
            baload
            bastore
         8: .line 447
            iinc 10 /* b */ 1
      StackMap locals:
      StackMap stack:
         9: iload 10 /* b */
            iload 5 /* bpp */
            if_icmpne 7
        end local 10 // int b
        10: .line 446
            iload 9 /* oPos */
            iload 7 /* stepBpp */
            iadd
            istore 9 /* oPos */
            iload 8 /* i */
            iload 5 /* bpp */
            iadd
            istore 8 /* i */
      StackMap locals:
      StackMap stack:
        11: iload 8 /* i */
            iload 6 /* l */
            if_icmpne 5
        end local 9 // int oPos
        end local 8 // int i
        12: .line 451
            return
        end local 7 // int stepBpp
        end local 6 // int l
        end local 5 // int bpp
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   13     1     line  [B
            0   13     2    image  [B
            0   13     3      pos  I
            0   13     4     step  I
            0   13     5      bpp  I
            1   13     6        l  I
            2   13     7  stepBpp  I
            3   12     8        i  I
            4   12     9     oPos  I
            6   10    10        b  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      step   
      bpp    

  private void copy(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int step
        start local 5 // int resultBpp
         0: .line 454
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
            ifne 6
         1: .line 455
            iload 4 /* step */
            iconst_1
            if_icmpne 4
         2: .line 456
            aload 1 /* line */
            iconst_0
            aload 2 /* image */
            iload 3 /* pos */
            aload 1 /* line */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 457
            goto 11
         4: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            iload 5 /* resultBpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copy_plain:([B[BIII)V
         5: .line 460
            goto 11
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            ifne 9
         7: .line 461
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copyTrns_gray:([B[BII)V
         8: .line 462
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_2
            if_icmpne 11
        10: .line 463
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copyTrns_rgb:([B[BII)V
        11: .line 465
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int resultBpp
        end local 4 // int step
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   12     1       line  [B
            0   12     2      image  [B
            0   12     3        pos  I
            0   12     4       step  I
            0   12     5  resultBpp  I
    MethodParameters:
           Name  Flags
      line       
      image      
      pos        
      step       
      resultBpp  

  private void upsampleTo8Palette(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int w
        start local 5 // int step
         0: .line 468
            bipush 8
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            idiv
            istore 6 /* samplesInByte */
        start local 6 // int samplesInByte
         1: .line 469
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishl
            iconst_1
            isub
            istore 7 /* maxV */
        start local 7 // int maxV
         2: .line 470
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         3: iconst_0
            istore 9 /* k */
        start local 9 // int k
         4: goto 16
         5: .line 471
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
      StackMap stack:
            iload 4 /* w */
            iload 8 /* i */
            isub
            iload 6 /* samplesInByte */
            if_icmpge 6
            iload 4 /* w */
            iload 8 /* i */
            isub
            goto 7
      StackMap locals:
      StackMap stack:
         6: iload 6 /* samplesInByte */
      StackMap locals:
      StackMap stack: int
         7: istore 10 /* p */
        start local 10 // int p
         8: .line 472
            aload 1 /* line */
            iload 9 /* k */
            baload
            iload 6 /* samplesInByte */
            iload 10 /* p */
            isub
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            imul
            ishr
            istore 11 /* in */
        start local 11 // int in
         9: .line 473
            iload 10 /* p */
            iconst_1
            isub
            istore 12 /* pp */
        start local 12 // int pp
        10: goto 14
        11: .line 474
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* image */
            iload 3 /* pos */
            iload 8 /* i */
            iload 12 /* pp */
            iadd
            iload 5 /* step */
            imul
            iadd
            iload 11 /* in */
            iload 7 /* maxV */
            iand
            i2b
            bastore
        12: .line 475
            iload 11 /* in */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishr
            istore 11 /* in */
        13: .line 473
            iinc 12 /* pp */ -1
      StackMap locals:
      StackMap stack:
        14: iload 12 /* pp */
            ifge 11
        end local 12 // int pp
        end local 11 // int in
        end local 10 // int p
        15: .line 470
            iinc 9 /* k */ 1
            iload 8 /* i */
            iload 6 /* samplesInByte */
            iadd
            istore 8 /* i */
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            iload 4 /* w */
            if_icmplt 5
        end local 9 // int k
        end local 8 // int i
        17: .line 478
            return
        end local 7 // int maxV
        end local 6 // int samplesInByte
        end local 5 // int step
        end local 4 // int w
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   18     1           line  [B
            0   18     2          image  [B
            0   18     3            pos  I
            0   18     4              w  I
            0   18     5           step  I
            1   18     6  samplesInByte  I
            2   18     7           maxV  I
            3   17     8              i  I
            4   17     9              k  I
            8   15    10              p  I
            9   15    11             in  I
           10   15    12             pp  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      w      
      step   

  private void upsampleTo8Gray(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int w
        start local 5 // int step
         0: .line 481
            bipush 8
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            idiv
            istore 6 /* samplesInByte */
        start local 6 // int samplesInByte
         1: .line 482
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishl
            iconst_1
            isub
            istore 7 /* maxV */
        start local 7 // int maxV
         2: iload 7 /* maxV */
            iconst_2
            idiv
            istore 8 /* hmaxV */
        start local 8 // int hmaxV
         3: .line 483
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         4: iconst_0
            istore 10 /* k */
        start local 10 // int k
         5: goto 17
         6: .line 484
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
      StackMap stack:
            iload 4 /* w */
            iload 9 /* i */
            isub
            iload 6 /* samplesInByte */
            if_icmpge 7
            iload 4 /* w */
            iload 9 /* i */
            isub
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 6 /* samplesInByte */
      StackMap locals:
      StackMap stack: int
         8: istore 11 /* p */
        start local 11 // int p
         9: .line 485
            aload 1 /* line */
            iload 10 /* k */
            baload
            iload 6 /* samplesInByte */
            iload 11 /* p */
            isub
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            imul
            ishr
            istore 12 /* in */
        start local 12 // int in
        10: .line 486
            iload 11 /* p */
            iconst_1
            isub
            istore 13 /* pp */
        start local 13 // int pp
        11: goto 15
        12: .line 487
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* image */
            iload 3 /* pos */
            iload 9 /* i */
            iload 13 /* pp */
            iadd
            iload 5 /* step */
            imul
            iadd
            iload 12 /* in */
            iload 7 /* maxV */
            iand
            sipush 255
            imul
            iload 8 /* hmaxV */
            iadd
            iload 7 /* maxV */
            idiv
            i2b
            bastore
        13: .line 488
            iload 12 /* in */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishr
            istore 12 /* in */
        14: .line 486
            iinc 13 /* pp */ -1
      StackMap locals:
      StackMap stack:
        15: iload 13 /* pp */
            ifge 12
        end local 13 // int pp
        end local 12 // int in
        end local 11 // int p
        16: .line 483
            iinc 10 /* k */ 1
            iload 9 /* i */
            iload 6 /* samplesInByte */
            iadd
            istore 9 /* i */
      StackMap locals:
      StackMap stack:
        17: iload 9 /* i */
            iload 4 /* w */
            if_icmplt 6
        end local 10 // int k
        end local 9 // int i
        18: .line 491
            return
        end local 8 // int hmaxV
        end local 7 // int maxV
        end local 6 // int samplesInByte
        end local 5 // int step
        end local 4 // int w
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   19     1           line  [B
            0   19     2          image  [B
            0   19     3            pos  I
            0   19     4              w  I
            0   19     5           step  I
            1   19     6  samplesInByte  I
            2   19     7           maxV  I
            3   19     8          hmaxV  I
            4   18     9              i  I
            5   18    10              k  I
            9   16    11              p  I
           10   16    12             in  I
           11   16    13             pp  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      w      
      step   

  private void upsampleTo8GrayTrns(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=16, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int w
        start local 5 // int step
         0: .line 494
            bipush 8
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            idiv
            istore 6 /* samplesInByte */
        start local 6 // int samplesInByte
         1: .line 495
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishl
            iconst_1
            isub
            istore 7 /* maxV */
        start local 7 // int maxV
         2: iload 7 /* maxV */
            iconst_2
            idiv
            istore 8 /* hmaxV */
        start local 8 // int hmaxV
         3: .line 496
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         4: iconst_0
            istore 10 /* k */
        start local 10 // int k
         5: goto 22
         6: .line 497
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
      StackMap stack:
            iload 4 /* w */
            iload 9 /* i */
            isub
            iload 6 /* samplesInByte */
            if_icmpge 7
            iload 4 /* w */
            iload 9 /* i */
            isub
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 6 /* samplesInByte */
      StackMap locals:
      StackMap stack: int
         8: istore 11 /* p */
        start local 11 // int p
         9: .line 498
            aload 1 /* line */
            iload 10 /* k */
            baload
            iload 6 /* samplesInByte */
            iload 11 /* p */
            isub
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            imul
            ishr
            istore 12 /* in */
        start local 12 // int in
        10: .line 499
            iload 11 /* p */
            iconst_1
            isub
            istore 13 /* pp */
        start local 13 // int pp
        11: goto 20
        12: .line 500
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* pos */
            iload 9 /* i */
            iload 13 /* pp */
            iadd
            iload 5 /* step */
            imul
            iconst_2
            imul
            iadd
            istore 14 /* idx */
        start local 14 // int idx
        13: .line 501
            iload 12 /* in */
            iload 7 /* maxV */
            iand
            istore 15 /* value */
        start local 15 // int value
        14: .line 502
            aload 2 /* image */
            iload 14 /* idx */
            iload 15 /* value */
            sipush 255
            imul
            iload 8 /* hmaxV */
            iadd
            iload 7 /* maxV */
            idiv
            i2b
            bastore
        15: .line 503
            aload 2 /* image */
            iload 14 /* idx */
            iconst_1
            iadd
            iload 15 /* value */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
            if_icmpne 16
            iconst_0
            goto 17
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int int int
      StackMap stack: byte[] int
        16: iconst_m1
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int int int
      StackMap stack: byte[] int int
        17: bastore
        18: .line 504
            iload 12 /* in */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            ishr
            istore 12 /* in */
        end local 15 // int value
        end local 14 // int idx
        19: .line 499
            iinc 13 /* pp */ -1
      StackMap locals:
      StackMap stack:
        20: iload 13 /* pp */
            ifge 12
        end local 13 // int pp
        end local 12 // int in
        end local 11 // int p
        21: .line 496
            iinc 10 /* k */ 1
            iload 9 /* i */
            iload 6 /* samplesInByte */
            iadd
            istore 9 /* i */
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 4 /* w */
            if_icmplt 6
        end local 10 // int k
        end local 9 // int i
        23: .line 507
            return
        end local 8 // int hmaxV
        end local 7 // int maxV
        end local 6 // int samplesInByte
        end local 5 // int step
        end local 4 // int w
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   24     1           line  [B
            0   24     2          image  [B
            0   24     3            pos  I
            0   24     4              w  I
            0   24     5           step  I
            1   24     6  samplesInByte  I
            2   24     7           maxV  I
            3   24     8          hmaxV  I
            4   23     9              i  I
            5   23    10              k  I
            9   21    11              p  I
           10   21    12             in  I
           11   21    13             pp  I
           13   19    14            idx  I
           14   19    15          value  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      w      
      step   

  private void upsampleTo8(byte[], byte[], int, int, int, int);
    descriptor: ([B[BIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] line
        start local 2 // byte[] image
        start local 3 // int pos
        start local 4 // int w
        start local 5 // int step
        start local 6 // int bpp
         0: .line 510
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_3
            if_icmpne 3
         1: .line 511
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* w */
            iload 5 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8Palette:([B[BIII)V
         2: .line 512
            goto 8
      StackMap locals:
      StackMap stack:
         3: iload 6 /* bpp */
            iconst_1
            if_icmpne 6
         4: .line 513
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* w */
            iload 5 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8Gray:([B[BIII)V
         5: .line 514
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
            ifeq 8
            iload 6 /* bpp */
            iconst_2
            if_icmpne 8
         7: .line 515
            aload 0 /* this */
            aload 1 /* line */
            aload 2 /* image */
            iload 3 /* pos */
            iload 4 /* w */
            iload 5 /* step */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8GrayTrns:([B[BIII)V
         8: .line 517
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int bpp
        end local 5 // int step
        end local 4 // int w
        end local 3 // int pos
        end local 2 // byte[] image
        end local 1 // byte[] line
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0    9     1   line  [B
            0    9     2  image  [B
            0    9     3    pos  I
            0    9     4      w  I
            0    9     5   step  I
            0    9     6    bpp  I
    MethodParameters:
       Name  Flags
      line   
      image  
      pos    
      w      
      step   
      bpp    

  private static int mipSize(int, int, int[], int[]);
    descriptor: (II[I[I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // int size
        start local 1 // int mip
        start local 2 // int[] start
        start local 3 // int[] increment
         0: .line 525
            iload 0 /* size */
            aload 2 /* start */
            iload 1 /* mip */
            iaload
            isub
            aload 3 /* increment */
            iload 1 /* mip */
            iaload
            iadd
            iconst_1
            isub
            aload 3 /* increment */
            iload 1 /* mip */
            iaload
            idiv
            ireturn
        end local 3 // int[] increment
        end local 2 // int[] start
        end local 1 // int mip
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       size  I
            0    1     1        mip  I
            0    1     2      start  [I
            0    1     3  increment  [I
    MethodParameters:
           Name  Flags
      size       
      mip        
      start      
      increment  

  private static int mipPos(int, int, int[], int[]);
    descriptor: (II[I[I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // int pos
        start local 1 // int mip
        start local 2 // int[] start
        start local 3 // int[] increment
         0: .line 529
            aload 2 /* start */
            iload 1 /* mip */
            iaload
            iload 0 /* pos */
            aload 3 /* increment */
            iload 1 /* mip */
            iaload
            imul
            iadd
            ireturn
        end local 3 // int[] increment
        end local 2 // int[] start
        end local 1 // int mip
        end local 0 // int pos
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0        pos  I
            0    1     1        mip  I
            0    1     2      start  [I
            0    1     3  increment  [I
    MethodParameters:
           Name  Flags
      pos        
      mip        
      start      
      increment  

  private void loadMip(byte[], java.io.InputStream, int);
    descriptor: ([BLjava/io/InputStream;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=4
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] image
        start local 2 // java.io.InputStream data
        start local 3 // int mip
         0: .line 534
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            iload 3 /* mip */
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
            invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipSize:(II[I[I)I
            istore 4 /* mipWidth */
        start local 4 // int mipWidth
         1: .line 535
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            iload 3 /* mip */
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
            invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipSize:(II[I[I)I
            istore 5 /* mipHeight */
        start local 5 // int mipHeight
         2: .line 537
            iload 4 /* mipWidth */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            imul
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iaload
            imul
            bipush 7
            iadd
            bipush 8
            idiv
            istore 6 /* scanLineSize */
        start local 6 // int scanLineSize
         3: .line 538
            iload 6 /* scanLineSize */
            newarray 8
            astore 7 /* scanLine0 */
        start local 7 // byte[] scanLine0
         4: .line 539
            iload 6 /* scanLineSize */
            newarray 8
            astore 8 /* scanLine1 */
        start local 8 // byte[] scanLine1
         5: .line 543
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bpp:()I
            istore 9 /* resultBpp */
        start local 9 // int resultBpp
         6: getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iaload
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bytesPerColor:()I
            imul
            istore 10 /* srcBpp */
        start local 10 // int srcBpp
         7: .line 545
            iconst_0
            istore 11 /* y */
        start local 11 // int y
         8: goto 28
         9: .line 546
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] java.io.InputStream int int int int byte[] byte[] int int int
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.io.InputStream.read:()I
            istore 12 /* filterByte */
        start local 12 // int filterByte
        10: .line 547
            iload 12 /* filterByte */
            iconst_m1
            if_icmpne 12
        11: .line 548
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
        12: .line 551
      StackMap locals: int
      StackMap stack:
            aload 2 /* data */
            aload 7 /* scanLine0 */
            invokevirtual java.io.InputStream.read:([B)I
            iload 6 /* scanLineSize */
            if_icmpeq 14
        13: .line 552
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
        14: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* scanLine0 */
            aload 8 /* scanLine1 */
            iload 12 /* filterByte */
            iload 10 /* srcBpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doFilter:([B[BII)V
        15: .line 557
            iload 11 /* y */
            iload 3 /* mip */
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
            invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipPos:(II[I[I)I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            imul
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
            iload 3 /* mip */
            iaload
            iadd
            iload 9 /* resultBpp */
            imul
            istore 13 /* pos */
        start local 13 // int pos
        16: .line 558
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
            iload 3 /* mip */
            iaload
            istore 14 /* step */
        start local 14 // int step
        17: .line 560
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 16
            if_icmpne 20
        18: .line 561
            aload 0 /* this */
            aload 7 /* scanLine0 */
            aload 1 /* image */
            iload 13 /* pos */
            iload 14 /* step */
            iload 9 /* resultBpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8:([B[BIII)V
        19: .line 562
            goto 24
      StackMap locals: int int
      StackMap stack:
        20: aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 8
            if_icmpge 23
        21: .line 563
            aload 0 /* this */
            aload 7 /* scanLine0 */
            aload 1 /* image */
            iload 13 /* pos */
            iload 4 /* mipWidth */
            iload 14 /* step */
            iload 9 /* resultBpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8:([B[BIIII)V
        22: .line 564
            goto 24
        23: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* scanLine0 */
            aload 1 /* image */
            iload 13 /* pos */
            iload 14 /* step */
            iload 9 /* resultBpp */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copy:([B[BIII)V
        24: .line 568
      StackMap locals:
      StackMap stack:
            aload 7 /* scanLine0 */
            astore 15 /* scanLineSwp */
        start local 15 // byte[] scanLineSwp
        25: .line 569
            aload 8 /* scanLine1 */
            astore 7 /* scanLine0 */
        26: .line 570
            aload 15 /* scanLineSwp */
            astore 8 /* scanLine1 */
        end local 15 // byte[] scanLineSwp
        end local 14 // int step
        end local 13 // int pos
        end local 12 // int filterByte
        27: .line 545
            iinc 11 /* y */ 1
      StackMap locals:
      StackMap stack:
        28: iload 11 /* y */
            iload 5 /* mipHeight */
            if_icmpne 9
        end local 11 // int y
        29: .line 572
            return
        end local 10 // int srcBpp
        end local 9 // int resultBpp
        end local 8 // byte[] scanLine1
        end local 7 // byte[] scanLine0
        end local 6 // int scanLineSize
        end local 5 // int mipHeight
        end local 4 // int mipWidth
        end local 3 // int mip
        end local 2 // java.io.InputStream data
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   30     1         image  [B
            0   30     2          data  Ljava/io/InputStream;
            0   30     3           mip  I
            1   30     4      mipWidth  I
            2   30     5     mipHeight  I
            3   30     6  scanLineSize  I
            4   30     7     scanLine0  [B
            5   30     8     scanLine1  [B
            6   30     9     resultBpp  I
            7   30    10        srcBpp  I
            8   29    11             y  I
           10   27    12    filterByte  I
           16   27    13           pos  I
           17   27    14          step  I
           25   27    15   scanLineSwp  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      image  
      data   
      mip    

  private void load(byte[], java.io.InputStream);
    descriptor: ([BLjava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] image
        start local 2 // java.io.InputStream data
         0: .line 575
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.isInterlaced:Z
            ifeq 8
         1: .line 576
            iconst_0
            istore 3 /* mip */
        start local 3 // int mip
         2: goto 6
         3: .line 577
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
            iload 3 /* mip */
            iaload
            if_icmple 5
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
            iload 3 /* mip */
            iaload
            if_icmple 5
         4: .line 578
            aload 0 /* this */
            aload 1 /* image */
            aload 2 /* data */
            iload 3 /* mip */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.loadMip:([BLjava/io/InputStream;I)V
         5: .line 576
      StackMap locals:
      StackMap stack:
            iinc 3 /* mip */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* mip */
            bipush 7
            if_icmpne 3
        end local 3 // int mip
         7: .line 581
            goto 9
         8: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            aload 2 /* data */
            bipush 7
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.loadMip:([BLjava/io/InputStream;I)V
         9: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.InputStream data
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   10     1  image  [B
            0   10     2   data  Ljava/io/InputStream;
            2    7     3    mip  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      image  
      data   

  private com.sun.javafx.iio.ImageFrame decodePalette(byte[], com.sun.javafx.iio.ImageMetadata);
    descriptor: ([BLcom/sun/javafx/iio/ImageMetadata;)Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // byte[] srcImage
        start local 2 // com.sun.javafx.iio.ImageMetadata metadata
         0: .line 587
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            ifeq 1
            iconst_4
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_3
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* bpp */
        start local 3 // int bpp
         3: .line 588
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            imul
            iload 3 /* bpp */
            imul
            newarray 8
            astore 4 /* newImage */
        start local 4 // byte[] newImage
         4: .line 589
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            imul
            istore 5 /* l */
        start local 5 // int l
         5: .line 591
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            ifeq 17
         6: .line 592
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: iconst_0
            istore 7 /* j */
        start local 7 // int j
         8: goto 15
         9: .line 593
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] com.sun.javafx.iio.ImageMetadata int byte[] int int int
      StackMap stack:
            sipush 255
            aload 1 /* srcImage */
            iload 6 /* i */
            baload
            iand
            istore 8 /* index */
        start local 8 // int index
        10: .line 594
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_0
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_0
            aaload
            iload 8 /* index */
            baload
            bastore
        11: .line 595
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_1
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_1
            aaload
            iload 8 /* index */
            baload
            bastore
        12: .line 596
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_2
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_2
            aaload
            iload 8 /* index */
            baload
            bastore
        13: .line 597
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_3
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_3
            aaload
            iload 8 /* index */
            baload
            bastore
        end local 8 // int index
        14: .line 592
            iinc 7 /* j */ 4
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            iload 5 /* l */
            if_icmpne 9
        end local 7 // int j
        end local 6 // int i
        16: .line 599
            goto 26
        17: .line 600
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        18: iconst_0
            istore 7 /* j */
        start local 7 // int j
        19: goto 25
        20: .line 601
      StackMap locals: int int
      StackMap stack:
            sipush 255
            aload 1 /* srcImage */
            iload 6 /* i */
            baload
            iand
            istore 8 /* index */
        start local 8 // int index
        21: .line 602
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_0
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_0
            aaload
            iload 8 /* index */
            baload
            bastore
        22: .line 603
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_1
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_1
            aaload
            iload 8 /* index */
            baload
            bastore
        23: .line 604
            aload 4 /* newImage */
            iload 7 /* j */
            iconst_2
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            iconst_2
            aaload
            iload 8 /* index */
            baload
            bastore
        end local 8 // int index
        24: .line 600
            iinc 7 /* j */ 3
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            iload 5 /* l */
            if_icmpne 20
        end local 7 // int j
        end local 6 // int i
        26: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
            ifeq 28
        27: .line 609
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            goto 29
        28: .line 610
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
        29: .line 608
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
            astore 6 /* type */
        start local 6 // com.sun.javafx.iio.ImageStorage$ImageType type
        30: .line 612
            new com.sun.javafx.iio.ImageFrame
            dup
            aload 6 /* type */
            aload 4 /* newImage */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
        31: .line 613
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            iload 3 /* bpp */
            imul
            aconst_null
            aload 2 /* metadata */
        32: .line 612
            invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
            areturn
        end local 6 // com.sun.javafx.iio.ImageStorage$ImageType type
        end local 5 // int l
        end local 4 // byte[] newImage
        end local 3 // int bpp
        end local 2 // com.sun.javafx.iio.ImageMetadata metadata
        end local 1 // byte[] srcImage
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   33     1  srcImage  [B
            0   33     2  metadata  Lcom/sun/javafx/iio/ImageMetadata;
            3   33     3       bpp  I
            4   33     4  newImage  [B
            5   33     5         l  I
            7   16     6         i  I
            8   16     7         j  I
           10   14     8     index  I
           18   26     6         i  I
           19   26     7         j  I
           21   24     8     index  I
           30   33     6      type  Lcom/sun/javafx/iio/ImageStorage$ImageType;
    MethodParameters:
          Name  Flags
      srcImage  
      metadata  

  private int bpp();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 622
            getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iaload
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_0
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2
      StackMap stack: int int
         2: iadd
            ireturn
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;

  private int bytesPerColor();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
         0: .line 626
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
            bipush 16
            if_icmpne 1
            iconst_2
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/iio/png/PNGImageLoader2;

  public com.sun.javafx.iio.ImageFrame load(int, int, int, boolean, boolean);
    descriptor: (IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=16, args_size=6
        start local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
        start local 1 // int imageIndex
        start local 2 // int rWidth
        start local 3 // int rHeight
        start local 4 // boolean preserveAspectRatio
        start local 5 // boolean smooth
         0: .line 632
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 633
            aconst_null
            areturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parsePngMeta:()I
            istore 6 /* dataSize */
        start local 6 // int dataSize
         3: .line 638
            iload 6 /* dataSize */
            ifne 6
         4: .line 639
            aload 0 /* this */
            ldc "No image data in PNG"
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
         5: .line 640
            aconst_null
            areturn
         6: .line 643
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            iload 2 /* rWidth */
            iload 3 /* rHeight */
            iload 4 /* preserveAspectRatio */
            invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
            astore 7 /* outWH */
        start local 7 // int[] outWH
         7: .line 644
            aload 7 /* outWH */
            iconst_0
            iaload
            istore 2 /* rWidth */
         8: .line 645
            aload 7 /* outWH */
            iconst_1
            iaload
            istore 3 /* rHeight */
         9: .line 647
            new com.sun.javafx.iio.ImageMetadata
            dup
            aconst_null
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        10: .line 648
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            iload 2 /* rWidth */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* rHeight */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            aconst_null
            aconst_null
        11: .line 647
            invokespecial com.sun.javafx.iio.ImageMetadata.<init>:(Ljava/lang/Float;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
            astore 8 /* metaData */
        start local 8 // com.sun.javafx.iio.ImageMetadata metaData
        12: .line 649
            aload 0 /* this */
            aload 8 /* metaData */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
        13: .line 651
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bpp:()I
            istore 9 /* bpp */
        start local 9 // int bpp
        14: .line 652
            iload 9 /* bpp */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            imul
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            imul
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 10 /* bb */
        start local 10 // java.nio.ByteBuffer bb
        15: .line 654
            new com.sun.javafx.iio.png.PNGIDATChunkInputStream
            dup
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
            iload 6 /* dataSize */
            invokespecial com.sun.javafx.iio.png.PNGIDATChunkInputStream.<init>:(Ljava/io/DataInputStream;I)V
            astore 11 /* iDat */
        start local 11 // com.sun.javafx.iio.png.PNGIDATChunkInputStream iDat
        16: .line 655
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            astore 12 /* inf */
        start local 12 // java.util.zip.Inflater inf
        17: .line 656
            new java.io.BufferedInputStream
            dup
            new java.util.zip.InflaterInputStream
            dup
            aload 11 /* iDat */
            aload 12 /* inf */
            invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 13 /* data */
        start local 13 // java.io.InputStream data
        18: .line 659
            aload 0 /* this */
            aload 10 /* bb */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 13 /* data */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.load:([BLjava/io/InputStream;)V
        19: .line 660
            goto 26
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream
      StackMap stack: java.io.IOException
        20: astore 14 /* e */
        start local 14 // java.io.IOException e
        21: .line 661
            aload 14 /* e */
            athrow
        end local 14 // java.io.IOException e
        22: .line 662
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        23: .line 663
            aload 12 /* inf */
            ifnull 25
        24: .line 664
            aload 12 /* inf */
            invokevirtual java.util.zip.Inflater.end:()V
        25: .line 666
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        26: .line 663
      StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream
      StackMap stack:
            aload 12 /* inf */
            ifnull 28
        27: .line 664
            aload 12 /* inf */
            invokevirtual java.util.zip.Inflater.end:()V
        28: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
            iconst_3
            if_icmpne 30
        29: .line 669
            aload 0 /* this */
            aload 10 /* bb */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 8 /* metaData */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.decodePalette:([BLcom/sun/javafx/iio/ImageMetadata;)Lcom/sun/javafx/iio/ImageFrame;
            goto 31
        30: .line 670
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageFrame
            dup
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.getType:()Lcom/sun/javafx/iio/ImageStorage$ImageType;
            aload 10 /* bb */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            iload 9 /* bpp */
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            imul
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
            aload 8 /* metaData */
            invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
        31: .line 668
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.ImageFrame
            astore 14 /* imgPNG */
        start local 14 // com.sun.javafx.iio.ImageFrame imgPNG
        32: .line 672
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
            iload 2 /* rWidth */
            if_icmpne 33
            aload 0 /* this */
            getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
            iload 3 /* rHeight */
            if_icmpeq 34
        33: .line 673
      StackMap locals: com.sun.javafx.iio.ImageFrame
      StackMap stack:
            aload 14 /* imgPNG */
            iload 2 /* rWidth */
            iload 3 /* rHeight */
            iload 5 /* smooth */
            invokestatic com.sun.javafx.iio.common.ImageTools.scaleImageFrame:(Lcom/sun/javafx/iio/ImageFrame;IIZ)Lcom/sun/javafx/iio/ImageFrame;
            astore 14 /* imgPNG */
        34: .line 676
      StackMap locals:
      StackMap stack:
            aload 14 /* imgPNG */
            areturn
        end local 14 // com.sun.javafx.iio.ImageFrame imgPNG
        end local 13 // java.io.InputStream data
        end local 12 // java.util.zip.Inflater inf
        end local 11 // com.sun.javafx.iio.png.PNGIDATChunkInputStream iDat
        end local 10 // java.nio.ByteBuffer bb
        end local 9 // int bpp
        end local 8 // com.sun.javafx.iio.ImageMetadata metaData
        end local 7 // int[] outWH
        end local 6 // int dataSize
        end local 5 // boolean smooth
        end local 4 // boolean preserveAspectRatio
        end local 3 // int rHeight
        end local 2 // int rWidth
        end local 1 // int imageIndex
        end local 0 // com.sun.javafx.iio.png.PNGImageLoader2 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   35     0                 this  Lcom/sun/javafx/iio/png/PNGImageLoader2;
            0   35     1           imageIndex  I
            0   35     2               rWidth  I
            0   35     3              rHeight  I
            0   35     4  preserveAspectRatio  Z
            0   35     5               smooth  Z
            3   35     6             dataSize  I
            7   35     7                outWH  [I
           12   35     8             metaData  Lcom/sun/javafx/iio/ImageMetadata;
           14   35     9                  bpp  I
           15   35    10                   bb  Ljava/nio/ByteBuffer;
           16   35    11                 iDat  Lcom/sun/javafx/iio/png/PNGIDATChunkInputStream;
           17   35    12                  inf  Ljava/util/zip/Inflater;
           18   35    13                 data  Ljava/io/InputStream;
           21   22    14                    e  Ljava/io/IOException;
           32   35    14               imgPNG  Lcom/sun/javafx/iio/ImageFrame;
      Exception table:
        from    to  target  type
          18    19      20  Class java.io.IOException
          18    22      22  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      imageIndex           
      rWidth               
      rHeight              
      preserveAspectRatio  
      smooth               
}
SourceFile: "PNGImageLoader2.java"
InnerClasses:
  public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage