public class sun.awt.image.XbmImageDecoder extends sun.awt.image.ImageDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.XbmImageDecoder
  super_class: sun.awt.image.ImageDecoder
{
  private static byte[] XbmColormap;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int XbmHints;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 47
            bipush 6
            newarray 8
            dup
            iconst_0
            iconst_m1
            bastore
            dup
            iconst_1
            iconst_m1
            bastore
            dup
            iconst_2
            iconst_m1
            bastore
            putstatic sun.awt.image.XbmImageDecoder.XbmColormap:[B
         1: .line 49
            bipush 30
            putstatic sun.awt.image.XbmImageDecoder.XbmHints:I
         2: .line 52
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.awt.image.InputStreamImageSource, java.io.InputStream);
    descriptor: (Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.awt.image.XbmImageDecoder this
        start local 1 // sun.awt.image.InputStreamImageSource src
        start local 2 // java.io.InputStream is
         0: .line 55
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* is */
            invokespecial sun.awt.image.ImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
         1: .line 56
            aload 0 /* this */
            getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
            instanceof java.io.BufferedInputStream
            ifne 3
         2: .line 59
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 0 /* this */
            getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
            bipush 80
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            putfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
         3: .line 61
      StackMap locals: sun.awt.image.XbmImageDecoder sun.awt.image.InputStreamImageSource java.io.InputStream
      StackMap stack:
            return
        end local 2 // java.io.InputStream is
        end local 1 // sun.awt.image.InputStreamImageSource src
        end local 0 // sun.awt.image.XbmImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/image/XbmImageDecoder;
            0    4     1   src  Lsun/awt/image/InputStreamImageSource;
            0    4     2    is  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      src   
      is    

  private static void error(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s1
         0: .line 68
            new sun.awt.image.ImageFormatException
            dup
            aload 0 /* s1 */
            invokespecial sun.awt.image.ImageFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    s1  Ljava/lang/String;
    Exceptions:
      throws sun.awt.image.ImageFormatException
    MethodParameters:
      Name  Flags
      s1    

  public void produceImage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=15, args_size=1
        start local 0 // sun.awt.image.XbmImageDecoder this
         0: .line 75
            bipush 80
            newarray 5
            astore 1 /* nm */
        start local 1 // char[] nm
         1: .line 77
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: .line 78
            iconst_0
            istore 4 /* state */
        start local 4 // int state
         3: .line 79
            iconst_0
            istore 5 /* H */
        start local 5 // int H
         4: .line 80
            iconst_0
            istore 6 /* W */
        start local 6 // int W
         5: .line 81
            iconst_0
            istore 7 /* x */
        start local 7 // int x
         6: .line 82
            iconst_0
            istore 8 /* y */
        start local 8 // int y
         7: .line 83
            iconst_1
            istore 9 /* start */
        start local 9 // boolean start
         8: .line 84
            aconst_null
            astore 10 /* raster */
        start local 10 // byte[] raster
         9: .line 85
            aconst_null
            astore 11 /* model */
        start local 11 // java.awt.image.IndexColorModel model
        10: .line 86
            goto 90
        start local 2 // int c
        11: .line 87
      StackMap locals: sun.awt.image.XbmImageDecoder char[] int int int int int int int int byte[] java.awt.image.IndexColorModel
      StackMap stack:
            bipush 97
            iload 2 /* c */
            if_icmpgt 12
            iload 2 /* c */
            bipush 122
            if_icmple 15
        12: .line 88
      StackMap locals:
      StackMap stack:
            bipush 65
            iload 2 /* c */
            if_icmpgt 13
            iload 2 /* c */
            bipush 90
            if_icmple 15
        13: .line 89
      StackMap locals:
      StackMap stack:
            bipush 48
            iload 2 /* c */
            if_icmpgt 14
            iload 2 /* c */
            bipush 57
            if_icmple 15
      StackMap locals:
      StackMap stack:
        14: iload 2 /* c */
            bipush 35
            if_icmpeq 15
            iload 2 /* c */
            bipush 95
            if_icmpne 18
        15: .line 90
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            bipush 78
            if_icmpge 90
        16: .line 91
            aload 1 /* nm */
            iload 3 /* i */
            iinc 3 /* i */ 1
            iload 2 /* c */
            i2c
            castore
        17: .line 92
            goto 90
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            ifle 90
        19: .line 93
            iload 3 /* i */
            istore 12 /* nc */
        start local 12 // int nc
        20: .line 94
            iconst_0
            istore 3 /* i */
        21: .line 95
            iload 9 /* start */
            ifeq 32
        22: .line 96
            iload 12 /* nc */
            bipush 7
            if_icmpne 30
        23: .line 97
            aload 1 /* nm */
            iconst_0
            caload
            bipush 35
            if_icmpne 30
        24: .line 98
            aload 1 /* nm */
            iconst_1
            caload
            bipush 100
            if_icmpne 30
        25: .line 99
            aload 1 /* nm */
            iconst_2
            caload
            bipush 101
            if_icmpne 30
        26: .line 100
            aload 1 /* nm */
            iconst_3
            caload
            bipush 102
            if_icmpne 30
        27: .line 101
            aload 1 /* nm */
            iconst_4
            caload
            bipush 105
            if_icmpne 30
        28: .line 102
            aload 1 /* nm */
            iconst_5
            caload
            bipush 110
            if_icmpne 30
        29: .line 103
            aload 1 /* nm */
            bipush 6
            caload
            bipush 101
            if_icmpeq 31
        30: .line 105
      StackMap locals: int
      StackMap stack:
            ldc "Not an XBM file"
            invokestatic sun.awt.image.XbmImageDecoder.error:(Ljava/lang/String;)V
        31: .line 107
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* start */
        32: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* nm */
            iload 12 /* nc */
            iconst_1
            isub
            caload
            bipush 104
            if_icmpne 34
        33: .line 110
            iconst_1
            istore 4 /* state */
            goto 90
        34: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* nm */
            iload 12 /* nc */
            iconst_1
            isub
            caload
            bipush 116
            if_icmpne 36
            iload 12 /* nc */
            iconst_1
            if_icmple 36
            aload 1 /* nm */
            iload 12 /* nc */
            iconst_2
            isub
            caload
            bipush 104
            if_icmpne 36
        35: .line 112
            iconst_2
            istore 4 /* state */
            goto 90
        36: .line 113
      StackMap locals:
      StackMap stack:
            iload 12 /* nc */
            iconst_2
            if_icmple 66
            iload 4 /* state */
            ifge 66
            aload 1 /* nm */
            iconst_0
            caload
            bipush 48
            if_icmpne 66
            aload 1 /* nm */
            iconst_1
            caload
            bipush 120
            if_icmpne 66
        37: .line 114
            iconst_0
            istore 13 /* n */
        start local 13 // int n
        38: .line 115
            iconst_2
            istore 14 /* p */
        start local 14 // int p
        39: goto 50
        40: .line 116
      StackMap locals: int int
      StackMap stack:
            aload 1 /* nm */
            iload 14 /* p */
            caload
            istore 2 /* c */
        41: .line 117
            bipush 48
            iload 2 /* c */
            if_icmpgt 43
            iload 2 /* c */
            bipush 57
            if_icmpgt 43
        42: .line 118
            iinc 2 /* c */ -48
            goto 48
        43: .line 119
      StackMap locals:
      StackMap stack:
            bipush 65
            iload 2 /* c */
            if_icmpgt 45
            iload 2 /* c */
            bipush 90
            if_icmpgt 45
        44: .line 120
            iload 2 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            istore 2 /* c */
            goto 48
        45: .line 121
      StackMap locals:
      StackMap stack:
            bipush 97
            iload 2 /* c */
            if_icmpgt 47
            iload 2 /* c */
            bipush 122
            if_icmpgt 47
        46: .line 122
            iload 2 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            istore 2 /* c */
            goto 48
        47: .line 124
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* c */
        48: .line 125
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            bipush 16
            imul
            iload 2 /* c */
            iadd
            istore 13 /* n */
        49: .line 115
            iinc 14 /* p */ 1
      StackMap locals:
      StackMap stack:
        50: iload 14 /* p */
            iload 12 /* nc */
            if_icmplt 40
        end local 14 // int p
        51: .line 127
            iconst_1
            istore 14 /* mask */
        start local 14 // int mask
        52: goto 59
        53: .line 128
      StackMap locals:
      StackMap stack:
            iload 7 /* x */
            iload 6 /* W */
            if_icmpge 57
        54: .line 129
            iload 13 /* n */
            iload 14 /* mask */
            iand
            ifeq 56
        55: .line 130
            aload 10 /* raster */
            iload 7 /* x */
            iconst_1
            bastore
            goto 57
        56: .line 132
      StackMap locals:
      StackMap stack:
            aload 10 /* raster */
            iload 7 /* x */
            iconst_0
            bastore
        57: .line 134
      StackMap locals:
      StackMap stack:
            iinc 7 /* x */ 1
        58: .line 127
            iload 14 /* mask */
            iconst_1
            ishl
            istore 14 /* mask */
      StackMap locals:
      StackMap stack:
        59: iload 14 /* mask */
            sipush 128
            if_icmple 53
        end local 14 // int mask
        60: .line 136
            iload 7 /* x */
            iload 6 /* W */
            if_icmplt 90
        61: .line 137
            aload 0 /* this */
            iconst_0
            iload 8 /* y */
            iload 6 /* W */
            iconst_1
            aload 11 /* model */
            aload 10 /* raster */
            iconst_0
            iload 6 /* W */
            invokevirtual sun.awt.image.XbmImageDecoder.setPixels:(IIIILjava/awt/image/ColorModel;[BII)I
            ifgt 63
        62: .line 138
            return
        63: .line 140
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* x */
        64: .line 141
            iload 8 /* y */
            iinc 8 /* y */ 1
            iload 5 /* H */
            if_icmplt 90
        65: .line 142
            goto 92
        end local 13 // int n
        66: .line 146
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* n */
        start local 13 // int n
        67: .line 147
            iconst_0
            istore 14 /* p */
        start local 14 // int p
        68: goto 74
        69: .line 148
      StackMap locals: int int
      StackMap stack:
            bipush 48
            aload 1 /* nm */
            iload 14 /* p */
            caload
            dup
            istore 2 /* c */
            if_icmpgt 71
            iload 2 /* c */
            bipush 57
            if_icmpgt 71
        70: .line 149
            iload 13 /* n */
            bipush 10
            imul
            iload 2 /* c */
            iadd
            bipush 48
            isub
            istore 13 /* n */
            goto 73
        71: .line 151
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 13 /* n */
        72: .line 152
            goto 75
        73: .line 147
      StackMap locals:
      StackMap stack:
            iinc 14 /* p */ 1
      StackMap locals:
      StackMap stack:
        74: iload 14 /* p */
            iload 12 /* nc */
            if_icmplt 69
        end local 14 // int p
        75: .line 154
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            ifle 90
            iload 4 /* state */
            ifle 90
        76: .line 155
            iload 4 /* state */
            iconst_1
            if_icmpne 78
        77: .line 156
            iload 13 /* n */
            istore 6 /* W */
            goto 79
        78: .line 158
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            istore 5 /* H */
        79: .line 159
      StackMap locals:
      StackMap stack:
            iload 6 /* W */
            ifeq 80
            iload 5 /* H */
            ifne 81
        80: .line 160
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* state */
            goto 90
        81: .line 162
      StackMap locals:
      StackMap stack:
            new java.awt.image.IndexColorModel
            dup
            bipush 8
            iconst_2
            getstatic sun.awt.image.XbmImageDecoder.XbmColormap:[B
        82: .line 163
            iconst_0
            iconst_0
            iconst_0
        83: .line 162
            invokespecial java.awt.image.IndexColorModel.<init>:(II[BIZI)V
            astore 11 /* model */
        84: .line 164
            aload 0 /* this */
            iload 6 /* W */
            iload 5 /* H */
            invokevirtual sun.awt.image.XbmImageDecoder.setDimensions:(II)I
            pop
        85: .line 165
            aload 0 /* this */
            aload 11 /* model */
            invokevirtual sun.awt.image.XbmImageDecoder.setColorModel:(Ljava/awt/image/ColorModel;)I
            pop
        86: .line 166
            aload 0 /* this */
            getstatic sun.awt.image.XbmImageDecoder.XbmHints:I
            invokevirtual sun.awt.image.XbmImageDecoder.setHints:(I)I
            pop
        87: .line 167
            aload 0 /* this */
            invokevirtual sun.awt.image.XbmImageDecoder.headerComplete:()V
        88: .line 168
            iload 6 /* W */
            newarray 8
            astore 10 /* raster */
        89: .line 169
            iconst_m1
            istore 4 /* state */
        end local 13 // int n
        end local 12 // int nc
        end local 2 // int c
        90: .line 86
      StackMap locals: sun.awt.image.XbmImageDecoder char[] top int int int int int int int byte[] java.awt.image.IndexColorModel
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.XbmImageDecoder.aborted:Z
            ifne 92
            aload 0 /* this */
            getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            dup
            istore 2 /* c */
        start local 2 // int c
        91: iconst_m1
            if_icmpne 11
        end local 2 // int c
        92: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        93: .line 176
            aload 0 /* this */
            iconst_3
            iconst_1
            invokevirtual sun.awt.image.XbmImageDecoder.imageComplete:(IZ)I
            pop
        94: .line 177
            return
        end local 11 // java.awt.image.IndexColorModel model
        end local 10 // byte[] raster
        end local 9 // boolean start
        end local 8 // int y
        end local 7 // int x
        end local 6 // int W
        end local 5 // int H
        end local 4 // int state
        end local 3 // int i
        end local 1 // char[] nm
        end local 0 // sun.awt.image.XbmImageDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   95     0    this  Lsun/awt/image/XbmImageDecoder;
            1   95     1      nm  [C
           11   90     2       c  I
           91   92     2       c  I
            2   95     3       i  I
            3   95     4   state  I
            4   95     5       H  I
            5   95     6       W  I
            6   95     7       x  I
            7   95     8       y  I
            8   95     9   start  Z
            9   95    10  raster  [B
           10   95    11   model  Ljava/awt/image/IndexColorModel;
           20   90    12      nc  I
           38   66    13       n  I
           39   51    14       p  I
           52   60    14    mask  I
           67   90    13       n  I
           68   75    14       p  I
    Exceptions:
      throws java.io.IOException, sun.awt.image.ImageFormatException
}
SourceFile: "XbmImageDecoder.java"