abstract class java.awt.MultipleGradientPaintContext implements java.awt.PaintContext
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: java.awt.MultipleGradientPaintContext
  super_class: java.lang.Object
{
  protected java.awt.image.ColorModel model;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0004) ACC_PROTECTED

  private static java.awt.image.ColorModel xrgbmodel;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected static java.awt.image.ColorModel cachedModel;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected static java.lang.ref.WeakReference<java.awt.image.Raster> cached;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Signature: Ljava/lang/ref/WeakReference<Ljava/awt/image/Raster;>;

  protected java.awt.image.Raster saved;
    descriptor: Ljava/awt/image/Raster;
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.MultipleGradientPaint$CycleMethod cycleMethod;
    descriptor: Ljava/awt/MultipleGradientPaint$CycleMethod;
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.MultipleGradientPaint$ColorSpaceType colorSpace;
    descriptor: Ljava/awt/MultipleGradientPaint$ColorSpaceType;
    flags: (0x0004) ACC_PROTECTED

  protected float a00;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a01;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a10;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a11;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a02;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a12;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected boolean isSimpleLookup;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected int fastGradientArraySize;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int[] gradient;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  private int[][] gradients;
    descriptor: [[I
    flags: (0x0002) ACC_PRIVATE

  private float[] normalizedIntervals;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private float[] fractions;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

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

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

  protected static final int GRADIENT_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  protected static final int GRADIENT_SIZE_INDEX;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 63
            new java.awt.image.DirectColorModel
            dup
            bipush 24
            ldc 16711680
            ldc 65280
            sipush 255
            invokespecial java.awt.image.DirectColorModel.<init>:(IIII)V
         1: .line 62
            putstatic java.awt.MultipleGradientPaintContext.xrgbmodel:Ljava/awt/image/ColorModel;
         2: .line 121
            sipush 256
            newarray 10
            putstatic java.awt.MultipleGradientPaintContext.SRGBtoLinearRGB:[I
         3: .line 122
            sipush 256
            newarray 10
            putstatic java.awt.MultipleGradientPaintContext.LinearRGBtoSRGB:[I
         4: .line 126
            iconst_0
            istore 0 /* k */
        start local 0 // int k
         5: goto 9
         6: .line 127
      StackMap locals: int
      StackMap stack:
            getstatic java.awt.MultipleGradientPaintContext.SRGBtoLinearRGB:[I
            iload 0 /* k */
            iload 0 /* k */
            invokestatic java.awt.MultipleGradientPaintContext.convertSRGBtoLinearRGB:(I)I
            iastore
         7: .line 128
            getstatic java.awt.MultipleGradientPaintContext.LinearRGBtoSRGB:[I
            iload 0 /* k */
            iload 0 /* k */
            invokestatic java.awt.MultipleGradientPaintContext.convertLinearRGBtoSRGB:(I)I
            iastore
         8: .line 126
            iinc 0 /* k */ 1
      StackMap locals:
      StackMap stack:
         9: iload 0 /* k */
            sipush 256
            if_icmplt 6
        end local 0 // int k
        10: .line 145
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5   10     0     k  I

  protected void <init>(java.awt.MultipleGradientPaint, java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints, float[], java.awt.Color[], java.awt.MultipleGradientPaint$CycleMethod, java.awt.MultipleGradientPaint$ColorSpaceType);
    descriptor: (Ljava/awt/MultipleGradientPaint;Ljava/awt/image/ColorModel;Ljava/awt/Rectangle;Ljava/awt/geom/Rectangle2D;Ljava/awt/geom/AffineTransform;Ljava/awt/RenderingHints;[F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=15, args_size=11
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // java.awt.MultipleGradientPaint mgp
        start local 2 // java.awt.image.ColorModel cm
        start local 3 // java.awt.Rectangle deviceBounds
        start local 4 // java.awt.geom.Rectangle2D userBounds
        start local 5 // java.awt.geom.AffineTransform t
        start local 6 // java.awt.RenderingHints hints
        start local 7 // float[] fractions
        start local 8 // java.awt.Color[] colors
        start local 9 // java.awt.MultipleGradientPaint$CycleMethod cycleMethod
        start local 10 // java.awt.MultipleGradientPaint$ColorSpaceType colorSpace
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 161
            aload 3 /* deviceBounds */
            ifnonnull 3
         2: .line 162
            new java.lang.NullPointerException
            dup
            ldc "Device bounds cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 165
      StackMap locals: java.awt.MultipleGradientPaintContext java.awt.MultipleGradientPaint java.awt.image.ColorModel java.awt.Rectangle java.awt.geom.Rectangle2D java.awt.geom.AffineTransform java.awt.RenderingHints float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.MultipleGradientPaint$ColorSpaceType
      StackMap stack:
            aload 4 /* userBounds */
            ifnonnull 5
         4: .line 166
            new java.lang.NullPointerException
            dup
            ldc "User bounds cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 169
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            ifnonnull 7
         6: .line 170
            new java.lang.NullPointerException
            dup
            ldc "Transform cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 173
      StackMap locals:
      StackMap stack:
            aload 6 /* hints */
            ifnonnull 9
         8: .line 174
            new java.lang.NullPointerException
            dup
            ldc "RenderingHints cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 183
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            invokevirtual java.awt.geom.AffineTransform.invert:()V
        10: .line 184
            aload 5 /* t */
            astore 11 /* tInv */
        start local 11 // java.awt.geom.AffineTransform tInv
        11: .line 185
            goto 14
        end local 11 // java.awt.geom.AffineTransform tInv
      StackMap locals:
      StackMap stack: java.awt.geom.NoninvertibleTransformException
        12: pop
        13: .line 188
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            astore 11 /* tInv */
        start local 11 // java.awt.geom.AffineTransform tInv
        14: .line 190
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            bipush 6
            newarray 7
            astore 12 /* m */
        start local 12 // double[] m
        15: .line 191
            aload 11 /* tInv */
            aload 12 /* m */
            invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
        16: .line 192
            aload 0 /* this */
            aload 12 /* m */
            iconst_0
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a00:F
        17: .line 193
            aload 0 /* this */
            aload 12 /* m */
            iconst_1
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a10:F
        18: .line 194
            aload 0 /* this */
            aload 12 /* m */
            iconst_2
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a01:F
        19: .line 195
            aload 0 /* this */
            aload 12 /* m */
            iconst_3
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a11:F
        20: .line 196
            aload 0 /* this */
            aload 12 /* m */
            iconst_4
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a02:F
        21: .line 197
            aload 0 /* this */
            aload 12 /* m */
            iconst_5
            daload
            d2f
            putfield java.awt.MultipleGradientPaintContext.a12:F
        22: .line 200
            aload 0 /* this */
            aload 9 /* cycleMethod */
            putfield java.awt.MultipleGradientPaintContext.cycleMethod:Ljava/awt/MultipleGradientPaint$CycleMethod;
        23: .line 201
            aload 0 /* this */
            aload 10 /* colorSpace */
            putfield java.awt.MultipleGradientPaintContext.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
        24: .line 204
            aload 0 /* this */
            aload 7 /* fractions */
            putfield java.awt.MultipleGradientPaintContext.fractions:[F
        25: .line 210
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.gradient:Ljava/lang/ref/SoftReference;
            ifnull 26
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.gradient:Ljava/lang/ref/SoftReference;
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast int[]
            goto 27
      StackMap locals: double[]
      StackMap stack:
        26: aconst_null
        27: .line 209
      StackMap locals:
      StackMap stack: int[]
            astore 13 /* gradient */
        start local 13 // int[] gradient
        28: .line 212
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.gradients:Ljava/lang/ref/SoftReference;
            ifnull 29
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.gradients:Ljava/lang/ref/SoftReference;
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast int[][]
            goto 30
      StackMap locals: int[]
      StackMap stack:
        29: aconst_null
        30: .line 211
      StackMap locals:
      StackMap stack: int[][]
            astore 14 /* gradients */
        start local 14 // int[][] gradients
        31: .line 214
            aload 13 /* gradient */
            ifnonnull 42
            aload 14 /* gradients */
            ifnonnull 42
        32: .line 216
            aload 0 /* this */
            aload 8 /* colors */
            invokevirtual java.awt.MultipleGradientPaintContext.calculateLookupData:([Ljava/awt/Color;)V
        33: .line 220
            aload 1 /* mgp */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
            putfield java.awt.MultipleGradientPaint.model:Ljava/awt/image/ColorModel;
        34: .line 221
            aload 1 /* mgp */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            putfield java.awt.MultipleGradientPaint.normalizedIntervals:[F
        35: .line 222
            aload 1 /* mgp */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
            putfield java.awt.MultipleGradientPaint.isSimpleLookup:Z
        36: .line 223
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
            ifeq 40
        37: .line 225
            aload 1 /* mgp */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fastGradientArraySize:I
            putfield java.awt.MultipleGradientPaint.fastGradientArraySize:I
        38: .line 226
            aload 1 /* mgp */
            new java.lang.ref.SoftReference
            dup
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield java.awt.MultipleGradientPaint.gradient:Ljava/lang/ref/SoftReference;
        39: .line 227
            goto 48
        40: .line 229
      StackMap locals: int[][]
      StackMap stack:
            aload 1 /* mgp */
            new java.lang.ref.SoftReference
            dup
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield java.awt.MultipleGradientPaint.gradients:Ljava/lang/ref/SoftReference;
        41: .line 231
            goto 48
        42: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.model:Ljava/awt/image/ColorModel;
            putfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
        43: .line 234
            aload 0 /* this */
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.normalizedIntervals:[F
            putfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
        44: .line 235
            aload 0 /* this */
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.isSimpleLookup:Z
            putfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
        45: .line 236
            aload 0 /* this */
            aload 13 /* gradient */
            putfield java.awt.MultipleGradientPaintContext.gradient:[I
        46: .line 237
            aload 0 /* this */
            aload 1 /* mgp */
            getfield java.awt.MultipleGradientPaint.fastGradientArraySize:I
            putfield java.awt.MultipleGradientPaintContext.fastGradientArraySize:I
        47: .line 238
            aload 0 /* this */
            aload 14 /* gradients */
            putfield java.awt.MultipleGradientPaintContext.gradients:[[I
        48: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 14 // int[][] gradients
        end local 13 // int[] gradient
        end local 12 // double[] m
        end local 11 // java.awt.geom.AffineTransform tInv
        end local 10 // java.awt.MultipleGradientPaint$ColorSpaceType colorSpace
        end local 9 // java.awt.MultipleGradientPaint$CycleMethod cycleMethod
        end local 8 // java.awt.Color[] colors
        end local 7 // float[] fractions
        end local 6 // java.awt.RenderingHints hints
        end local 5 // java.awt.geom.AffineTransform t
        end local 4 // java.awt.geom.Rectangle2D userBounds
        end local 3 // java.awt.Rectangle deviceBounds
        end local 2 // java.awt.image.ColorModel cm
        end local 1 // java.awt.MultipleGradientPaint mgp
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Ljava/awt/MultipleGradientPaintContext;
            0   49     1           mgp  Ljava/awt/MultipleGradientPaint;
            0   49     2            cm  Ljava/awt/image/ColorModel;
            0   49     3  deviceBounds  Ljava/awt/Rectangle;
            0   49     4    userBounds  Ljava/awt/geom/Rectangle2D;
            0   49     5             t  Ljava/awt/geom/AffineTransform;
            0   49     6         hints  Ljava/awt/RenderingHints;
            0   49     7     fractions  [F
            0   49     8        colors  [Ljava/awt/Color;
            0   49     9   cycleMethod  Ljava/awt/MultipleGradientPaint$CycleMethod;
            0   49    10    colorSpace  Ljava/awt/MultipleGradientPaint$ColorSpaceType;
           11   12    11          tInv  Ljava/awt/geom/AffineTransform;
           14   49    11          tInv  Ljava/awt/geom/AffineTransform;
           15   49    12             m  [D
           28   49    13      gradient  [I
           31   49    14     gradients  [[I
      Exception table:
        from    to  target  type
           9    11      12  Class java.awt.geom.NoninvertibleTransformException
    MethodParameters:
              Name  Flags
      mgp           
      cm            
      deviceBounds  
      userBounds    
      t             
      hints         
      fractions     
      colors        
      cycleMethod   
      colorSpace    

  private void calculateLookupData(java.awt.Color[]);
    descriptor: ([Ljava/awt/Color;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // java.awt.Color[] colors
         0: .line 249
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            getstatic java.awt.MultipleGradientPaint$ColorSpaceType.LINEAR_RGB:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            if_acmpne 13
         1: .line 251
            aload 1 /* colors */
            arraylength
            anewarray java.awt.Color
            astore 2 /* normalizedColors */
        start local 2 // java.awt.Color[] normalizedColors
         2: .line 253
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 11
         4: .line 254
      StackMap locals: java.awt.Color[] int
      StackMap stack:
            aload 1 /* colors */
            iload 3 /* i */
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            istore 4 /* argb */
        start local 4 // int argb
         5: .line 255
            iload 4 /* argb */
            bipush 24
            iushr
            istore 5 /* a */
        start local 5 // int a
         6: .line 256
            getstatic java.awt.MultipleGradientPaintContext.SRGBtoLinearRGB:[I
            iload 4 /* argb */
            bipush 16
            ishr
            sipush 255
            iand
            iaload
            istore 6 /* r */
        start local 6 // int r
         7: .line 257
            getstatic java.awt.MultipleGradientPaintContext.SRGBtoLinearRGB:[I
            iload 4 /* argb */
            bipush 8
            ishr
            sipush 255
            iand
            iaload
            istore 7 /* g */
        start local 7 // int g
         8: .line 258
            getstatic java.awt.MultipleGradientPaintContext.SRGBtoLinearRGB:[I
            iload 4 /* argb */
            sipush 255
            iand
            iaload
            istore 8 /* b */
        start local 8 // int b
         9: .line 259
            aload 2 /* normalizedColors */
            iload 3 /* i */
            new java.awt.Color
            dup
            iload 6 /* r */
            iload 7 /* g */
            iload 8 /* b */
            iload 5 /* a */
            invokespecial java.awt.Color.<init>:(IIII)V
            aastore
        end local 8 // int b
        end local 7 // int g
        end local 6 // int r
        end local 5 // int a
        end local 4 // int argb
        10: .line 253
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* colors */
            arraylength
            if_icmplt 4
        end local 3 // int i
        12: .line 261
            goto 14
        end local 2 // java.awt.Color[] normalizedColors
        13: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* colors */
            astore 2 /* normalizedColors */
        start local 2 // java.awt.Color[] normalizedColors
        14: .line 268
      StackMap locals: java.awt.Color[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fractions:[F
            arraylength
            iconst_1
            isub
            newarray 6
            putfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
        15: .line 271
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        16: goto 19
        17: .line 273
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 3 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fractions:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fractions:[F
            iload 3 /* i */
            faload
            fsub
            fastore
        18: .line 271
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            arraylength
            if_icmplt 17
        end local 3 // int i
        20: .line 277
            aload 0 /* this */
            ldc -16777216
            putfield java.awt.MultipleGradientPaintContext.transparencyTest:I
        21: .line 280
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            arraylength
            anewarray int[]
            putfield java.awt.MultipleGradientPaintContext.gradients:[[I
        22: .line 283
            fconst_1
            fstore 3 /* Imin */
        start local 3 // float Imin
        23: .line 284
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 30
        25: .line 285
      StackMap locals: java.awt.MultipleGradientPaintContext java.awt.Color[] java.awt.Color[] float int
      StackMap stack:
            fload 3 /* Imin */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 4 /* i */
            faload
            fcmpl
            ifle 27
        26: .line 286
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 4 /* i */
            faload
            goto 28
      StackMap locals:
      StackMap stack:
        27: fload 3 /* Imin */
        28: .line 285
      StackMap locals:
      StackMap stack: float
            fstore 3 /* Imin */
        29: .line 284
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 4 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            arraylength
            if_icmplt 25
        end local 4 // int i
        31: .line 294
            iconst_0
            istore 4 /* estimatedSize */
        start local 4 // int estimatedSize
        32: .line 295
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        33: goto 36
        34: .line 296
      StackMap locals: int
      StackMap stack:
            iload 4 /* estimatedSize */
            i2f
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 5 /* i */
            faload
            fload 3 /* Imin */
            fdiv
            ldc 256.0
            fmul
            fadd
            f2i
            istore 4 /* estimatedSize */
        35: .line 295
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 5 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            arraylength
            if_icmplt 34
        end local 5 // int i
        37: .line 299
            iload 4 /* estimatedSize */
            sipush 5000
            if_icmple 40
        38: .line 301
            aload 0 /* this */
            aload 2 /* normalizedColors */
            invokevirtual java.awt.MultipleGradientPaintContext.calculateMultipleArrayGradient:([Ljava/awt/Color;)V
        39: .line 302
            goto 41
        40: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* normalizedColors */
            fload 3 /* Imin */
            invokevirtual java.awt.MultipleGradientPaintContext.calculateSingleArrayGradient:([Ljava/awt/Color;F)V
        41: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.transparencyTest:I
            bipush 24
            iushr
            sipush 255
            if_icmpne 44
        42: .line 309
            aload 0 /* this */
            getstatic java.awt.MultipleGradientPaintContext.xrgbmodel:Ljava/awt/image/ColorModel;
            putfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
        43: .line 310
            goto 45
        44: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
            putfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
        45: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int estimatedSize
        end local 3 // float Imin
        end local 2 // java.awt.Color[] normalizedColors
        end local 1 // java.awt.Color[] colors
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0              this  Ljava/awt/MultipleGradientPaintContext;
            0   46     1            colors  [Ljava/awt/Color;
            2   13     2  normalizedColors  [Ljava/awt/Color;
           14   46     2  normalizedColors  [Ljava/awt/Color;
            3   12     3                 i  I
            5   10     4              argb  I
            6   10     5                 a  I
            7   10     6                 r  I
            8   10     7                 g  I
            9   10     8                 b  I
           16   20     3                 i  I
           23   46     3              Imin  F
           24   31     4                 i  I
           32   46     4     estimatedSize  I
           33   37     5                 i  I
    MethodParameters:
        Name  Flags
      colors  

  private void calculateSingleArrayGradient(java.awt.Color[], float);
    descriptor: ([Ljava/awt/Color;F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // java.awt.Color[] colors
        start local 2 // float Imin
         0: .line 340
            aload 0 /* this */
            iconst_1
            putfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
         1: .line 346
            iconst_1
            istore 5 /* gradientsTot */
        start local 5 // int gradientsTot
         2: .line 349
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 13
         4: .line 352
      StackMap locals: java.awt.MultipleGradientPaintContext java.awt.Color[] float top top int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 6 /* i */
            faload
            fload 2 /* Imin */
            fdiv
            ldc 255.0
            fmul
            f2i
            istore 7 /* nGradients */
        start local 7 // int nGradients
         5: .line 353
            iload 5 /* gradientsTot */
            iload 7 /* nGradients */
            iadd
            istore 5 /* gradientsTot */
         6: .line 354
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 6 /* i */
            iload 7 /* nGradients */
            newarray 10
            aastore
         7: .line 357
            aload 1 /* colors */
            iload 6 /* i */
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            istore 3 /* rgb1 */
        start local 3 // int rgb1
         8: .line 358
            aload 1 /* colors */
            iload 6 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            istore 4 /* rgb2 */
        start local 4 // int rgb2
         9: .line 361
            aload 0 /* this */
            iload 3 /* rgb1 */
            iload 4 /* rgb2 */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 6 /* i */
            aaload
            invokevirtual java.awt.MultipleGradientPaintContext.interpolate:(II[I)V
        10: .line 365
            aload 0 /* this */
            dup
            getfield java.awt.MultipleGradientPaintContext.transparencyTest:I
            iload 3 /* rgb1 */
            iand
            putfield java.awt.MultipleGradientPaintContext.transparencyTest:I
        11: .line 366
            aload 0 /* this */
            dup
            getfield java.awt.MultipleGradientPaintContext.transparencyTest:I
            iload 4 /* rgb2 */
            iand
            putfield java.awt.MultipleGradientPaintContext.transparencyTest:I
        end local 7 // int nGradients
        12: .line 349
            iinc 6 /* i */ 1
        end local 4 // int rgb2
        end local 3 // int rgb1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            if_icmplt 4
        end local 6 // int i
        14: .line 370
            aload 0 /* this */
            iload 5 /* gradientsTot */
            newarray 10
            putfield java.awt.MultipleGradientPaintContext.gradient:[I
        15: .line 371
            iconst_0
            istore 6 /* curOffset */
        start local 6 // int curOffset
        16: .line 372
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 23
        18: .line 373
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 7 /* i */
            aaload
            iconst_0
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
        19: .line 374
            iload 6 /* curOffset */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 7 /* i */
            aaload
            arraylength
        20: .line 373
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 375
            iload 6 /* curOffset */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 7 /* i */
            aaload
            arraylength
            iadd
            istore 6 /* curOffset */
        22: .line 372
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            if_icmplt 18
        end local 7 // int i
        24: .line 377
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            arraylength
            iconst_1
            isub
            aload 1 /* colors */
            aload 1 /* colors */
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            iastore
        25: .line 381
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            getstatic java.awt.MultipleGradientPaint$ColorSpaceType.LINEAR_RGB:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            if_acmpne 31
        26: .line 382
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: goto 30
        28: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            iload 7 /* i */
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            iload 7 /* i */
            iaload
            invokevirtual java.awt.MultipleGradientPaintContext.convertEntireColorLinearRGBtoSRGB:(I)I
            iastore
        29: .line 382
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 7 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            arraylength
            if_icmplt 28
        end local 7 // int i
        31: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            arraylength
            iconst_1
            isub
            putfield java.awt.MultipleGradientPaintContext.fastGradientArraySize:I
        32: .line 388
            return
        end local 6 // int curOffset
        end local 5 // int gradientsTot
        end local 2 // float Imin
        end local 1 // java.awt.Color[] colors
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Ljava/awt/MultipleGradientPaintContext;
            0   33     1        colors  [Ljava/awt/Color;
            0   33     2          Imin  F
            8   13     3          rgb1  I
            9   13     4          rgb2  I
            2   33     5  gradientsTot  I
            3   14     6             i  I
            5   12     7    nGradients  I
           16   33     6     curOffset  I
           17   24     7             i  I
           27   31     7             i  I
    MethodParameters:
        Name  Flags
      colors  
      Imin    

  private void calculateMultipleArrayGradient(java.awt.Color[]);
    descriptor: ([Ljava/awt/Color;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // java.awt.Color[] colors
         0: .line 410
            aload 0 /* this */
            iconst_0
            putfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
         1: .line 416
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 10
         3: .line 419
      StackMap locals: java.awt.MultipleGradientPaintContext java.awt.Color[] top top int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 4 /* i */
            sipush 256
            newarray 10
            aastore
         4: .line 422
            aload 1 /* colors */
            iload 4 /* i */
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            istore 2 /* rgb1 */
        start local 2 // int rgb1
         5: .line 423
            aload 1 /* colors */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual java.awt.Color.getRGB:()I
            istore 3 /* rgb2 */
        start local 3 // int rgb2
         6: .line 426
            aload 0 /* this */
            iload 2 /* rgb1 */
            iload 3 /* rgb2 */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 4 /* i */
            aaload
            invokevirtual java.awt.MultipleGradientPaintContext.interpolate:(II[I)V
         7: .line 430
            aload 0 /* this */
            dup
            getfield java.awt.MultipleGradientPaintContext.transparencyTest:I
            iload 2 /* rgb1 */
            iand
            putfield java.awt.MultipleGradientPaintContext.transparencyTest:I
         8: .line 431
            aload 0 /* this */
            dup
            getfield java.awt.MultipleGradientPaintContext.transparencyTest:I
            iload 3 /* rgb2 */
            iand
            putfield java.awt.MultipleGradientPaintContext.transparencyTest:I
         9: .line 416
            iinc 4 /* i */ 1
        end local 3 // int rgb2
        end local 2 // int rgb1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            if_icmplt 3
        end local 4 // int i
        11: .line 436
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            getstatic java.awt.MultipleGradientPaint$ColorSpaceType.LINEAR_RGB:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            if_acmpne 23
        12: .line 437
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        13: goto 22
        14: .line 438
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 20
        16: .line 439
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 4 /* j */
            aaload
            iload 5 /* i */
        17: .line 440
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 4 /* j */
            aaload
            iload 5 /* i */
            iaload
            invokevirtual java.awt.MultipleGradientPaintContext.convertEntireColorLinearRGBtoSRGB:(I)I
        18: .line 439
            iastore
        19: .line 438
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 4 /* j */
            aaload
            arraylength
            if_icmplt 16
        end local 5 // int i
        21: .line 437
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* j */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            if_icmplt 14
        end local 4 // int j
        23: .line 444
      StackMap locals: java.awt.MultipleGradientPaintContext java.awt.Color[]
      StackMap stack:
            return
        end local 1 // java.awt.Color[] colors
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Ljava/awt/MultipleGradientPaintContext;
            0   24     1  colors  [Ljava/awt/Color;
            5   10     2    rgb1  I
            6   10     3    rgb2  I
            2   11     4       i  I
           13   23     4       j  I
           15   21     5       i  I
    MethodParameters:
        Name  Flags
      colors  

  private void interpolate(int, int, int[]);
    descriptor: (II[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=4
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // int rgb1
        start local 2 // int rgb2
        start local 3 // int[] output
         0: .line 459
            fconst_1
            aload 3 /* output */
            arraylength
            i2f
            fdiv
            fstore 12 /* stepSize */
        start local 12 // float stepSize
         1: .line 462
            iload 1 /* rgb1 */
            bipush 24
            ishr
            sipush 255
            iand
            istore 4 /* a1 */
        start local 4 // int a1
         2: .line 463
            iload 1 /* rgb1 */
            bipush 16
            ishr
            sipush 255
            iand
            istore 5 /* r1 */
        start local 5 // int r1
         3: .line 464
            iload 1 /* rgb1 */
            bipush 8
            ishr
            sipush 255
            iand
            istore 6 /* g1 */
        start local 6 // int g1
         4: .line 465
            iload 1 /* rgb1 */
            sipush 255
            iand
            istore 7 /* b1 */
        start local 7 // int b1
         5: .line 468
            iload 2 /* rgb2 */
            bipush 24
            ishr
            sipush 255
            iand
            iload 4 /* a1 */
            isub
            istore 8 /* da */
        start local 8 // int da
         6: .line 469
            iload 2 /* rgb2 */
            bipush 16
            ishr
            sipush 255
            iand
            iload 5 /* r1 */
            isub
            istore 9 /* dr */
        start local 9 // int dr
         7: .line 470
            iload 2 /* rgb2 */
            bipush 8
            ishr
            sipush 255
            iand
            iload 6 /* g1 */
            isub
            istore 10 /* dg */
        start local 10 // int dg
         8: .line 471
            iload 2 /* rgb2 */
            sipush 255
            iand
            iload 7 /* b1 */
            isub
            istore 11 /* db */
        start local 11 // int db
         9: .line 476
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        10: goto 21
        11: .line 477
      StackMap locals: java.awt.MultipleGradientPaintContext int int int[] int int int int int int int int float int
      StackMap stack:
            aload 3 /* output */
            iload 13 /* i */
        12: .line 478
            iload 4 /* a1 */
            i2f
            iload 13 /* i */
            iload 8 /* da */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 24
            ishl
        13: .line 479
            iload 5 /* r1 */
            i2f
            iload 13 /* i */
            iload 9 /* dr */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 16
            ishl
        14: .line 478
            ior
        15: .line 480
            iload 6 /* g1 */
            i2f
            iload 13 /* i */
            iload 10 /* dg */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 8
            ishl
        16: .line 478
            ior
        17: .line 481
            iload 7 /* b1 */
            i2f
            iload 13 /* i */
            iload 11 /* db */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
        18: .line 478
            ior
        19: .line 477
            iastore
        20: .line 476
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 13 /* i */
            aload 3 /* output */
            arraylength
            if_icmplt 11
        end local 13 // int i
        22: .line 483
            return
        end local 12 // float stepSize
        end local 11 // int db
        end local 10 // int dg
        end local 9 // int dr
        end local 8 // int da
        end local 7 // int b1
        end local 6 // int g1
        end local 5 // int r1
        end local 4 // int a1
        end local 3 // int[] output
        end local 2 // int rgb2
        end local 1 // int rgb1
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Ljava/awt/MultipleGradientPaintContext;
            0   23     1      rgb1  I
            0   23     2      rgb2  I
            0   23     3    output  [I
            2   23     4        a1  I
            3   23     5        r1  I
            4   23     6        g1  I
            5   23     7        b1  I
            6   23     8        da  I
            7   23     9        dr  I
            8   23    10        dg  I
            9   23    11        db  I
            1   23    12  stepSize  F
           10   22    13         i  I
    MethodParameters:
        Name  Flags
      rgb1    
      rgb2    
      output  

  private int convertEntireColorLinearRGBtoSRGB(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // int rgb
         0: .line 495
            iload 1 /* rgb */
            bipush 24
            ishr
            sipush 255
            iand
            istore 2 /* a1 */
        start local 2 // int a1
         1: .line 496
            iload 1 /* rgb */
            bipush 16
            ishr
            sipush 255
            iand
            istore 3 /* r1 */
        start local 3 // int r1
         2: .line 497
            iload 1 /* rgb */
            bipush 8
            ishr
            sipush 255
            iand
            istore 4 /* g1 */
        start local 4 // int g1
         3: .line 498
            iload 1 /* rgb */
            sipush 255
            iand
            istore 5 /* b1 */
        start local 5 // int b1
         4: .line 501
            getstatic java.awt.MultipleGradientPaintContext.LinearRGBtoSRGB:[I
            iload 3 /* r1 */
            iaload
            istore 3 /* r1 */
         5: .line 502
            getstatic java.awt.MultipleGradientPaintContext.LinearRGBtoSRGB:[I
            iload 4 /* g1 */
            iaload
            istore 4 /* g1 */
         6: .line 503
            getstatic java.awt.MultipleGradientPaintContext.LinearRGBtoSRGB:[I
            iload 5 /* b1 */
            iaload
            istore 5 /* b1 */
         7: .line 506
            iload 2 /* a1 */
            bipush 24
            ishl
         8: .line 507
            iload 3 /* r1 */
            bipush 16
            ishl
         9: .line 506
            ior
        10: .line 508
            iload 4 /* g1 */
            bipush 8
            ishl
        11: .line 506
            ior
        12: .line 509
            iload 5 /* b1 */
        13: .line 506
            ior
            ireturn
        end local 5 // int b1
        end local 4 // int g1
        end local 3 // int r1
        end local 2 // int a1
        end local 1 // int rgb
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/awt/MultipleGradientPaintContext;
            0   14     1   rgb  I
            1   14     2    a1  I
            2   14     3    r1  I
            3   14     4    g1  I
            4   14     5    b1  I
    MethodParameters:
      Name  Flags
      rgb   

  protected final int indexIntoGradientsArrays(float);
    descriptor: (F)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // float position
         0: .line 524
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.cycleMethod:Ljava/awt/MultipleGradientPaint$CycleMethod;
            getstatic java.awt.MultipleGradientPaint$CycleMethod.NO_CYCLE:Ljava/awt/MultipleGradientPaint$CycleMethod;
            if_acmpne 7
         1: .line 525
            fload 1 /* position */
            fconst_1
            fcmpl
            ifle 4
         2: .line 527
            fconst_1
            fstore 1 /* position */
         3: .line 528
            goto 18
      StackMap locals:
      StackMap stack:
         4: fload 1 /* position */
            fconst_0
            fcmpg
            ifge 18
         5: .line 530
            fconst_0
            fstore 1 /* position */
         6: .line 532
            goto 18
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.cycleMethod:Ljava/awt/MultipleGradientPaint$CycleMethod;
            getstatic java.awt.MultipleGradientPaint$CycleMethod.REPEAT:Ljava/awt/MultipleGradientPaint$CycleMethod;
            if_acmpne 12
         8: .line 535
            fload 1 /* position */
            fload 1 /* position */
            f2i
            i2f
            fsub
            fstore 1 /* position */
         9: .line 538
            fload 1 /* position */
            fconst_0
            fcmpg
            ifge 18
        10: .line 540
            fload 1 /* position */
            fconst_1
            fadd
            fstore 1 /* position */
        11: .line 542
            goto 18
        12: .line 543
      StackMap locals:
      StackMap stack:
            fload 1 /* position */
            fconst_0
            fcmpg
            ifge 14
        13: .line 545
            fload 1 /* position */
            fneg
            fstore 1 /* position */
        14: .line 549
      StackMap locals:
      StackMap stack:
            fload 1 /* position */
            f2i
            istore 2 /* part */
        start local 2 // int part
        15: .line 552
            fload 1 /* position */
            iload 2 /* part */
            i2f
            fsub
            fstore 1 /* position */
        16: .line 554
            iload 2 /* part */
            iconst_1
            iand
            iconst_1
            if_icmpne 18
        17: .line 556
            fconst_1
            fload 1 /* position */
            fsub
            fstore 1 /* position */
        end local 2 // int part
        18: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.isSimpleLookup:Z
            ifeq 20
        19: .line 564
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradient:[I
            fload 1 /* position */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fastGradientArraySize:I
            i2f
            fmul
            f2i
            iaload
            ireturn
        20: .line 569
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: goto 29
        22: .line 570
      StackMap locals: int
      StackMap stack:
            fload 1 /* position */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fractions:[F
            iload 2 /* i */
            iconst_1
            iadd
            faload
            fcmpg
            ifge 28
        23: .line 572
            fload 1 /* position */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.fractions:[F
            iload 2 /* i */
            faload
            fsub
            fstore 3 /* delta */
        start local 3 // float delta
        24: .line 575
            fload 3 /* delta */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.normalizedIntervals:[F
            iload 2 /* i */
            faload
            fdiv
        25: .line 576
            ldc 255.0
        26: .line 575
            fmul
            f2i
            istore 4 /* index */
        start local 4 // int index
        27: .line 578
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            iload 2 /* i */
            aaload
            iload 4 /* index */
            iaload
            ireturn
        end local 4 // int index
        end local 3 // float delta
        28: .line 569
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 2 /* i */
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            if_icmplt 22
        end local 2 // int i
        30: .line 583
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.gradients:[[I
            arraylength
            iconst_1
            isub
            aaload
            sipush 255
            iaload
            ireturn
        end local 1 // float position
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Ljava/awt/MultipleGradientPaintContext;
            0   31     1  position  F
           15   18     2      part  I
           21   30     2         i  I
           24   28     3     delta  F
           27   28     4     index  I
    MethodParameters:
          Name  Flags
      position  

  private static int convertSRGBtoLinearRGB(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int color
         0: .line 593
            iload 0 /* color */
            i2f
            ldc 255.0
            fdiv
            fstore 1 /* input */
        start local 1 // float input
         1: .line 594
            fload 1 /* input */
            ldc 0.04045
            fcmpg
            ifgt 4
         2: .line 595
            fload 1 /* input */
            ldc 12.92
            fdiv
            fstore 2 /* output */
        start local 2 // float output
         3: .line 596
            goto 5
        end local 2 // float output
         4: .line 597
      StackMap locals: float
      StackMap stack:
            fload 1 /* input */
            f2d
            ldc 0.055
            dadd
            ldc 1.055
            ddiv
            ldc 2.4
            invokestatic java.lang.Math.pow:(DD)D
            d2f
            fstore 2 /* output */
        start local 2 // float output
         5: .line 600
      StackMap locals: float
      StackMap stack:
            fload 2 /* output */
            ldc 255.0
            fmul
            invokestatic java.lang.Math.round:(F)I
            ireturn
        end local 2 // float output
        end local 1 // float input
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0   color  I
            1    6     1   input  F
            3    4     2  output  F
            5    6     2  output  F
    MethodParameters:
       Name  Flags
      color  

  private static int convertLinearRGBtoSRGB(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // int color
         0: .line 610
            iload 0 /* color */
            i2f
            ldc 255.0
            fdiv
            fstore 1 /* input */
        start local 1 // float input
         1: .line 611
            fload 1 /* input */
            f2d
            ldc 0.0031308
            dcmpg
            ifgt 4
         2: .line 612
            fload 1 /* input */
            ldc 12.92
            fmul
            fstore 2 /* output */
        start local 2 // float output
         3: .line 613
            goto 9
        end local 2 // float output
         4: .line 614
      StackMap locals: float
      StackMap stack:
            ldc 1.055
         5: .line 615
            fload 1 /* input */
            f2d
            ldc 0.4166666666666667
            invokestatic java.lang.Math.pow:(DD)D
            d2f
         6: .line 614
            fmul
         7: .line 615
            ldc 0.055
         8: .line 614
            fsub
            fstore 2 /* output */
        start local 2 // float output
         9: .line 618
      StackMap locals: float
      StackMap stack:
            fload 2 /* output */
            ldc 255.0
            fmul
            invokestatic java.lang.Math.round:(F)I
            ireturn
        end local 2 // float output
        end local 1 // float input
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   color  I
            1   10     1   input  F
            3    4     2  output  F
            9   10     2  output  F
    MethodParameters:
       Name  Flags
      color  

  public final java.awt.image.Raster getRaster(int, int, int, int);
    descriptor: (IIII)Ljava/awt/image/Raster;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // java.awt.MultipleGradientPaintContext this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
         0: .line 627
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.saved:Ljava/awt/image/Raster;
            astore 5 /* raster */
        start local 5 // java.awt.image.Raster raster
         1: .line 628
            aload 5 /* raster */
            ifnull 3
         2: .line 629
            aload 5 /* raster */
            invokevirtual java.awt.image.Raster.getWidth:()I
            iload 3 /* w */
            if_icmplt 3
            aload 5 /* raster */
            invokevirtual java.awt.image.Raster.getHeight:()I
            iload 4 /* h */
            if_icmpge 5
         3: .line 631
      StackMap locals: java.awt.image.Raster
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
            iload 3 /* w */
            iload 4 /* h */
            invokestatic java.awt.MultipleGradientPaintContext.getCachedRaster:(Ljava/awt/image/ColorModel;II)Ljava/awt/image/Raster;
            astore 5 /* raster */
         4: .line 632
            aload 0 /* this */
            aload 5 /* raster */
            putfield java.awt.MultipleGradientPaintContext.saved:Ljava/awt/image/Raster;
         5: .line 642
      StackMap locals:
      StackMap stack:
            aload 5 /* raster */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferInt
            astore 6 /* rasterDB */
        start local 6 // java.awt.image.DataBufferInt rasterDB
         6: .line 643
            aload 6 /* rasterDB */
            iconst_0
            invokevirtual java.awt.image.DataBufferInt.getData:(I)[I
            astore 7 /* pixels */
        start local 7 // int[] pixels
         7: .line 644
            aload 6 /* rasterDB */
            invokevirtual java.awt.image.DataBufferInt.getOffset:()I
            istore 8 /* off */
        start local 8 // int off
         8: .line 646
            aload 5 /* raster */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
         9: .line 645
            checkcast java.awt.image.SinglePixelPackedSampleModel
        10: .line 646
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getScanlineStride:()I
        11: .line 645
            istore 9 /* scanlineStride */
        start local 9 // int scanlineStride
        12: .line 647
            iload 9 /* scanlineStride */
            iload 3 /* w */
            isub
            istore 10 /* adjust */
        start local 10 // int adjust
        13: .line 649
            aload 0 /* this */
            aload 7 /* pixels */
            iload 8 /* off */
            iload 10 /* adjust */
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            invokevirtual java.awt.MultipleGradientPaintContext.fillRaster:([IIIIIII)V
        14: .line 651
            aload 5 /* raster */
            areturn
        end local 10 // int adjust
        end local 9 // int scanlineStride
        end local 8 // int off
        end local 7 // int[] pixels
        end local 6 // java.awt.image.DataBufferInt rasterDB
        end local 5 // java.awt.image.Raster raster
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Ljava/awt/MultipleGradientPaintContext;
            0   15     1               x  I
            0   15     2               y  I
            0   15     3               w  I
            0   15     4               h  I
            1   15     5          raster  Ljava/awt/image/Raster;
            6   15     6        rasterDB  Ljava/awt/image/DataBufferInt;
            7   15     7          pixels  [I
            8   15     8             off  I
           12   15     9  scanlineStride  I
           13   15    10          adjust  I
    MethodParameters:
      Name  Flags
      x     
      y     
      w     
      h     

  protected abstract void fillRaster(int[], int, int, int, int, int, int);
    descriptor: ([IIIIIII)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      pixels  
      off     
      adjust  
      x       
      y       
      w       
      h       

  private static synchronized java.awt.image.Raster getCachedRaster(java.awt.image.ColorModel, int, int);
    descriptor: (Ljava/awt/image/ColorModel;II)Ljava/awt/image/Raster;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.awt.image.ColorModel cm
        start local 1 // int w
        start local 2 // int h
         0: .line 666
            aload 0 /* cm */
            getstatic java.awt.MultipleGradientPaintContext.cachedModel:Ljava/awt/image/ColorModel;
            if_acmpne 8
         1: .line 667
            getstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
            ifnull 8
         2: .line 668
            getstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.awt.image.Raster
            astore 3 /* ras */
        start local 3 // java.awt.image.Raster ras
         3: .line 669
            aload 3 /* ras */
            ifnull 8
         4: .line 670
            aload 3 /* ras */
            invokevirtual java.awt.image.Raster.getWidth:()I
            iload 1 /* w */
            if_icmplt 8
         5: .line 671
            aload 3 /* ras */
            invokevirtual java.awt.image.Raster.getHeight:()I
            iload 2 /* h */
            if_icmplt 8
         6: .line 673
            aconst_null
            putstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
         7: .line 674
            aload 3 /* ras */
            areturn
        end local 3 // java.awt.image.Raster ras
         8: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* cm */
            iload 1 /* w */
            iload 2 /* h */
            invokevirtual java.awt.image.ColorModel.createCompatibleWritableRaster:(II)Ljava/awt/image/WritableRaster;
            areturn
        end local 2 // int h
        end local 1 // int w
        end local 0 // java.awt.image.ColorModel cm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    cm  Ljava/awt/image/ColorModel;
            0    9     1     w  I
            0    9     2     h  I
            3    8     3   ras  Ljava/awt/image/Raster;
    MethodParameters:
      Name  Flags
      cm    
      w     
      h     

  private static synchronized void putCachedRaster(java.awt.image.ColorModel, java.awt.image.Raster);
    descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/Raster;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.awt.image.ColorModel cm
        start local 1 // java.awt.image.Raster ras
         0: .line 689
            getstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
            ifnull 11
         1: .line 690
            getstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.awt.image.Raster
            astore 2 /* cras */
        start local 2 // java.awt.image.Raster cras
         2: .line 691
            aload 2 /* cras */
            ifnull 11
         3: .line 692
            aload 2 /* cras */
            invokevirtual java.awt.image.Raster.getWidth:()I
            istore 3 /* cw */
        start local 3 // int cw
         4: .line 693
            aload 2 /* cras */
            invokevirtual java.awt.image.Raster.getHeight:()I
            istore 4 /* ch */
        start local 4 // int ch
         5: .line 694
            aload 1 /* ras */
            invokevirtual java.awt.image.Raster.getWidth:()I
            istore 5 /* iw */
        start local 5 // int iw
         6: .line 695
            aload 1 /* ras */
            invokevirtual java.awt.image.Raster.getHeight:()I
            istore 6 /* ih */
        start local 6 // int ih
         7: .line 696
            iload 3 /* cw */
            iload 5 /* iw */
            if_icmplt 9
            iload 4 /* ch */
            iload 6 /* ih */
            if_icmplt 9
         8: .line 697
            return
         9: .line 699
      StackMap locals: java.awt.image.ColorModel java.awt.image.Raster java.awt.image.Raster int int int int
      StackMap stack:
            iload 3 /* cw */
            iload 4 /* ch */
            imul
            iload 5 /* iw */
            iload 6 /* ih */
            imul
            if_icmplt 11
        10: .line 700
            return
        end local 6 // int ih
        end local 5 // int iw
        end local 4 // int ch
        end local 3 // int cw
        end local 2 // java.awt.image.Raster cras
        11: .line 704
      StackMap locals: java.awt.image.ColorModel java.awt.image.Raster
      StackMap stack:
            aload 0 /* cm */
            putstatic java.awt.MultipleGradientPaintContext.cachedModel:Ljava/awt/image/ColorModel;
        12: .line 705
            new java.lang.ref.WeakReference
            dup
            aload 1 /* ras */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic java.awt.MultipleGradientPaintContext.cached:Ljava/lang/ref/WeakReference;
        13: .line 706
            return
        end local 1 // java.awt.image.Raster ras
        end local 0 // java.awt.image.ColorModel cm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0    cm  Ljava/awt/image/ColorModel;
            0   14     1   ras  Ljava/awt/image/Raster;
            2   11     2  cras  Ljava/awt/image/Raster;
            4   11     3    cw  I
            5   11     4    ch  I
            6   11     5    iw  I
            7   11     6    ih  I
    MethodParameters:
      Name  Flags
      cm    
      ras   

  public final void dispose();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.MultipleGradientPaintContext this
         0: .line 712
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.saved:Ljava/awt/image/Raster;
            ifnull 3
         1: .line 713
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.saved:Ljava/awt/image/Raster;
            invokestatic java.awt.MultipleGradientPaintContext.putCachedRaster:(Ljava/awt/image/ColorModel;Ljava/awt/image/Raster;)V
         2: .line 714
            aload 0 /* this */
            aconst_null
            putfield java.awt.MultipleGradientPaintContext.saved:Ljava/awt/image/Raster;
         3: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/MultipleGradientPaintContext;

  public final java.awt.image.ColorModel getColorModel();
    descriptor: ()Ljava/awt/image/ColorModel;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.MultipleGradientPaintContext this
         0: .line 722
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaintContext.model:Ljava/awt/image/ColorModel;
            areturn
        end local 0 // java.awt.MultipleGradientPaintContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/MultipleGradientPaintContext;
}
SourceFile: "MultipleGradientPaintContext.java"
InnerClasses:
  public final ColorSpaceType = java.awt.MultipleGradientPaint$ColorSpaceType of java.awt.MultipleGradientPaint
  public final CycleMethod = java.awt.MultipleGradientPaint$CycleMethod of java.awt.MultipleGradientPaint