public class com.sun.javafx.util.Utils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.util.Utils
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            ldc Lcom/sun/javafx/util/Utils;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.javafx.util.Utils.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.util.Utils this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.javafx.util.Utils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/util/Utils;

  public static float clamp(float, float, float);
    descriptor: (FFF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // float min
        start local 1 // float value
        start local 2 // float max
         0: .line 68
            fload 1 /* value */
            fload 0 /* min */
            fcmpg
            ifge 1
            fload 0 /* min */
            freturn
         1: .line 69
      StackMap locals:
      StackMap stack:
            fload 1 /* value */
            fload 2 /* max */
            fcmpl
            ifle 2
            fload 2 /* max */
            freturn
         2: .line 70
      StackMap locals:
      StackMap stack:
            fload 1 /* value */
            freturn
        end local 2 // float max
        end local 1 // float value
        end local 0 // float min
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    min  F
            0    3     1  value  F
            0    3     2    max  F
    MethodParameters:
       Name  Flags
      min    
      value  
      max    

  public static int clamp(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int min
        start local 1 // int value
        start local 2 // int max
         0: .line 78
            iload 1 /* value */
            iload 0 /* min */
            if_icmpge 1
            iload 0 /* min */
            ireturn
         1: .line 79
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            iload 2 /* max */
            if_icmple 2
            iload 2 /* max */
            ireturn
         2: .line 80
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            ireturn
        end local 2 // int max
        end local 1 // int value
        end local 0 // int min
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    min  I
            0    3     1  value  I
            0    3     2    max  I
    MethodParameters:
       Name  Flags
      min    
      value  
      max    

  public static double clamp(double, double, double);
    descriptor: (DDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // double min
        start local 2 // double value
        start local 4 // double max
         0: .line 88
            dload 2 /* value */
            dload 0 /* min */
            dcmpg
            ifge 1
            dload 0 /* min */
            dreturn
         1: .line 89
      StackMap locals:
      StackMap stack:
            dload 2 /* value */
            dload 4 /* max */
            dcmpl
            ifle 2
            dload 4 /* max */
            dreturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            dload 2 /* value */
            dreturn
        end local 4 // double max
        end local 2 // double value
        end local 0 // double min
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    min  D
            0    3     2  value  D
            0    3     4    max  D
    MethodParameters:
       Name  Flags
      min    
      value  
      max    

  public static long clamp(long, long, long);
    descriptor: (JJJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // long min
        start local 2 // long value
        start local 4 // long max
         0: .line 98
            lload 2 /* value */
            lload 0 /* min */
            lcmp
            ifge 1
            lload 0 /* min */
            lreturn
         1: .line 99
      StackMap locals:
      StackMap stack:
            lload 2 /* value */
            lload 4 /* max */
            lcmp
            ifle 2
            lload 4 /* max */
            lreturn
         2: .line 100
      StackMap locals:
      StackMap stack:
            lload 2 /* value */
            lreturn
        end local 4 // long max
        end local 2 // long value
        end local 0 // long min
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    min  J
            0    3     2  value  J
            0    3     4    max  J
    MethodParameters:
       Name  Flags
      min    
      value  
      max    

  public static double clampMin(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double value
        start local 2 // double min
         0: .line 108
            dload 0 /* value */
            dload 2 /* min */
            dcmpg
            ifge 1
            dload 2 /* min */
            dreturn
         1: .line 109
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            dreturn
        end local 2 // double min
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  D
            0    2     2    min  D
    MethodParameters:
       Name  Flags
      value  
      min    

  public static int clampMax(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int value
        start local 1 // int max
         0: .line 117
            iload 0 /* value */
            iload 1 /* max */
            if_icmple 1
            iload 1 /* max */
            ireturn
         1: .line 118
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 1 // int max
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  I
            0    2     1    max  I
    MethodParameters:
       Name  Flags
      value  
      max    

  public static double nearest(double, double, double);
    descriptor: (DDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // double less
        start local 2 // double value
        start local 4 // double more
         0: .line 127
            dload 2 /* value */
            dload 0 /* less */
            dsub
            dstore 6 /* lessDiff */
        start local 6 // double lessDiff
         1: .line 128
            dload 4 /* more */
            dload 2 /* value */
            dsub
            dstore 8 /* moreDiff */
        start local 8 // double moreDiff
         2: .line 129
            dload 6 /* lessDiff */
            dload 8 /* moreDiff */
            dcmpg
            ifge 3
            dload 0 /* less */
            dreturn
         3: .line 130
      StackMap locals: double double
      StackMap stack:
            dload 4 /* more */
            dreturn
        end local 8 // double moreDiff
        end local 6 // double lessDiff
        end local 4 // double more
        end local 2 // double value
        end local 0 // double less
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      less  D
            0    4     2     value  D
            0    4     4      more  D
            1    4     6  lessDiff  D
            2    4     8  moreDiff  D
    MethodParameters:
       Name  Flags
      less   
      value  
      more   

  public static java.lang.String stripQuotes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String str
         0: .line 144
            aload 0 /* str */
            ifnonnull 1
            aload 0 /* str */
            areturn
         1: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
            aload 0 /* str */
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* beginIndex */
        start local 1 // int beginIndex
         3: .line 148
            aload 0 /* str */
            iload 1 /* beginIndex */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* openQuote */
        start local 2 // char openQuote
         4: .line 149
            iload 2 /* openQuote */
            bipush 34
            if_icmpeq 5
            iload 2 /* openQuote */
            bipush 39
            if_icmpne 6
      StackMap locals: int int
      StackMap stack:
         5: iinc 1 /* beginIndex */ 1
         6: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 3 /* endIndex */
        start local 3 // int endIndex
         7: .line 152
            aload 0 /* str */
            iload 3 /* endIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* closeQuote */
        start local 4 // char closeQuote
         8: .line 153
            iload 4 /* closeQuote */
            bipush 34
            if_icmpeq 9
            iload 4 /* closeQuote */
            bipush 39
            if_icmpne 10
      StackMap locals: int int
      StackMap stack:
         9: iinc 3 /* endIndex */ -1
        10: .line 155
      StackMap locals:
      StackMap stack:
            iload 3 /* endIndex */
            iload 1 /* beginIndex */
            isub
            ifge 11
            aload 0 /* str */
            areturn
        11: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iload 1 /* beginIndex */
            iload 3 /* endIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // char closeQuote
        end local 3 // int endIndex
        end local 2 // char openQuote
        end local 1 // int beginIndex
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0         str  Ljava/lang/String;
            3   12     1  beginIndex  I
            4   12     2   openQuote  C
            7   12     3    endIndex  I
            8   12     4  closeQuote  C
    MethodParameters:
      Name  Flags
      str   

  public static java.lang.String[] split(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String separator
         0: .line 167
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            anewarray java.lang.String
            areturn
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* separator */
            ifnull 3
            aload 1 /* separator */
            invokevirtual java.lang.String.length:()I
            ifne 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
            anewarray java.lang.String
            areturn
         4: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* separator */
            invokevirtual java.lang.String.length:()I
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmple 5
            iconst_0
            anewarray java.lang.String
            areturn
         5: .line 171
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         6: .line 173
            aload 0 /* str */
            aload 1 /* separator */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         7: .line 174
            goto 13
         8: .line 175
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* str */
            iconst_0
            iload 3 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* newStr */
        start local 4 // java.lang.String newStr
         9: .line 176
            aload 4 /* newStr */
            ifnull 11
            aload 4 /* newStr */
            invokevirtual java.lang.String.length:()I
            ifle 11
        10: .line 177
            aload 2 /* result */
            aload 4 /* newStr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 179
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* str */
            iload 3 /* index */
            aload 1 /* separator */
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* str */
        12: .line 180
            aload 0 /* str */
            aload 1 /* separator */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* index */
        end local 4 // java.lang.String newStr
        13: .line 174
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            ifge 8
        14: .line 183
            aload 0 /* str */
            ifnull 16
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifle 16
        15: .line 184
            aload 2 /* result */
            aload 0 /* str */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 187
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 3 // int index
        end local 2 // java.util.List result
        end local 1 // java.lang.String separator
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0        str  Ljava/lang/String;
            0   17     1  separator  Ljava/lang/String;
            6   17     2     result  Ljava/util/List<Ljava/lang/String;>;
            7   17     3      index  I
            9   13     4     newStr  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      str        
      separator  

  public static boolean contains(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String src
        start local 1 // java.lang.String s
         0: .line 195
            aload 0 /* src */
            ifnull 1
            aload 0 /* src */
            invokevirtual java.lang.String.length:()I
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ifnull 3
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            aload 0 /* src */
            invokevirtual java.lang.String.length:()I
            if_icmple 5
            iconst_0
            ireturn
         5: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            aload 1 /* s */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmple 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // java.lang.String s
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   src  Ljava/lang/String;
            0    7     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      src   
      s     

  public static double calculateBrightness(javafx.scene.paint.Color);
    descriptor: (Ljavafx/scene/paint/Color;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // javafx.scene.paint.Color color
         0: .line 212
            ldc 0.3
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            dmul
            ldc 0.59
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            dmul
            dadd
            ldc 0.11
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            dmul
            dadd
            dreturn
        end local 0 // javafx.scene.paint.Color color
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  color  Ljavafx/scene/paint/Color;
    MethodParameters:
       Name  Flags
      color  

  public static javafx.scene.paint.Color deriveColor(javafx.scene.paint.Color, double);
    descriptor: (Ljavafx/scene/paint/Color;D)Ljavafx/scene/paint/Color;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // javafx.scene.paint.Color c
        start local 1 // double brightness
         0: .line 223
            aload 0 /* c */
            invokestatic com.sun.javafx.util.Utils.calculateBrightness:(Ljavafx/scene/paint/Color;)D
            dstore 3 /* baseBrightness */
        start local 3 // double baseBrightness
         1: .line 224
            dload 1 /* brightness */
            dstore 5 /* calcBrightness */
        start local 5 // double calcBrightness
         2: .line 226
            dload 1 /* brightness */
            dconst_0
            dcmpl
            ifle 18
         3: .line 227
            dload 3 /* baseBrightness */
            ldc 0.85
            dcmpl
            ifle 6
         4: .line 228
            dload 5 /* calcBrightness */
            ldc 1.6
            dmul
            dstore 5 /* calcBrightness */
         5: .line 229
            goto 20
      StackMap locals: double double
      StackMap stack:
         6: dload 3 /* baseBrightness */
            ldc 0.6
            dcmpl
            ifgt 20
         7: .line 231
            dload 3 /* baseBrightness */
            ldc 0.5
            dcmpl
            ifle 10
         8: .line 232
            dload 5 /* calcBrightness */
            ldc 0.9
            dmul
            dstore 5 /* calcBrightness */
         9: .line 233
            goto 20
      StackMap locals:
      StackMap stack:
        10: dload 3 /* baseBrightness */
            ldc 0.4
            dcmpl
            ifle 13
        11: .line 234
            dload 5 /* calcBrightness */
            ldc 0.8
            dmul
            dstore 5 /* calcBrightness */
        12: .line 235
            goto 20
      StackMap locals:
      StackMap stack:
        13: dload 3 /* baseBrightness */
            ldc 0.3
            dcmpl
            ifle 16
        14: .line 236
            dload 5 /* calcBrightness */
            ldc 0.7
            dmul
            dstore 5 /* calcBrightness */
        15: .line 237
            goto 20
        16: .line 238
      StackMap locals:
      StackMap stack:
            dload 5 /* calcBrightness */
            ldc 0.6
            dmul
            dstore 5 /* calcBrightness */
        17: .line 240
            goto 20
        18: .line 241
      StackMap locals:
      StackMap stack:
            dload 3 /* baseBrightness */
            ldc 0.2
            dcmpg
            ifge 20
        19: .line 242
            dload 5 /* calcBrightness */
            ldc 0.6
            dmul
            dstore 5 /* calcBrightness */
        20: .line 246
      StackMap locals:
      StackMap stack:
            dload 5 /* calcBrightness */
            ldc -1.0
            dcmpg
            ifge 21
            ldc -1.0
            dstore 5 /* calcBrightness */
            goto 22
      StackMap locals:
      StackMap stack:
        21: dload 5 /* calcBrightness */
            dconst_1
            dcmpl
            ifle 22
            dconst_1
            dstore 5 /* calcBrightness */
        22: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            aload 0 /* c */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            aload 0 /* c */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            invokestatic com.sun.javafx.util.Utils.RGBtoHSB:(DDD)[D
            astore 7 /* hsb */
        start local 7 // double[] hsb
        23: .line 250
            dload 5 /* calcBrightness */
            dconst_0
            dcmpl
            ifle 27
        24: .line 251
            aload 7 /* hsb */
            iconst_1
            dup2
            daload
            dconst_1
            dload 5 /* calcBrightness */
            dsub
            dmul
            dastore
        25: .line 252
            aload 7 /* hsb */
            iconst_2
            dup2
            daload
            dconst_1
            aload 7 /* hsb */
            iconst_2
            daload
            dsub
            dload 5 /* calcBrightness */
            dmul
            dadd
            dastore
        26: .line 253
            goto 28
        27: .line 254
      StackMap locals: double[]
      StackMap stack:
            aload 7 /* hsb */
            iconst_2
            dup2
            daload
            dload 5 /* calcBrightness */
            dconst_1
            dadd
            dmul
            dastore
        28: .line 257
      StackMap locals:
      StackMap stack:
            aload 7 /* hsb */
            iconst_1
            daload
            dconst_0
            dcmpg
            ifge 29
            aload 7 /* hsb */
            iconst_1
            dconst_0
            dastore
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 7 /* hsb */
            iconst_1
            daload
            dconst_1
            dcmpl
            ifle 30
            aload 7 /* hsb */
            iconst_1
            dconst_1
            dastore
        30: .line 258
      StackMap locals:
      StackMap stack:
            aload 7 /* hsb */
            iconst_2
            daload
            dconst_0
            dcmpg
            ifge 31
            aload 7 /* hsb */
            iconst_2
            dconst_0
            dastore
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 7 /* hsb */
            iconst_2
            daload
            dconst_1
            dcmpl
            ifle 32
            aload 7 /* hsb */
            iconst_2
            dconst_1
            dastore
        32: .line 260
      StackMap locals:
      StackMap stack:
            aload 7 /* hsb */
            iconst_0
            daload
            d2i
            i2d
            aload 7 /* hsb */
            iconst_1
            daload
            aload 7 /* hsb */
            iconst_2
            daload
            aload 0 /* c */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            invokestatic javafx.scene.paint.Color.hsb:(DDDD)Ljavafx/scene/paint/Color;
            pop
        33: .line 261
            aload 7 /* hsb */
            iconst_0
            daload
            d2i
            i2d
            aload 7 /* hsb */
            iconst_1
            daload
            aload 7 /* hsb */
            iconst_2
            daload
            aload 0 /* c */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            invokestatic javafx.scene.paint.Color.hsb:(DDDD)Ljavafx/scene/paint/Color;
            areturn
        end local 7 // double[] hsb
        end local 5 // double calcBrightness
        end local 3 // double baseBrightness
        end local 1 // double brightness
        end local 0 // javafx.scene.paint.Color c
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0               c  Ljavafx/scene/paint/Color;
            0   34     1      brightness  D
            1   34     3  baseBrightness  D
            2   34     5  calcBrightness  D
           23   34     7             hsb  [D
    MethodParameters:
            Name  Flags
      c           
      brightness  

  private static javafx.scene.paint.Color interpolateLinear(double, javafx.scene.paint.Color, javafx.scene.paint.Color);
    descriptor: (DLjavafx/scene/paint/Color;Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=12, locals=6, args_size=3
        start local 0 // double position
        start local 2 // javafx.scene.paint.Color color1
        start local 3 // javafx.scene.paint.Color color2
         0: .line 289
            aload 2 /* color1 */
            invokestatic com.sun.javafx.util.Utils.convertSRGBtoLinearRGB:(Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
            astore 4 /* c1Linear */
        start local 4 // javafx.scene.paint.Color c1Linear
         1: .line 290
            aload 3 /* color2 */
            invokestatic com.sun.javafx.util.Utils.convertSRGBtoLinearRGB:(Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
            astore 5 /* c2Linear */
        start local 5 // javafx.scene.paint.Color c2Linear
         2: .line 292
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            aload 5 /* c2Linear */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            dsub
            dload 0 /* position */
            dmul
            dadd
         3: .line 293
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            aload 5 /* c2Linear */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            dsub
            dload 0 /* position */
            dmul
            dadd
         4: .line 294
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            aload 5 /* c2Linear */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            dsub
            dload 0 /* position */
            dmul
            dadd
         5: .line 295
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            aload 5 /* c2Linear */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            aload 4 /* c1Linear */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            dsub
            dload 0 /* position */
            dmul
            dadd
         6: .line 291
            invokestatic javafx.scene.paint.Color.color:(DDDD)Ljavafx/scene/paint/Color;
            invokestatic com.sun.javafx.util.Utils.convertLinearRGBtoSRGB:(Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
            areturn
        end local 5 // javafx.scene.paint.Color c2Linear
        end local 4 // javafx.scene.paint.Color c1Linear
        end local 3 // javafx.scene.paint.Color color2
        end local 2 // javafx.scene.paint.Color color1
        end local 0 // double position
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  position  D
            0    7     2    color1  Ljavafx/scene/paint/Color;
            0    7     3    color2  Ljavafx/scene/paint/Color;
            1    7     4  c1Linear  Ljavafx/scene/paint/Color;
            2    7     5  c2Linear  Ljavafx/scene/paint/Color;
    MethodParameters:
          Name  Flags
      position  
      color1    
      color2    

  private static javafx.scene.paint.Color ladder(double, javafx.scene.paint.Stop[]);
    descriptor: (D[Ljavafx/scene/paint/Stop;)Ljavafx/scene/paint/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // double position
        start local 2 // javafx.scene.paint.Stop[] stops
         0: .line 303
            aconst_null
            astore 3 /* prevStop */
        start local 3 // javafx.scene.paint.Stop prevStop
         1: .line 304
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 10
         3: .line 305
      StackMap locals: javafx.scene.paint.Stop int
      StackMap stack:
            aload 2 /* stops */
            iload 4 /* i */
            aaload
            astore 5 /* stop */
        start local 5 // javafx.scene.paint.Stop stop
         4: .line 306
            dload 0 /* position */
            aload 5 /* stop */
            invokevirtual javafx.scene.paint.Stop.getOffset:()D
            dcmpg
            ifgt 8
         5: .line 307
            aload 3 /* prevStop */
            ifnonnull 7
         6: .line 308
            aload 5 /* stop */
            invokevirtual javafx.scene.paint.Stop.getColor:()Ljavafx/scene/paint/Color;
            areturn
         7: .line 310
      StackMap locals: javafx.scene.paint.Stop
      StackMap stack:
            dload 0 /* position */
            aload 3 /* prevStop */
            invokevirtual javafx.scene.paint.Stop.getOffset:()D
            dsub
            aload 5 /* stop */
            invokevirtual javafx.scene.paint.Stop.getOffset:()D
            aload 3 /* prevStop */
            invokevirtual javafx.scene.paint.Stop.getOffset:()D
            dsub
            ddiv
            aload 3 /* prevStop */
            invokevirtual javafx.scene.paint.Stop.getColor:()Ljavafx/scene/paint/Color;
            aload 5 /* stop */
            invokevirtual javafx.scene.paint.Stop.getColor:()Ljavafx/scene/paint/Color;
            invokestatic com.sun.javafx.util.Utils.interpolateLinear:(DLjavafx/scene/paint/Color;Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
            areturn
         8: .line 313
      StackMap locals:
      StackMap stack:
            aload 5 /* stop */
            astore 3 /* prevStop */
        end local 5 // javafx.scene.paint.Stop stop
         9: .line 304
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* stops */
            arraylength
            if_icmplt 3
        end local 4 // int i
        11: .line 316
            aload 3 /* prevStop */
            invokevirtual javafx.scene.paint.Stop.getColor:()Ljavafx/scene/paint/Color;
            areturn
        end local 3 // javafx.scene.paint.Stop prevStop
        end local 2 // javafx.scene.paint.Stop[] stops
        end local 0 // double position
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  position  D
            0   12     2     stops  [Ljavafx/scene/paint/Stop;
            1   12     3  prevStop  Ljavafx/scene/paint/Stop;
            2   11     4         i  I
            4    9     5      stop  Ljavafx/scene/paint/Stop;
    MethodParameters:
          Name  Flags
      position  final
      stops     final

  public static javafx.scene.paint.Color ladder(javafx.scene.paint.Color, javafx.scene.paint.Stop[]);
    descriptor: (Ljavafx/scene/paint/Color;[Ljavafx/scene/paint/Stop;)Ljavafx/scene/paint/Color;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.scene.paint.Color color
        start local 1 // javafx.scene.paint.Stop[] stops
         0: .line 323
            aload 0 /* color */
            invokestatic com.sun.javafx.util.Utils.calculateBrightness:(Ljavafx/scene/paint/Color;)D
            aload 1 /* stops */
            invokestatic com.sun.javafx.util.Utils.ladder:(D[Ljavafx/scene/paint/Stop;)Ljavafx/scene/paint/Color;
            areturn
        end local 1 // javafx.scene.paint.Stop[] stops
        end local 0 // javafx.scene.paint.Color color
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  color  Ljavafx/scene/paint/Color;
            0    1     1  stops  [Ljavafx/scene/paint/Stop;
    MethodParameters:
       Name  Flags
      color  final
      stops  final

  public static double[] HSBtoRGB(double, double, double);
    descriptor: (DDD)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=24, args_size=3
        start local 0 // double hue
        start local 2 // double saturation
        start local 4 // double brightness
         0: .line 328
            dload 0 /* hue */
            ldc 360.0
            drem
            ldc 360.0
            dadd
            ldc 360.0
            drem
            dstore 6 /* normalizedHue */
        start local 6 // double normalizedHue
         1: .line 329
            dload 6 /* normalizedHue */
            ldc 360.0
            ddiv
            dstore 0 /* hue */
         2: .line 331
            dconst_0
            dstore 8 /* r */
        start local 8 // double r
         3: dconst_0
            dstore 10 /* g */
        start local 10 // double g
         4: dconst_0
            dstore 12 /* b */
        start local 12 // double b
         5: .line 332
            dload 2 /* saturation */
            dconst_0
            dcmpl
            ifne 8
         6: .line 333
            dload 4 /* brightness */
            dup2
            dstore 12 /* b */
            dup2
            dstore 10 /* g */
            dstore 8 /* r */
         7: .line 334
            goto 37
         8: .line 335
      StackMap locals: double double double double double double double
      StackMap stack:
            dload 0 /* hue */
            dload 0 /* hue */
            invokestatic java.lang.Math.floor:(D)D
            dsub
            ldc 6.0
            dmul
            dstore 14 /* h */
        start local 14 // double h
         9: .line 336
            dload 14 /* h */
            dload 14 /* h */
            invokestatic java.lang.Math.floor:(D)D
            dsub
            dstore 16 /* f */
        start local 16 // double f
        10: .line 337
            dload 4 /* brightness */
            dconst_1
            dload 2 /* saturation */
            dsub
            dmul
            dstore 18 /* p */
        start local 18 // double p
        11: .line 338
            dload 4 /* brightness */
            dconst_1
            dload 2 /* saturation */
            dload 16 /* f */
            dmul
            dsub
            dmul
            dstore 20 /* q */
        start local 20 // double q
        12: .line 339
            dload 4 /* brightness */
            dconst_1
            dload 2 /* saturation */
            dconst_1
            dload 16 /* f */
            dsub
            dmul
            dsub
            dmul
            dstore 22 /* t */
        start local 22 // double t
        13: .line 340
            dload 14 /* h */
            d2i
            tableswitch { // 0 - 5
                    0: 14
                    1: 18
                    2: 22
                    3: 26
                    4: 30
                    5: 34
              default: 37
          }
        14: .line 342
      StackMap locals: double double double double double double double double double double double double
      StackMap stack:
            dload 4 /* brightness */
            dstore 8 /* r */
        15: .line 343
            dload 22 /* t */
            dstore 10 /* g */
        16: .line 344
            dload 18 /* p */
            dstore 12 /* b */
        17: .line 345
            goto 37
        18: .line 347
      StackMap locals:
      StackMap stack:
            dload 20 /* q */
            dstore 8 /* r */
        19: .line 348
            dload 4 /* brightness */
            dstore 10 /* g */
        20: .line 349
            dload 18 /* p */
            dstore 12 /* b */
        21: .line 350
            goto 37
        22: .line 352
      StackMap locals:
      StackMap stack:
            dload 18 /* p */
            dstore 8 /* r */
        23: .line 353
            dload 4 /* brightness */
            dstore 10 /* g */
        24: .line 354
            dload 22 /* t */
            dstore 12 /* b */
        25: .line 355
            goto 37
        26: .line 357
      StackMap locals:
      StackMap stack:
            dload 18 /* p */
            dstore 8 /* r */
        27: .line 358
            dload 20 /* q */
            dstore 10 /* g */
        28: .line 359
            dload 4 /* brightness */
            dstore 12 /* b */
        29: .line 360
            goto 37
        30: .line 362
      StackMap locals:
      StackMap stack:
            dload 22 /* t */
            dstore 8 /* r */
        31: .line 363
            dload 18 /* p */
            dstore 10 /* g */
        32: .line 364
            dload 4 /* brightness */
            dstore 12 /* b */
        33: .line 365
            goto 37
        34: .line 367
      StackMap locals:
      StackMap stack:
            dload 4 /* brightness */
            dstore 8 /* r */
        35: .line 368
            dload 18 /* p */
            dstore 10 /* g */
        36: .line 369
            dload 20 /* q */
            dstore 12 /* b */
        end local 22 // double t
        end local 20 // double q
        end local 18 // double p
        end local 16 // double f
        end local 14 // double h
        37: .line 373
      StackMap locals: double double double double double double double
      StackMap stack:
            iconst_3
            newarray 7
            astore 14 /* f */
        start local 14 // double[] f
        38: .line 374
            aload 14 /* f */
            iconst_0
            dload 8 /* r */
            dastore
        39: .line 375
            aload 14 /* f */
            iconst_1
            dload 10 /* g */
            dastore
        40: .line 376
            aload 14 /* f */
            iconst_2
            dload 12 /* b */
            dastore
        41: .line 377
            aload 14 /* f */
            areturn
        end local 14 // double[] f
        end local 12 // double b
        end local 10 // double g
        end local 8 // double r
        end local 6 // double normalizedHue
        end local 4 // double brightness
        end local 2 // double saturation
        end local 0 // double hue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0            hue  D
            0   42     2     saturation  D
            0   42     4     brightness  D
            1   42     6  normalizedHue  D
            3   42     8              r  D
            4   42    10              g  D
            5   42    12              b  D
            9   37    14              h  D
           10   37    16              f  D
           11   37    18              p  D
           12   37    20              q  D
           13   37    22              t  D
           38   42    14              f  [D
    MethodParameters:
            Name  Flags
      hue         
      saturation  
      brightness  

  public static double[] RGBtoHSB(double, double, double);
    descriptor: (DDD)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=23, args_size=3
        start local 0 // double r
        start local 2 // double g
        start local 4 // double b
         0: .line 382
            iconst_3
            newarray 7
            astore 12 /* hsbvals */
        start local 12 // double[] hsbvals
         1: .line 383
            dload 0 /* r */
            dload 2 /* g */
            dcmpl
            ifle 2
            dload 0 /* r */
            goto 3
      StackMap locals: double double double top top top top top top double[]
      StackMap stack:
         2: dload 2 /* g */
      StackMap locals:
      StackMap stack: double
         3: dstore 13 /* cmax */
        start local 13 // double cmax
         4: .line 384
            dload 4 /* b */
            dload 13 /* cmax */
            dcmpl
            ifle 5
            dload 4 /* b */
            dstore 13 /* cmax */
         5: .line 385
      StackMap locals: double
      StackMap stack:
            dload 0 /* r */
            dload 2 /* g */
            dcmpg
            ifge 6
            dload 0 /* r */
            goto 7
      StackMap locals:
      StackMap stack:
         6: dload 2 /* g */
      StackMap locals:
      StackMap stack: double
         7: dstore 15 /* cmin */
        start local 15 // double cmin
         8: .line 386
            dload 4 /* b */
            dload 15 /* cmin */
            dcmpg
            ifge 9
            dload 4 /* b */
            dstore 15 /* cmin */
         9: .line 388
      StackMap locals: double
      StackMap stack:
            dload 13 /* cmax */
            dstore 10 /* brightness */
        start local 10 // double brightness
        10: .line 389
            dload 13 /* cmax */
            dconst_0
            dcmpl
            ifeq 13
        11: .line 390
            dload 13 /* cmax */
            dload 15 /* cmin */
            dsub
            dload 13 /* cmax */
            ddiv
            dstore 8 /* saturation */
        start local 8 // double saturation
        12: goto 14
        end local 8 // double saturation
        13: .line 392
      StackMap locals: double double double top top top top double double[] double double
      StackMap stack:
            dconst_0
            dstore 8 /* saturation */
        start local 8 // double saturation
        14: .line 394
      StackMap locals: double double double top top double double double[] double double
      StackMap stack:
            dload 8 /* saturation */
            dconst_0
            dcmpl
            ifne 17
        15: .line 395
            dconst_0
            dstore 6 /* hue */
        start local 6 // double hue
        16: .line 396
            goto 30
        end local 6 // double hue
        17: .line 397
      StackMap locals:
      StackMap stack:
            dload 13 /* cmax */
            dload 0 /* r */
            dsub
            dload 13 /* cmax */
            dload 15 /* cmin */
            dsub
            ddiv
            dstore 17 /* redc */
        start local 17 // double redc
        18: .line 398
            dload 13 /* cmax */
            dload 2 /* g */
            dsub
            dload 13 /* cmax */
            dload 15 /* cmin */
            dsub
            ddiv
            dstore 19 /* greenc */
        start local 19 // double greenc
        19: .line 399
            dload 13 /* cmax */
            dload 4 /* b */
            dsub
            dload 13 /* cmax */
            dload 15 /* cmin */
            dsub
            ddiv
            dstore 21 /* bluec */
        start local 21 // double bluec
        20: .line 400
            dload 0 /* r */
            dload 13 /* cmax */
            dcmpl
            ifne 23
        21: .line 401
            dload 21 /* bluec */
            dload 19 /* greenc */
            dsub
            dstore 6 /* hue */
        start local 6 // double hue
        22: goto 27
        end local 6 // double hue
        23: .line 402
      StackMap locals: double double double
      StackMap stack:
            dload 2 /* g */
            dload 13 /* cmax */
            dcmpl
            ifne 26
        24: .line 403
            ldc 2.0
            dload 17 /* redc */
            dadd
            dload 21 /* bluec */
            dsub
            dstore 6 /* hue */
        start local 6 // double hue
        25: goto 27
        end local 6 // double hue
        26: .line 405
      StackMap locals:
      StackMap stack:
            ldc 4.0
            dload 19 /* greenc */
            dadd
            dload 17 /* redc */
            dsub
            dstore 6 /* hue */
        start local 6 // double hue
        27: .line 406
      StackMap locals: double double double double double double double[] double double double double double
      StackMap stack:
            dload 6 /* hue */
            ldc 6.0
            ddiv
            dstore 6 /* hue */
        28: .line 407
            dload 6 /* hue */
            dconst_0
            dcmpg
            ifge 30
        29: .line 408
            dload 6 /* hue */
            dconst_1
            dadd
            dstore 6 /* hue */
        end local 21 // double bluec
        end local 19 // double greenc
        end local 17 // double redc
        30: .line 410
      StackMap locals:
      StackMap stack:
            aload 12 /* hsbvals */
            iconst_0
            dload 6 /* hue */
            ldc 360.0
            dmul
            dastore
        31: .line 411
            aload 12 /* hsbvals */
            iconst_1
            dload 8 /* saturation */
            dastore
        32: .line 412
            aload 12 /* hsbvals */
            iconst_2
            dload 10 /* brightness */
            dastore
        33: .line 413
            aload 12 /* hsbvals */
            areturn
        end local 15 // double cmin
        end local 13 // double cmax
        end local 12 // double[] hsbvals
        end local 10 // double brightness
        end local 8 // double saturation
        end local 6 // double hue
        end local 4 // double b
        end local 2 // double g
        end local 0 // double r
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0           r  D
            0   34     2           g  D
            0   34     4           b  D
           16   17     6         hue  D
           22   23     6         hue  D
           25   26     6         hue  D
           27   34     6         hue  D
           12   13     8  saturation  D
           14   34     8  saturation  D
           10   34    10  brightness  D
            1   34    12     hsbvals  [D
            4   34    13        cmax  D
            8   34    15        cmin  D
           18   30    17        redc  D
           19   30    19      greenc  D
           20   30    21       bluec  D
    MethodParameters:
      Name  Flags
      r     
      g     
      b     

  public static javafx.scene.paint.Color convertSRGBtoLinearRGB(javafx.scene.paint.Color);
    descriptor: (Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // javafx.scene.paint.Color color
         0: .line 420
            iconst_3
            newarray 7
            dup
            iconst_0
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            dastore
            dup
            iconst_1
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            dastore
            dup
            iconst_2
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            dastore
            astore 1 /* colors */
        start local 1 // double[] colors
         1: .line 421
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 422
      StackMap locals: double[] int
      StackMap stack:
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 0.04045
            dcmpg
            ifgt 6
         4: .line 423
            aload 1 /* colors */
            iload 2 /* i */
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 12.92
            ddiv
            dastore
         5: .line 424
            goto 7
         6: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* colors */
            iload 2 /* i */
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 0.055
            dadd
            ldc 1.055
            ddiv
            ldc 2.4
            invokestatic java.lang.Math.pow:(DD)D
            dastore
         7: .line 421
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* colors */
            arraylength
            if_icmplt 3
        end local 2 // int i
         9: .line 428
            aload 1 /* colors */
            iconst_0
            daload
            aload 1 /* colors */
            iconst_1
            daload
            aload 1 /* colors */
            iconst_2
            daload
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            invokestatic javafx.scene.paint.Color.color:(DDDD)Ljavafx/scene/paint/Color;
            areturn
        end local 1 // double[] colors
        end local 0 // javafx.scene.paint.Color color
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   color  Ljavafx/scene/paint/Color;
            1   10     1  colors  [D
            2    9     2       i  I
    MethodParameters:
       Name  Flags
      color  

  public static javafx.scene.paint.Color convertLinearRGBtoSRGB(javafx.scene.paint.Color);
    descriptor: (Ljavafx/scene/paint/Color;)Ljavafx/scene/paint/Color;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // javafx.scene.paint.Color color
         0: .line 435
            iconst_3
            newarray 7
            dup
            iconst_0
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getRed:()D
            dastore
            dup
            iconst_1
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getGreen:()D
            dastore
            dup
            iconst_2
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getBlue:()D
            dastore
            astore 1 /* colors */
        start local 1 // double[] colors
         1: .line 436
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 437
      StackMap locals: double[] int
      StackMap stack:
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 0.0031308
            dcmpg
            ifgt 6
         4: .line 438
            aload 1 /* colors */
            iload 2 /* i */
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 12.92
            dmul
            dastore
         5: .line 439
            goto 7
         6: .line 440
      StackMap locals:
      StackMap stack:
            aload 1 /* colors */
            iload 2 /* i */
            ldc 1.055
            aload 1 /* colors */
            iload 2 /* i */
            daload
            ldc 0.4166666666666667
            invokestatic java.lang.Math.pow:(DD)D
            dmul
            ldc 0.055
            dsub
            dastore
         7: .line 436
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* colors */
            arraylength
            if_icmplt 3
        end local 2 // int i
         9: .line 443
            aload 1 /* colors */
            iconst_0
            daload
            aload 1 /* colors */
            iconst_1
            daload
            aload 1 /* colors */
            iconst_2
            daload
            aload 0 /* color */
            invokevirtual javafx.scene.paint.Color.getOpacity:()D
            invokestatic javafx.scene.paint.Color.color:(DDDD)Ljavafx/scene/paint/Color;
            areturn
        end local 1 // double[] colors
        end local 0 // javafx.scene.paint.Color color
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   color  Ljavafx/scene/paint/Color;
            1   10     1  colors  [D
            2    9     2       i  I
    MethodParameters:
       Name  Flags
      color  

  public static double sum(double[]);
    descriptor: ([D)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // double[] values
         0: .line 448
            dconst_0
            dstore 1 /* sum */
        start local 1 // double sum
         1: .line 449
            aload 0 /* values */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 5
      StackMap locals: double[] double top top int int double[]
      StackMap stack:
         2: aload 7
            iload 5
            daload
            dstore 3 /* v */
        start local 3 // double v
         3: dload 1 /* sum */
            dload 3 /* v */
            dadd
            dstore 1 /* sum */
        end local 3 // double v
         4: iinc 5 1
      StackMap locals:
      StackMap stack:
         5: iload 5
            iload 6
            if_icmplt 2
         6: .line 450
            dload 1 /* sum */
            aload 0 /* values */
            arraylength
            i2d
            ddiv
            dreturn
        end local 1 // double sum
        end local 0 // double[] values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  values  [D
            1    7     1     sum  D
            3    4     3       v  D
    MethodParameters:
        Name  Flags
      values  

  public static javafx.geometry.Point2D pointRelativeTo(javafx.scene.Node, javafx.scene.Node, javafx.geometry.HPos, javafx.geometry.VPos, double, double, boolean);
    descriptor: (Ljavafx/scene/Node;Ljavafx/scene/Node;Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;DDZ)Ljavafx/geometry/Point2D;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=13, args_size=7
        start local 0 // javafx.scene.Node parent
        start local 1 // javafx.scene.Node node
        start local 2 // javafx.geometry.HPos hpos
        start local 3 // javafx.geometry.VPos vpos
        start local 4 // double dx
        start local 6 // double dy
        start local 8 // boolean reposition
         0: .line 456
            aload 1 /* node */
            invokevirtual javafx.scene.Node.getLayoutBounds:()Ljavafx/geometry/Bounds;
            invokevirtual javafx.geometry.Bounds.getWidth:()D
            dstore 9 /* nodeWidth */
        start local 9 // double nodeWidth
         1: .line 457
            aload 1 /* node */
            invokevirtual javafx.scene.Node.getLayoutBounds:()Ljavafx/geometry/Bounds;
            invokevirtual javafx.geometry.Bounds.getHeight:()D
            dstore 11 /* nodeHeight */
        start local 11 // double nodeHeight
         2: .line 458
            aload 0 /* parent */
            dload 9 /* nodeWidth */
            dload 11 /* nodeHeight */
            aload 2 /* hpos */
            aload 3 /* vpos */
            dload 4 /* dx */
            dload 6 /* dy */
            iload 8 /* reposition */
            invokestatic com.sun.javafx.util.Utils.pointRelativeTo:(Ljavafx/scene/Node;DDLjavafx/geometry/HPos;Ljavafx/geometry/VPos;DDZ)Ljavafx/geometry/Point2D;
            areturn
        end local 11 // double nodeHeight
        end local 9 // double nodeWidth
        end local 8 // boolean reposition
        end local 6 // double dy
        end local 4 // double dx
        end local 3 // javafx.geometry.VPos vpos
        end local 2 // javafx.geometry.HPos hpos
        end local 1 // javafx.scene.Node node
        end local 0 // javafx.scene.Node parent
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0      parent  Ljavafx/scene/Node;
            0    3     1        node  Ljavafx/scene/Node;
            0    3     2        hpos  Ljavafx/geometry/HPos;
            0    3     3        vpos  Ljavafx/geometry/VPos;
            0    3     4          dx  D
            0    3     6          dy  D
            0    3     8  reposition  Z
            1    3     9   nodeWidth  D
            2    3    11  nodeHeight  D
    MethodParameters:
            Name  Flags
      parent      
      node        
      hpos        
      vpos        
      dx          
      dy          
      reposition  

  public static javafx.geometry.Point2D pointRelativeTo(javafx.scene.Node, double, double, javafx.geometry.HPos, javafx.geometry.VPos, double, double, boolean);
    descriptor: (Ljavafx/scene/Node;DDLjavafx/geometry/HPos;Ljavafx/geometry/VPos;DDZ)Ljavafx/geometry/Point2D;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=19, args_size=8
        start local 0 // javafx.scene.Node parent
        start local 1 // double anchorWidth
        start local 3 // double anchorHeight
        start local 5 // javafx.geometry.HPos hpos
        start local 6 // javafx.geometry.VPos vpos
        start local 7 // double dx
        start local 9 // double dy
        start local 11 // boolean reposition
         0: .line 465
            aload 0 /* parent */
            invokestatic com.sun.javafx.util.Utils.getBounds:(Ljava/lang/Object;)Ljavafx/geometry/Bounds;
            astore 12 /* parentBounds */
        start local 12 // javafx.geometry.Bounds parentBounds
         1: .line 466
            aload 0 /* parent */
            invokevirtual javafx.scene.Node.getScene:()Ljavafx/scene/Scene;
            astore 13 /* scene */
        start local 13 // javafx.scene.Scene scene
         2: .line 467
            aload 0 /* parent */
            invokevirtual javafx.scene.Node.getEffectiveNodeOrientation:()Ljavafx/geometry/NodeOrientation;
            astore 14 /* orientation */
        start local 14 // javafx.geometry.NodeOrientation orientation
         3: .line 469
            aload 14 /* orientation */
            getstatic javafx.geometry.NodeOrientation.RIGHT_TO_LEFT:Ljavafx/geometry/NodeOrientation;
            if_acmpne 10
         4: .line 470
            aload 5 /* hpos */
            getstatic javafx.geometry.HPos.LEFT:Ljavafx/geometry/HPos;
            if_acmpne 7
         5: .line 471
            getstatic javafx.geometry.HPos.RIGHT:Ljavafx/geometry/HPos;
            astore 5 /* hpos */
         6: .line 472
            goto 9
      StackMap locals: javafx.geometry.Bounds javafx.scene.Scene javafx.geometry.NodeOrientation
      StackMap stack:
         7: aload 5 /* hpos */
            getstatic javafx.geometry.HPos.RIGHT:Ljavafx/geometry/HPos;
            if_acmpne 9
         8: .line 473
            getstatic javafx.geometry.HPos.LEFT:Ljavafx/geometry/HPos;
            astore 5 /* hpos */
         9: .line 475
      StackMap locals:
      StackMap stack:
            dload 7 /* dx */
            ldc -1.0
            dmul
            dstore 7 /* dx */
        10: .line 478
      StackMap locals:
      StackMap stack:
            aload 12 /* parentBounds */
            dload 1 /* anchorWidth */
            aload 5 /* hpos */
            invokestatic com.sun.javafx.util.Utils.positionX:(Ljavafx/geometry/Bounds;DLjavafx/geometry/HPos;)D
            dload 7 /* dx */
            dadd
            dstore 15 /* layoutX */
        start local 15 // double layoutX
        11: .line 479
            aload 12 /* parentBounds */
            dload 3 /* anchorHeight */
            aload 6 /* vpos */
            invokestatic com.sun.javafx.util.Utils.positionY:(Ljavafx/geometry/Bounds;DLjavafx/geometry/VPos;)D
            dload 9 /* dy */
            dadd
            dstore 17 /* layoutY */
        start local 17 // double layoutY
        12: .line 481
            aload 14 /* orientation */
            getstatic javafx.geometry.NodeOrientation.RIGHT_TO_LEFT:Ljavafx/geometry/NodeOrientation;
            if_acmpne 17
            aload 5 /* hpos */
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            if_acmpne 17
        13: .line 483
            aload 13 /* scene */
            invokevirtual javafx.scene.Scene.getWindow:()Ljavafx/stage/Window;
            instanceof javafx.stage.Stage
            ifeq 16
        14: .line 484
            dload 15 /* layoutX */
            aload 12 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getWidth:()D
            dadd
            dload 1 /* anchorWidth */
            dsub
            dstore 15 /* layoutX */
        15: .line 485
            goto 17
        16: .line 486
      StackMap locals: double double
      StackMap stack:
            dload 15 /* layoutX */
            aload 12 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getWidth:()D
            dsub
            dload 1 /* anchorWidth */
            dsub
            dstore 15 /* layoutX */
        17: .line 490
      StackMap locals:
      StackMap stack:
            iload 11 /* reposition */
            ifeq 19
        18: .line 491
            aload 0 /* parent */
            dload 1 /* anchorWidth */
            dload 3 /* anchorHeight */
            dload 15 /* layoutX */
            dload 17 /* layoutY */
            aload 5 /* hpos */
            aload 6 /* vpos */
            invokestatic com.sun.javafx.util.Utils.pointRelativeTo:(Ljava/lang/Object;DDDDLjavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/Point2D;
            areturn
        19: .line 493
      StackMap locals:
      StackMap stack:
            new javafx.geometry.Point2D
            dup
            dload 15 /* layoutX */
            dload 17 /* layoutY */
            invokespecial javafx.geometry.Point2D.<init>:(DD)V
            areturn
        end local 17 // double layoutY
        end local 15 // double layoutX
        end local 14 // javafx.geometry.NodeOrientation orientation
        end local 13 // javafx.scene.Scene scene
        end local 12 // javafx.geometry.Bounds parentBounds
        end local 11 // boolean reposition
        end local 9 // double dy
        end local 7 // double dx
        end local 6 // javafx.geometry.VPos vpos
        end local 5 // javafx.geometry.HPos hpos
        end local 3 // double anchorHeight
        end local 1 // double anchorWidth
        end local 0 // javafx.scene.Node parent
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0        parent  Ljavafx/scene/Node;
            0   20     1   anchorWidth  D
            0   20     3  anchorHeight  D
            0   20     5          hpos  Ljavafx/geometry/HPos;
            0   20     6          vpos  Ljavafx/geometry/VPos;
            0   20     7            dx  D
            0   20     9            dy  D
            0   20    11    reposition  Z
            1   20    12  parentBounds  Ljavafx/geometry/Bounds;
            2   20    13         scene  Ljavafx/scene/Scene;
            3   20    14   orientation  Ljavafx/geometry/NodeOrientation;
           11   20    15       layoutX  D
           12   20    17       layoutY  D
    MethodParameters:
              Name  Flags
      parent        
      anchorWidth   
      anchorHeight  
      hpos          
      vpos          
      dx            
      dy            
      reposition    

  public static javafx.geometry.Point2D pointRelativeTo(java.lang.Object, double, double, double, double, javafx.geometry.HPos, javafx.geometry.VPos);
    descriptor: (Ljava/lang/Object;DDDDLjavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/Point2D;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=18, args_size=7
        start local 0 // java.lang.Object parent
        start local 1 // double width
        start local 3 // double height
        start local 5 // double screenX
        start local 7 // double screenY
        start local 9 // javafx.geometry.HPos hpos
        start local 10 // javafx.geometry.VPos vpos
         0: .line 513
            dload 5 /* screenX */
            dstore 11 /* finalScreenX */
        start local 11 // double finalScreenX
         1: .line 514
            dload 7 /* screenY */
            dstore 13 /* finalScreenY */
        start local 13 // double finalScreenY
         2: .line 515
            aload 0 /* parent */
            invokestatic com.sun.javafx.util.Utils.getBounds:(Ljava/lang/Object;)Ljavafx/geometry/Bounds;
            astore 15 /* parentBounds */
        start local 15 // javafx.geometry.Bounds parentBounds
         3: .line 518
            aload 0 /* parent */
            invokestatic com.sun.javafx.util.Utils.getScreen:(Ljava/lang/Object;)Ljavafx/stage/Screen;
            astore 16 /* currentScreen */
        start local 16 // javafx.stage.Screen currentScreen
         4: .line 520
            aload 16 /* currentScreen */
            invokestatic com.sun.javafx.util.Utils.hasFullScreenStage:(Ljavafx/stage/Screen;)Z
            ifeq 6
         5: .line 521
            aload 16 /* currentScreen */
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            goto 7
         6: .line 522
      StackMap locals: java.lang.Object double double double double javafx.geometry.HPos javafx.geometry.VPos double double javafx.geometry.Bounds javafx.stage.Screen
      StackMap stack:
            aload 16 /* currentScreen */
            invokevirtual javafx.stage.Screen.getVisualBounds:()Ljavafx/geometry/Rectangle2D;
         7: .line 519
      StackMap locals:
      StackMap stack: javafx.geometry.Rectangle2D
            astore 17 /* screenBounds */
        start local 17 // javafx.geometry.Rectangle2D screenBounds
         8: .line 528
            aload 9 /* hpos */
            ifnull 13
         9: .line 530
            dload 11 /* finalScreenX */
            dload 1 /* width */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
            dcmpl
            ifle 11
        10: .line 531
            aload 15 /* parentBounds */
            dload 1 /* width */
            aload 9 /* hpos */
            aload 10 /* vpos */
            invokestatic com.sun.javafx.util.Utils.getHPosOpposite:(Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/HPos;
            invokestatic com.sun.javafx.util.Utils.positionX:(Ljavafx/geometry/Bounds;DLjavafx/geometry/HPos;)D
            dstore 11 /* finalScreenX */
        11: .line 535
      StackMap locals: javafx.geometry.Rectangle2D
      StackMap stack:
            dload 11 /* finalScreenX */
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
            dcmpg
            ifge 13
        12: .line 536
            aload 15 /* parentBounds */
            dload 1 /* width */
            aload 9 /* hpos */
            aload 10 /* vpos */
            invokestatic com.sun.javafx.util.Utils.getHPosOpposite:(Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/HPos;
            invokestatic com.sun.javafx.util.Utils.positionX:(Ljavafx/geometry/Bounds;DLjavafx/geometry/HPos;)D
            dstore 11 /* finalScreenX */
        13: .line 540
      StackMap locals:
      StackMap stack:
            aload 10 /* vpos */
            ifnull 18
        14: .line 542
            dload 13 /* finalScreenY */
            dload 3 /* height */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
            dcmpl
            ifle 16
        15: .line 543
            aload 15 /* parentBounds */
            dload 3 /* height */
            aload 9 /* hpos */
            aload 10 /* vpos */
            invokestatic com.sun.javafx.util.Utils.getVPosOpposite:(Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/VPos;
            invokestatic com.sun.javafx.util.Utils.positionY:(Ljavafx/geometry/Bounds;DLjavafx/geometry/VPos;)D
            dstore 13 /* finalScreenY */
        16: .line 547
      StackMap locals:
      StackMap stack:
            dload 13 /* finalScreenY */
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
            dcmpg
            ifge 18
        17: .line 548
            aload 15 /* parentBounds */
            dload 3 /* height */
            aload 9 /* hpos */
            aload 10 /* vpos */
            invokestatic com.sun.javafx.util.Utils.getVPosOpposite:(Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/VPos;
            invokestatic com.sun.javafx.util.Utils.positionY:(Ljavafx/geometry/Bounds;DLjavafx/geometry/VPos;)D
            dstore 13 /* finalScreenY */
        18: .line 556
      StackMap locals:
      StackMap stack:
            dload 11 /* finalScreenX */
            dload 1 /* width */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
            dcmpl
            ifle 20
        19: .line 557
            dload 11 /* finalScreenX */
            dload 11 /* finalScreenX */
            dload 1 /* width */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
            dsub
            dsub
            dstore 11 /* finalScreenX */
        20: .line 559
      StackMap locals:
      StackMap stack:
            dload 11 /* finalScreenX */
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
            dcmpg
            ifge 22
        21: .line 560
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
            dstore 11 /* finalScreenX */
        22: .line 562
      StackMap locals:
      StackMap stack:
            dload 13 /* finalScreenY */
            dload 3 /* height */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
            dcmpl
            ifle 24
        23: .line 563
            dload 13 /* finalScreenY */
            dload 13 /* finalScreenY */
            dload 3 /* height */
            dadd
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
            dsub
            dsub
            dstore 13 /* finalScreenY */
        24: .line 565
      StackMap locals:
      StackMap stack:
            dload 13 /* finalScreenY */
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
            dcmpg
            ifge 26
        25: .line 566
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
            dstore 13 /* finalScreenY */
        26: .line 569
      StackMap locals:
      StackMap stack:
            new javafx.geometry.Point2D
            dup
            dload 11 /* finalScreenX */
            dload 13 /* finalScreenY */
            invokespecial javafx.geometry.Point2D.<init>:(DD)V
            areturn
        end local 17 // javafx.geometry.Rectangle2D screenBounds
        end local 16 // javafx.stage.Screen currentScreen
        end local 15 // javafx.geometry.Bounds parentBounds
        end local 13 // double finalScreenY
        end local 11 // double finalScreenX
        end local 10 // javafx.geometry.VPos vpos
        end local 9 // javafx.geometry.HPos hpos
        end local 7 // double screenY
        end local 5 // double screenX
        end local 3 // double height
        end local 1 // double width
        end local 0 // java.lang.Object parent
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0         parent  Ljava/lang/Object;
            0   27     1          width  D
            0   27     3         height  D
            0   27     5        screenX  D
            0   27     7        screenY  D
            0   27     9           hpos  Ljavafx/geometry/HPos;
            0   27    10           vpos  Ljavafx/geometry/VPos;
            1   27    11   finalScreenX  D
            2   27    13   finalScreenY  D
            3   27    15   parentBounds  Ljavafx/geometry/Bounds;
            4   27    16  currentScreen  Ljavafx/stage/Screen;
            8   27    17   screenBounds  Ljavafx/geometry/Rectangle2D;
    MethodParameters:
         Name  Flags
      parent   
      width    
      height   
      screenX  
      screenY  
      hpos     
      vpos     

  private static double positionX(javafx.geometry.Bounds, double, javafx.geometry.HPos);
    descriptor: (Ljavafx/geometry/Bounds;DLjavafx/geometry/HPos;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // javafx.geometry.Bounds parentBounds
        start local 1 // double width
        start local 3 // javafx.geometry.HPos hpos
         0: .line 578
            aload 3 /* hpos */
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            if_acmpne 2
         1: .line 580
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinX:()D
            dreturn
         2: .line 581
      StackMap locals:
      StackMap stack:
            aload 3 /* hpos */
            getstatic javafx.geometry.HPos.RIGHT:Ljavafx/geometry/HPos;
            if_acmpne 4
         3: .line 582
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMaxX:()D
            dreturn
         4: .line 583
      StackMap locals:
      StackMap stack:
            aload 3 /* hpos */
            getstatic javafx.geometry.HPos.LEFT:Ljavafx/geometry/HPos;
            if_acmpne 6
         5: .line 584
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinX:()D
            dload 1 /* width */
            dsub
            dreturn
         6: .line 586
      StackMap locals:
      StackMap stack:
            dconst_0
            dreturn
        end local 3 // javafx.geometry.HPos hpos
        end local 1 // double width
        end local 0 // javafx.geometry.Bounds parentBounds
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  parentBounds  Ljavafx/geometry/Bounds;
            0    7     1         width  D
            0    7     3          hpos  Ljavafx/geometry/HPos;
    MethodParameters:
              Name  Flags
      parentBounds  
      width         
      hpos          

  private static double positionY(javafx.geometry.Bounds, double, javafx.geometry.VPos);
    descriptor: (Ljavafx/geometry/Bounds;DLjavafx/geometry/VPos;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // javafx.geometry.Bounds parentBounds
        start local 1 // double height
        start local 3 // javafx.geometry.VPos vpos
         0: .line 598
            aload 3 /* vpos */
            getstatic javafx.geometry.VPos.BOTTOM:Ljavafx/geometry/VPos;
            if_acmpne 2
         1: .line 599
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMaxY:()D
            dreturn
         2: .line 600
      StackMap locals:
      StackMap stack:
            aload 3 /* vpos */
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            if_acmpne 4
         3: .line 601
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinY:()D
            dreturn
         4: .line 602
      StackMap locals:
      StackMap stack:
            aload 3 /* vpos */
            getstatic javafx.geometry.VPos.TOP:Ljavafx/geometry/VPos;
            if_acmpne 6
         5: .line 603
            aload 0 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinY:()D
            dload 1 /* height */
            dsub
            dreturn
         6: .line 605
      StackMap locals:
      StackMap stack:
            dconst_0
            dreturn
        end local 3 // javafx.geometry.VPos vpos
        end local 1 // double height
        end local 0 // javafx.geometry.Bounds parentBounds
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  parentBounds  Ljavafx/geometry/Bounds;
            0    7     1        height  D
            0    7     3          vpos  Ljavafx/geometry/VPos;
    MethodParameters:
              Name  Flags
      parentBounds  
      height        
      vpos          

  private static javafx.geometry.Bounds getBounds(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavafx/geometry/Bounds;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=3, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 615
            aload 0 /* obj */
            instanceof javafx.scene.Node
            ifeq 6
         1: .line 616
            aload 0 /* obj */
            checkcast javafx.scene.Node
            astore 1 /* n */
        start local 1 // javafx.scene.Node n
         2: .line 617
            aload 1 /* n */
            aload 1 /* n */
            invokevirtual javafx.scene.Node.getLayoutBounds:()Ljavafx/geometry/Bounds;
            invokevirtual javafx.scene.Node.localToScreen:(Ljavafx/geometry/Bounds;)Ljavafx/geometry/Bounds;
            astore 2 /* b */
        start local 2 // javafx.geometry.Bounds b
         3: .line 618
            aload 2 /* b */
            ifnull 4
            aload 2 /* b */
            goto 5
      StackMap locals: javafx.scene.Node javafx.geometry.Bounds
      StackMap stack:
         4: new javafx.geometry.BoundingBox
            dup
            dconst_0
            dconst_0
            dconst_0
            dconst_0
            invokespecial javafx.geometry.BoundingBox.<init>:(DDDD)V
      StackMap locals:
      StackMap stack: javafx.geometry.Bounds
         5: areturn
        end local 2 // javafx.geometry.Bounds b
        end local 1 // javafx.scene.Node n
         6: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof javafx.stage.Window
            ifeq 9
         7: .line 620
            aload 0 /* obj */
            checkcast javafx.stage.Window
            astore 1 /* window */
        start local 1 // javafx.stage.Window window
         8: .line 621
            new javafx.geometry.BoundingBox
            dup
            aload 1 /* window */
            invokevirtual javafx.stage.Window.getX:()D
            aload 1 /* window */
            invokevirtual javafx.stage.Window.getY:()D
            aload 1 /* window */
            invokevirtual javafx.stage.Window.getWidth:()D
            aload 1 /* window */
            invokevirtual javafx.stage.Window.getHeight:()D
            invokespecial javafx.geometry.BoundingBox.<init>:(DDDD)V
            areturn
        end local 1 // javafx.stage.Window window
         9: .line 623
      StackMap locals:
      StackMap stack:
            new javafx.geometry.BoundingBox
            dup
            dconst_0
            dconst_0
            dconst_0
            dconst_0
            invokespecial javafx.geometry.BoundingBox.<init>:(DDDD)V
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0     obj  Ljava/lang/Object;
            2    6     1       n  Ljavafx/scene/Node;
            3    6     2       b  Ljavafx/geometry/Bounds;
            8    9     1  window  Ljavafx/stage/Window;
    MethodParameters:
      Name  Flags
      obj   

  private static javafx.geometry.HPos getHPosOpposite(javafx.geometry.HPos, javafx.geometry.VPos);
    descriptor: (Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/HPos;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.geometry.HPos hpos
        start local 1 // javafx.geometry.VPos vpos
         0: .line 632
            aload 1 /* vpos */
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            if_acmpne 8
         1: .line 633
            aload 0 /* hpos */
            getstatic javafx.geometry.HPos.LEFT:Ljavafx/geometry/HPos;
            if_acmpne 3
         2: .line 634
            getstatic javafx.geometry.HPos.RIGHT:Ljavafx/geometry/HPos;
            areturn
         3: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* hpos */
            getstatic javafx.geometry.HPos.RIGHT:Ljavafx/geometry/HPos;
            if_acmpne 5
         4: .line 636
            getstatic javafx.geometry.HPos.LEFT:Ljavafx/geometry/HPos;
            areturn
         5: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* hpos */
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            if_acmpne 7
         6: .line 638
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            areturn
         7: .line 641
      StackMap locals:
      StackMap stack:
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            areturn
         8: .line 644
      StackMap locals:
      StackMap stack:
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            areturn
        end local 1 // javafx.geometry.VPos vpos
        end local 0 // javafx.geometry.HPos hpos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  hpos  Ljavafx/geometry/HPos;
            0    9     1  vpos  Ljavafx/geometry/VPos;
    MethodParameters:
      Name  Flags
      hpos  
      vpos  

  private static javafx.geometry.VPos getVPosOpposite(javafx.geometry.HPos, javafx.geometry.VPos);
    descriptor: (Ljavafx/geometry/HPos;Ljavafx/geometry/VPos;)Ljavafx/geometry/VPos;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.geometry.HPos hpos
        start local 1 // javafx.geometry.VPos vpos
         0: .line 653
            aload 0 /* hpos */
            getstatic javafx.geometry.HPos.CENTER:Ljavafx/geometry/HPos;
            if_acmpne 10
         1: .line 654
            aload 1 /* vpos */
            getstatic javafx.geometry.VPos.BASELINE:Ljavafx/geometry/VPos;
            if_acmpne 3
         2: .line 655
            getstatic javafx.geometry.VPos.BASELINE:Ljavafx/geometry/VPos;
            areturn
         3: .line 656
      StackMap locals:
      StackMap stack:
            aload 1 /* vpos */
            getstatic javafx.geometry.VPos.BOTTOM:Ljavafx/geometry/VPos;
            if_acmpne 5
         4: .line 657
            getstatic javafx.geometry.VPos.TOP:Ljavafx/geometry/VPos;
            areturn
         5: .line 658
      StackMap locals:
      StackMap stack:
            aload 1 /* vpos */
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            if_acmpne 7
         6: .line 659
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            areturn
         7: .line 660
      StackMap locals:
      StackMap stack:
            aload 1 /* vpos */
            getstatic javafx.geometry.VPos.TOP:Ljavafx/geometry/VPos;
            if_acmpne 9
         8: .line 661
            getstatic javafx.geometry.VPos.BOTTOM:Ljavafx/geometry/VPos;
            areturn
         9: .line 664
      StackMap locals:
      StackMap stack:
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            areturn
        10: .line 667
      StackMap locals:
      StackMap stack:
            getstatic javafx.geometry.VPos.CENTER:Ljavafx/geometry/VPos;
            areturn
        end local 1 // javafx.geometry.VPos vpos
        end local 0 // javafx.geometry.HPos hpos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  hpos  Ljavafx/geometry/HPos;
            0   11     1  vpos  Ljavafx/geometry/VPos;
    MethodParameters:
      Name  Flags
      hpos  
      vpos  

  public static boolean hasFullScreenStage(javafx.stage.Screen);
    descriptor: (Ljavafx/stage/Screen;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // javafx.stage.Screen screen
         0: .line 673
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/javafx/util/Utils.lambda$0()Ljava/util/List; (6)
                  ()Ljava/util/List;
         1: .line 674
            aconst_null
            iconst_1
            anewarray java.security.Permission
            dup
            iconst_0
         2: .line 675
            getstatic com.sun.javafx.FXPermissions.ACCESS_WINDOW_LIST_PERMISSION:Ljavafx/util/FXPermission;
            aastore
         3: .line 672
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
            checkcast java.util.List
            astore 1 /* allWindows */
        start local 1 // java.util.List allWindows
         4: .line 677
            aload 1 /* allWindows */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: javafx.stage.Screen java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.stage.Window
            astore 2 /* window */
        start local 2 // javafx.stage.Window window
         6: .line 678
            aload 2 /* window */
            instanceof javafx.stage.Stage
            ifeq 10
         7: .line 679
            aload 2 /* window */
            checkcast javafx.stage.Stage
            astore 4 /* stage */
        start local 4 // javafx.stage.Stage stage
         8: .line 680
            aload 4 /* stage */
            invokevirtual javafx.stage.Stage.isFullScreen:()Z
            ifeq 10
            aload 4 /* stage */
            invokestatic com.sun.javafx.util.Utils.getScreen:(Ljava/lang/Object;)Ljavafx/stage/Screen;
            aload 0 /* screen */
            if_acmpne 10
         9: .line 681
            iconst_1
            ireturn
        end local 4 // javafx.stage.Stage stage
        end local 2 // javafx.stage.Window window
        10: .line 677
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 685
            iconst_0
            ireturn
        end local 1 // java.util.List allWindows
        end local 0 // javafx.stage.Screen screen
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0      screen  Ljavafx/stage/Screen;
            4   12     1  allWindows  Ljava/util/List<Ljavafx/stage/Window;>;
            6   10     2      window  Ljavafx/stage/Window;
            8   10     4       stage  Ljavafx/stage/Stage;
    MethodParameters:
        Name  Flags
      screen  final

  public static boolean isQVGAScreen();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 692
            invokestatic javafx.stage.Screen.getPrimary:()Ljavafx/stage/Screen;
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            astore 0 /* bounds */
        start local 0 // javafx.geometry.Rectangle2D bounds
         1: .line 693
            aload 0 /* bounds */
            invokevirtual javafx.geometry.Rectangle2D.getWidth:()D
            ldc 320.0
            dcmpl
            ifne 2
            aload 0 /* bounds */
            invokevirtual javafx.geometry.Rectangle2D.getHeight:()D
            ldc 240.0
            dcmpl
            ifeq 4
         2: .line 694
      StackMap locals: javafx.geometry.Rectangle2D
      StackMap stack:
            aload 0 /* bounds */
            invokevirtual javafx.geometry.Rectangle2D.getWidth:()D
            ldc 240.0
            dcmpl
            ifne 3
            aload 0 /* bounds */
            invokevirtual javafx.geometry.Rectangle2D.getHeight:()D
            ldc 320.0
            dcmpl
            ifeq 4
         3: .line 693
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // javafx.geometry.Rectangle2D bounds
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    5     0  bounds  Ljavafx/geometry/Rectangle2D;

  public static javafx.stage.Screen getScreen(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavafx/stage/Screen;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=3, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 704
            aload 0 /* obj */
            invokestatic com.sun.javafx.util.Utils.getBounds:(Ljava/lang/Object;)Ljavafx/geometry/Bounds;
            astore 1 /* parentBounds */
        start local 1 // javafx.geometry.Bounds parentBounds
         1: .line 706
            new javafx.geometry.Rectangle2D
            dup
         2: .line 707
            aload 1 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinX:()D
         3: .line 708
            aload 1 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getMinY:()D
         4: .line 709
            aload 1 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getWidth:()D
         5: .line 710
            aload 1 /* parentBounds */
            invokevirtual javafx.geometry.Bounds.getHeight:()D
         6: .line 706
            invokespecial javafx.geometry.Rectangle2D.<init>:(DDDD)V
            astore 2 /* rect */
        start local 2 // javafx.geometry.Rectangle2D rect
         7: .line 712
            aload 2 /* rect */
            invokestatic com.sun.javafx.util.Utils.getScreenForRectangle:(Ljavafx/geometry/Rectangle2D;)Ljavafx/stage/Screen;
            areturn
        end local 2 // javafx.geometry.Rectangle2D rect
        end local 1 // javafx.geometry.Bounds parentBounds
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0           obj  Ljava/lang/Object;
            1    8     1  parentBounds  Ljavafx/geometry/Bounds;
            7    8     2          rect  Ljavafx/geometry/Rectangle2D;
    MethodParameters:
      Name  Flags
      obj   

  public static javafx.stage.Screen getScreenForRectangle(javafx.geometry.Rectangle2D);
    descriptor: (Ljavafx/geometry/Rectangle2D;)Ljavafx/stage/Screen;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=24, args_size=1
        start local 0 // javafx.geometry.Rectangle2D rect
         0: .line 716
            invokestatic javafx.stage.Screen.getScreens:()Ljavafx/collections/ObservableList;
            astore 1 /* screens */
        start local 1 // java.util.List screens
         1: .line 718
            aload 0 /* rect */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
            dstore 2 /* rectX0 */
        start local 2 // double rectX0
         2: .line 719
            aload 0 /* rect */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
            dstore 4 /* rectX1 */
        start local 4 // double rectX1
         3: .line 720
            aload 0 /* rect */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
            dstore 6 /* rectY0 */
        start local 6 // double rectY0
         4: .line 721
            aload 0 /* rect */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
            dstore 8 /* rectY1 */
        start local 8 // double rectY1
         5: .line 725
            aconst_null
            astore 10 /* selectedScreen */
        start local 10 // javafx.stage.Screen selectedScreen
         6: .line 726
            dconst_0
            dstore 11 /* maxIntersection */
        start local 11 // double maxIntersection
         7: .line 727
            aload 1 /* screens */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 23
      StackMap locals: javafx.geometry.Rectangle2D java.util.List double double double double javafx.stage.Screen double top java.util.Iterator
      StackMap stack:
         8: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.stage.Screen
            astore 13 /* screen */
        start local 13 // javafx.stage.Screen screen
         9: .line 728
            aload 13 /* screen */
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            astore 15 /* screenBounds */
        start local 15 // javafx.geometry.Rectangle2D screenBounds
        10: .line 730
            dload 2 /* rectX0 */
            dload 4 /* rectX1 */
        11: .line 731
            aload 15 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
        12: .line 732
            aload 15 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
        13: .line 730
            invokestatic com.sun.javafx.util.Utils.getIntersectionLength:(DDDD)D
        14: .line 733
            dload 6 /* rectY0 */
            dload 8 /* rectY1 */
        15: .line 734
            aload 15 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
        16: .line 735
            aload 15 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
        17: .line 733
            invokestatic com.sun.javafx.util.Utils.getIntersectionLength:(DDDD)D
        18: .line 730
            dmul
        19: .line 729
            dstore 16 /* intersection */
        start local 16 // double intersection
        20: .line 737
            dload 11 /* maxIntersection */
            dload 16 /* intersection */
            dcmpg
            ifge 23
        21: .line 738
            dload 16 /* intersection */
            dstore 11 /* maxIntersection */
        22: .line 739
            aload 13 /* screen */
            astore 10 /* selectedScreen */
        end local 16 // double intersection
        end local 15 // javafx.geometry.Rectangle2D screenBounds
        end local 13 // javafx.stage.Screen screen
        23: .line 727
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        24: .line 743
            aload 10 /* selectedScreen */
            ifnull 26
        25: .line 744
            aload 10 /* selectedScreen */
            areturn
        26: .line 747
      StackMap locals: javafx.geometry.Rectangle2D java.util.List double double double double javafx.stage.Screen double
      StackMap stack:
            invokestatic javafx.stage.Screen.getPrimary:()Ljavafx/stage/Screen;
            astore 10 /* selectedScreen */
        27: .line 748
            ldc 1.7976931348623157E308
            dstore 13 /* minDistance */
        start local 13 // double minDistance
        28: .line 749
            aload 1 /* screens */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 43
      StackMap locals: javafx.geometry.Rectangle2D java.util.List double double double double javafx.stage.Screen double double top java.util.Iterator
      StackMap stack:
        29: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.stage.Screen
            astore 15 /* screen */
        start local 15 // javafx.stage.Screen screen
        30: .line 750
            aload 15 /* screen */
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            astore 17 /* screenBounds */
        start local 17 // javafx.geometry.Rectangle2D screenBounds
        31: .line 751
            dload 2 /* rectX0 */
            dload 4 /* rectX1 */
        32: .line 752
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
        33: .line 753
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
        34: .line 751
            invokestatic com.sun.javafx.util.Utils.getOuterDistance:(DDDD)D
            dstore 18 /* dx */
        start local 18 // double dx
        35: .line 754
            dload 6 /* rectY0 */
            dload 8 /* rectY1 */
        36: .line 755
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
        37: .line 756
            aload 17 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
        38: .line 754
            invokestatic com.sun.javafx.util.Utils.getOuterDistance:(DDDD)D
            dstore 20 /* dy */
        start local 20 // double dy
        39: .line 757
            dload 18 /* dx */
            dload 18 /* dx */
            dmul
            dload 20 /* dy */
            dload 20 /* dy */
            dmul
            dadd
            dstore 22 /* distance */
        start local 22 // double distance
        40: .line 759
            dload 13 /* minDistance */
            dload 22 /* distance */
            dcmpl
            ifle 43
        41: .line 760
            dload 22 /* distance */
            dstore 13 /* minDistance */
        42: .line 761
            aload 15 /* screen */
            astore 10 /* selectedScreen */
        end local 22 // double distance
        end local 20 // double dy
        end local 18 // double dx
        end local 17 // javafx.geometry.Rectangle2D screenBounds
        end local 15 // javafx.stage.Screen screen
        43: .line 749
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        44: .line 765
            aload 10 /* selectedScreen */
            areturn
        end local 13 // double minDistance
        end local 11 // double maxIntersection
        end local 10 // javafx.stage.Screen selectedScreen
        end local 8 // double rectY1
        end local 6 // double rectY0
        end local 4 // double rectX1
        end local 2 // double rectX0
        end local 1 // java.util.List screens
        end local 0 // javafx.geometry.Rectangle2D rect
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   45     0             rect  Ljavafx/geometry/Rectangle2D;
            1   45     1          screens  Ljava/util/List<Ljavafx/stage/Screen;>;
            2   45     2           rectX0  D
            3   45     4           rectX1  D
            4   45     6           rectY0  D
            5   45     8           rectY1  D
            6   45    10   selectedScreen  Ljavafx/stage/Screen;
            7   45    11  maxIntersection  D
            9   23    13           screen  Ljavafx/stage/Screen;
           10   23    15     screenBounds  Ljavafx/geometry/Rectangle2D;
           20   23    16     intersection  D
           28   45    13      minDistance  D
           30   43    15           screen  Ljavafx/stage/Screen;
           31   43    17     screenBounds  Ljavafx/geometry/Rectangle2D;
           35   43    18               dx  D
           39   43    20               dy  D
           40   43    22         distance  D
    MethodParameters:
      Name  Flags
      rect  final

  public static javafx.stage.Screen getScreenForPoint(double, double);
    descriptor: (DD)Ljavafx/stage/Screen;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // double x
        start local 2 // double y
         0: .line 769
            invokestatic javafx.stage.Screen.getScreens:()Ljavafx/collections/ObservableList;
            astore 4 /* screens */
        start local 4 // java.util.List screens
         1: .line 772
            aload 4 /* screens */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: double double java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.stage.Screen
            astore 5 /* screen */
        start local 5 // javafx.stage.Screen screen
         3: .line 775
            aload 5 /* screen */
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            astore 7 /* screenBounds */
        start local 7 // javafx.geometry.Rectangle2D screenBounds
         4: .line 776
            dload 0 /* x */
            aload 7 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
            dcmpl
            iflt 9
         5: .line 777
            dload 0 /* x */
            aload 7 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
            dcmpg
            ifge 9
         6: .line 778
            dload 2 /* y */
            aload 7 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
            dcmpl
            iflt 9
         7: .line 779
            dload 2 /* y */
            aload 7 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
            dcmpg
            ifge 9
         8: .line 780
            aload 5 /* screen */
            areturn
        end local 7 // javafx.geometry.Rectangle2D screenBounds
        end local 5 // javafx.stage.Screen screen
         9: .line 772
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 785
            invokestatic javafx.stage.Screen.getPrimary:()Ljavafx/stage/Screen;
            astore 5 /* selectedScreen */
        start local 5 // javafx.stage.Screen selectedScreen
        11: .line 786
            ldc 1.7976931348623157E308
            dstore 6 /* minDistance */
        start local 6 // double minDistance
        12: .line 787
            aload 4 /* screens */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 27
      StackMap locals: double double java.util.List javafx.stage.Screen double top java.util.Iterator
      StackMap stack:
        13: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.stage.Screen
            astore 8 /* screen */
        start local 8 // javafx.stage.Screen screen
        14: .line 788
            aload 8 /* screen */
            invokevirtual javafx.stage.Screen.getBounds:()Ljavafx/geometry/Rectangle2D;
            astore 10 /* screenBounds */
        start local 10 // javafx.geometry.Rectangle2D screenBounds
        15: .line 789
            aload 10 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinX:()D
        16: .line 790
            aload 10 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxX:()D
        17: .line 791
            dload 0 /* x */
        18: .line 789
            invokestatic com.sun.javafx.util.Utils.getOuterDistance:(DDD)D
            dstore 11 /* dx */
        start local 11 // double dx
        19: .line 792
            aload 10 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMinY:()D
        20: .line 793
            aload 10 /* screenBounds */
            invokevirtual javafx.geometry.Rectangle2D.getMaxY:()D
        21: .line 794
            dload 2 /* y */
        22: .line 792
            invokestatic com.sun.javafx.util.Utils.getOuterDistance:(DDD)D
            dstore 13 /* dy */
        start local 13 // double dy
        23: .line 795
            dload 11 /* dx */
            dload 11 /* dx */
            dmul
            dload 13 /* dy */
            dload 13 /* dy */
            dmul
            dadd
            dstore 15 /* distance */
        start local 15 // double distance
        24: .line 796
            dload 6 /* minDistance */
            dload 15 /* distance */
            dcmpl
            iflt 27
        25: .line 797
            dload 15 /* distance */
            dstore 6 /* minDistance */
        26: .line 798
            aload 8 /* screen */
            astore 5 /* selectedScreen */
        end local 15 // double distance
        end local 13 // double dy
        end local 11 // double dx
        end local 10 // javafx.geometry.Rectangle2D screenBounds
        end local 8 // javafx.stage.Screen screen
        27: .line 787
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        28: .line 802
            aload 5 /* selectedScreen */
            areturn
        end local 6 // double minDistance
        end local 5 // javafx.stage.Screen selectedScreen
        end local 4 // java.util.List screens
        end local 2 // double y
        end local 0 // double x
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0               x  D
            0   29     2               y  D
            1   29     4         screens  Ljava/util/List<Ljavafx/stage/Screen;>;
            3    9     5          screen  Ljavafx/stage/Screen;
            4    9     7    screenBounds  Ljavafx/geometry/Rectangle2D;
           11   29     5  selectedScreen  Ljavafx/stage/Screen;
           12   29     6     minDistance  D
           14   27     8          screen  Ljavafx/stage/Screen;
           15   27    10    screenBounds  Ljavafx/geometry/Rectangle2D;
           19   27    11              dx  D
           23   27    13              dy  D
           24   27    15        distance  D
    MethodParameters:
      Name  Flags
      x     final
      y     final

  private static double getIntersectionLength(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // double a0
        start local 2 // double a1
        start local 4 // double b0
        start local 6 // double b1
         0: .line 809
            dload 0 /* a0 */
            dload 4 /* b0 */
            dcmpg
            ifgt 1
            dload 4 /* b0 */
            dload 6 /* b1 */
            dload 2 /* a1 */
            invokestatic com.sun.javafx.util.Utils.getIntersectionLengthImpl:(DDD)D
            goto 2
         1: .line 810
      StackMap locals:
      StackMap stack:
            dload 0 /* a0 */
            dload 2 /* a1 */
            dload 6 /* b1 */
            invokestatic com.sun.javafx.util.Utils.getIntersectionLengthImpl:(DDD)D
         2: .line 809
      StackMap locals:
      StackMap stack: double
            dreturn
        end local 6 // double b1
        end local 4 // double b0
        end local 2 // double a1
        end local 0 // double a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    a0  D
            0    3     2    a1  D
            0    3     4    b0  D
            0    3     6    b1  D
    MethodParameters:
      Name  Flags
      a0    final
      a1    final
      b0    final
      b1    final

  private static double getIntersectionLengthImpl(double, double, double);
    descriptor: (DDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // double v0
        start local 2 // double v1
        start local 4 // double v
         0: .line 816
            dload 4 /* v */
            dload 0 /* v0 */
            dcmpg
            ifgt 2
         1: .line 817
            dconst_0
            dreturn
         2: .line 820
      StackMap locals:
      StackMap stack:
            dload 4 /* v */
            dload 2 /* v1 */
            dcmpg
            ifgt 3
            dload 4 /* v */
            dload 0 /* v0 */
            dsub
            goto 4
      StackMap locals:
      StackMap stack:
         3: dload 2 /* v1 */
            dload 0 /* v0 */
            dsub
      StackMap locals:
      StackMap stack: double
         4: dreturn
        end local 4 // double v
        end local 2 // double v1
        end local 0 // double v0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    v0  D
            0    5     2    v1  D
            0    5     4     v  D
    MethodParameters:
      Name  Flags
      v0    final
      v1    final
      v     final

  private static double getOuterDistance(double, double, double, double);
    descriptor: (DDDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // double a0
        start local 2 // double a1
        start local 4 // double b0
        start local 6 // double b1
         0: .line 827
            dload 2 /* a1 */
            dload 4 /* b0 */
            dcmpg
            ifgt 2
         1: .line 828
            dload 4 /* b0 */
            dload 2 /* a1 */
            dsub
            dreturn
         2: .line 831
      StackMap locals:
      StackMap stack:
            dload 6 /* b1 */
            dload 0 /* a0 */
            dcmpg
            ifgt 4
         3: .line 832
            dload 6 /* b1 */
            dload 0 /* a0 */
            dsub
            dreturn
         4: .line 835
      StackMap locals:
      StackMap stack:
            dconst_0
            dreturn
        end local 6 // double b1
        end local 4 // double b0
        end local 2 // double a1
        end local 0 // double a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    a0  D
            0    5     2    a1  D
            0    5     4    b0  D
            0    5     6    b1  D
    MethodParameters:
      Name  Flags
      a0    final
      a1    final
      b0    final
      b1    final

  private static double getOuterDistance(double, double, double);
    descriptor: (DDD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // double v0
        start local 2 // double v1
        start local 4 // double v
         0: .line 842
            dload 4 /* v */
            dload 0 /* v0 */
            dcmpg
            ifgt 2
         1: .line 843
            dload 0 /* v0 */
            dload 4 /* v */
            dsub
            dreturn
         2: .line 846
      StackMap locals:
      StackMap stack:
            dload 4 /* v */
            dload 2 /* v1 */
            dcmpl
            iflt 4
         3: .line 847
            dload 4 /* v */
            dload 2 /* v1 */
            dsub
            dreturn
         4: .line 850
      StackMap locals:
      StackMap stack:
            dconst_0
            dreturn
        end local 4 // double v
        end local 2 // double v1
        end local 0 // double v0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    v0  D
            0    5     2    v1  D
            0    5     4     v  D
    MethodParameters:
      Name  Flags
      v0    final
      v1    final
      v     final

  public static void forceInit(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class classToInit
         0: .line 865
            aload 0 /* classToInit */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_1
         1: .line 866
            aload 0 /* classToInit */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 865
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            pop
         3: .line 867
            goto 6
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         4: astore 1 /* e */
        start local 1 // java.lang.ClassNotFoundException e
         5: .line 868
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException e
         6: .line 870
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Class classToInit
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0  classToInit  Ljava/lang/Class<*>;
            5    6     1            e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      classToInit  final

  public static boolean assertionEnabled();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 873
            iconst_0
            istore 0 /* assertsEnabled */
        start local 0 // boolean assertsEnabled
         1: .line 874
            getstatic com.sun.javafx.util.Utils.$assertionsDisabled:Z
            ifne 2
            iconst_1
            dup
            istore 0 /* assertsEnabled */
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 876
      StackMap locals: int
      StackMap stack:
            iload 0 /* assertsEnabled */
            ireturn
        end local 0 // boolean assertsEnabled
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1    3     0  assertsEnabled  Z

  public static boolean isWindows();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 883
            invokestatic com.sun.javafx.PlatformUtil.isWindows:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isMac();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 890
            invokestatic com.sun.javafx.PlatformUtil.isMac:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isUnix();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 897
            invokestatic com.sun.javafx.PlatformUtil.isUnix:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String convertUnicode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // java.lang.String src
         0: .line 920
            iconst_m1
            istore 5 /* unicodeConversionBp */
        start local 5 // int unicodeConversionBp
         1: .line 922
            aload 0 /* src */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* buf */
        start local 1 // char[] buf
         2: .line 923
            aload 1 /* buf */
            arraylength
            istore 3 /* buflen */
        start local 3 // int buflen
         3: .line 924
            iconst_m1
            istore 2 /* bp */
        start local 2 // int bp
         4: .line 926
            iload 3 /* buflen */
            newarray 5
            astore 6 /* dst */
        start local 6 // char[] dst
         5: .line 927
            iconst_0
            istore 7 /* dstIndex */
        start local 7 // int dstIndex
         6: .line 929
            goto 38
         7: .line 930
      StackMap locals: java.lang.String char[] int int top int char[] int
      StackMap stack:
            aload 1 /* buf */
            iinc 2 /* bp */ 1
            iload 2 /* bp */
            caload
            istore 4 /* ch */
        start local 4 // char ch
         8: .line 931
            iload 4 /* ch */
            bipush 92
            if_icmpne 37
         9: .line 932
            iload 5 /* unicodeConversionBp */
            iload 2 /* bp */
            if_icmpeq 37
        10: .line 933
            iinc 2 /* bp */ 1
            aload 1 /* buf */
            iload 2 /* bp */
            caload
            istore 4 /* ch */
        11: .line 934
            iload 4 /* ch */
            bipush 117
            if_icmpne 35
        12: .line 936
      StackMap locals: java.lang.String char[] int int int int char[] int
      StackMap stack:
            iinc 2 /* bp */ 1
            aload 1 /* buf */
            iload 2 /* bp */
            caload
            istore 4 /* ch */
        13: .line 937
            iload 4 /* ch */
            bipush 117
            if_icmpeq 12
        14: .line 938
            iload 2 /* bp */
            iconst_3
            iadd
            istore 8 /* limit */
        start local 8 // int limit
        15: .line 939
            iload 8 /* limit */
            iload 3 /* buflen */
            if_icmpge 37
        16: .line 940
            iload 4 /* ch */
            istore 9 /* c */
        start local 9 // char c
        17: .line 941
            iload 9 /* c */
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 10 /* result */
        start local 10 // int result
        18: .line 942
            iload 10 /* result */
            iflt 20
            iload 9 /* c */
            bipush 127
            if_icmple 20
        19: .line 944
            ldc "0123456789abcdef"
            iload 10 /* result */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        20: .line 946
      StackMap locals: int int int
      StackMap stack:
            iload 10 /* result */
            istore 11 /* d */
        start local 11 // int d
        21: .line 947
            iload 11 /* d */
            istore 12 /* code */
        start local 12 // int code
        22: .line 948
            goto 30
        23: .line 949
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* bp */ 1
            aload 1 /* buf */
            iload 2 /* bp */
            caload
            istore 4 /* ch */
        24: .line 950
            iload 4 /* ch */
            istore 13 /* c1 */
        start local 13 // char c1
        25: .line 951
            iload 13 /* c1 */
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 14 /* result1 */
        start local 14 // int result1
        26: .line 952
            iload 14 /* result1 */
            iflt 28
            iload 13 /* c1 */
            bipush 127
            if_icmple 28
        27: .line 954
            ldc "0123456789abcdef"
            iload 14 /* result1 */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        28: .line 956
      StackMap locals: int int
      StackMap stack:
            iload 14 /* result1 */
            istore 11 /* d */
        29: .line 957
            iload 12 /* code */
            iconst_4
            ishl
            iload 11 /* d */
            iadd
            istore 12 /* code */
        end local 14 // int result1
        end local 13 // char c1
        30: .line 948
      StackMap locals:
      StackMap stack:
            iload 2 /* bp */
            iload 8 /* limit */
            if_icmpge 31
            iload 11 /* d */
            ifge 23
        31: .line 959
      StackMap locals:
      StackMap stack:
            iload 11 /* d */
            iflt 37
        32: .line 960
            iload 12 /* code */
            i2c
            istore 4 /* ch */
        33: .line 961
            iload 2 /* bp */
            istore 5 /* unicodeConversionBp */
        end local 12 // int code
        end local 11 // int d
        end local 10 // int result
        end local 9 // char c
        end local 8 // int limit
        34: .line 965
            goto 37
        35: .line 966
      StackMap locals: java.lang.String char[] int int int int char[] int
      StackMap stack:
            iinc 2 /* bp */ -1
        36: .line 967
            bipush 92
            istore 4 /* ch */
        37: .line 971
      StackMap locals:
      StackMap stack:
            aload 6 /* dst */
            iload 7 /* dstIndex */
            iinc 7 /* dstIndex */ 1
            iload 4 /* ch */
            castore
        end local 4 // char ch
        38: .line 929
      StackMap locals: java.lang.String char[] int int top int char[] int
      StackMap stack:
            iload 2 /* bp */
            iload 3 /* buflen */
            iconst_1
            isub
            if_icmplt 7
        39: .line 974
            new java.lang.String
            dup
            aload 6 /* dst */
            iconst_0
            iload 7 /* dstIndex */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 7 // int dstIndex
        end local 6 // char[] dst
        end local 5 // int unicodeConversionBp
        end local 3 // int buflen
        end local 2 // int bp
        end local 1 // char[] buf
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   40     0                  src  Ljava/lang/String;
            2   40     1                  buf  [C
            4   40     2                   bp  I
            3   40     3               buflen  I
            8   38     4                   ch  C
            1   40     5  unicodeConversionBp  I
            5   40     6                  dst  [C
            6   40     7             dstIndex  I
           15   34     8                limit  I
           17   34     9                    c  C
           18   34    10               result  I
           21   34    11                    d  I
           22   34    12                 code  I
           25   30    13                   c1  C
           26   30    14              result1  I
    MethodParameters:
      Name  Flags
      src   

  public static synchronized void loadNativeSwingLibrary();
    descriptor: ()V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 978
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/javafx/util/Utils.lambda$1()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 990
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.List lambda$0();
    descriptor: ()Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 673
            invokestatic javafx.stage.Window.getWindows:()Ljavafx/collections/ObservableList;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Void lambda$1();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 979
            ldc "prism_common"
            astore 0 /* libName */
        start local 0 // java.lang.String libName
         1: .line 981
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 3
         2: .line 982
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Loading Prism common native library ..."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 984
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* libName */
            invokestatic com.sun.glass.utils.NativeLibLoader.loadLibrary:(Ljava/lang/String;)V
         4: .line 985
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 6
         5: .line 986
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "\tsucceeded."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 988
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String libName
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    7     0  libName  Ljava/lang/String;
}
SourceFile: "Utils.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles