public class java.awt.AWTKeyStroke implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.AWTKeyStroke
  super_class: java.lang.Object
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -6430539691155161871

  private static java.util.Map<java.lang.String, java.lang.Integer> modifierKeywords;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private static java.awt.VKCollection vks;
    descriptor: Ljava/awt/VKCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Object APP_CONTEXT_CACHE_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.AWTKeyStroke APP_CONTEXT_KEYSTROKE_KEY;
    descriptor: Ljava/awt/AWTKeyStroke;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private char keyChar;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

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

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

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

  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=2, locals=0, args_size=0
         0: .line 67
            ldc Ljava/awt/AWTKeyStroke;
            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 java.awt.AWTKeyStroke.$assertionsDisabled:Z
         3: .line 79
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
         4: .line 81
            new java.awt.AWTKeyStroke
            dup
            invokespecial java.awt.AWTKeyStroke.<init>:()V
            putstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
         5: .line 104
            invokestatic java.awt.Toolkit.loadLibraries:()V
         6: .line 105
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Class<java.awt.AWTKeyStroke> getAWTKeyStrokeClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 89
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 0 /* clazz */
        start local 0 // java.lang.Class clazz
         1: .line 90
            aload 0 /* clazz */
            ifnonnull 4
         2: .line 91
            ldc Ljava/awt/AWTKeyStroke;
            astore 0 /* clazz */
         3: .line 92
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljava/awt/AWTKeyStroke;
            ldc Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 94
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* clazz */
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    5     0  clazz  Ljava/lang/Class<Ljava/awt/AWTKeyStroke;>;
    Signature: ()Ljava/lang/Class<Ljava/awt/AWTKeyStroke;>;

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 97
            aload 0 /* this */
            ldc 65535
            putfield java.awt.AWTKeyStroke.keyChar:C
         2: .line 98
            aload 0 /* this */
            iconst_0
            putfield java.awt.AWTKeyStroke.keyCode:I
         3: .line 137
            return
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/AWTKeyStroke;

  protected void <init>(char, int, int, boolean);
    descriptor: (CIIZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.awt.AWTKeyStroke this
        start local 1 // char keyChar
        start local 2 // int keyCode
        start local 3 // int modifiers
        start local 4 // boolean onKeyRelease
         0: .line 153
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 97
            aload 0 /* this */
            ldc 65535
            putfield java.awt.AWTKeyStroke.keyChar:C
         2: .line 98
            aload 0 /* this */
            iconst_0
            putfield java.awt.AWTKeyStroke.keyCode:I
         3: .line 155
            aload 0 /* this */
            iload 1 /* keyChar */
            putfield java.awt.AWTKeyStroke.keyChar:C
         4: .line 156
            aload 0 /* this */
            iload 2 /* keyCode */
            putfield java.awt.AWTKeyStroke.keyCode:I
         5: .line 157
            aload 0 /* this */
            iload 3 /* modifiers */
            putfield java.awt.AWTKeyStroke.modifiers:I
         6: .line 158
            aload 0 /* this */
            iload 4 /* onKeyRelease */
            putfield java.awt.AWTKeyStroke.onKeyRelease:Z
         7: .line 159
            return
        end local 4 // boolean onKeyRelease
        end local 3 // int modifiers
        end local 2 // int keyCode
        end local 1 // char keyChar
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljava/awt/AWTKeyStroke;
            0    8     1       keyChar  C
            0    8     2       keyCode  I
            0    8     3     modifiers  I
            0    8     4  onKeyRelease  Z
    MethodParameters:
              Name  Flags
      keyChar       
      keyCode       
      modifiers     
      onKeyRelease  

  protected static void registerSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class subclass
         0: .line 181
            aload 0 /* subclass */
            ifnonnull 2
         1: .line 182
            new java.lang.IllegalArgumentException
            dup
            ldc "subclass cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 184
      StackMap locals:
      StackMap stack:
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 1
            monitorenter
         3: .line 185
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* keyStrokeClass */
        start local 2 // java.lang.Class keyStrokeClass
         4: .line 186
            aload 2 /* keyStrokeClass */
            ifnull 7
            aload 2 /* keyStrokeClass */
            aload 0 /* subclass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 188
            aload 1
            monitorexit
         6: return
        end local 2 // java.lang.Class keyStrokeClass
         7: .line 184
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 191
      StackMap locals:
      StackMap stack:
            ldc Ljava/awt/AWTKeyStroke;
            aload 0 /* subclass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 13
        12: .line 192
            new java.lang.ClassCastException
            dup
            ldc "subclass is not derived from AWTKeyStroke"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* subclass */
            invokestatic java.awt.AWTKeyStroke.getCtor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 1 /* ctor */
        start local 1 // java.lang.reflect.Constructor ctor
        14: .line 197
            ldc "subclass could not be instantiated"
            astore 2 /* couldNotInstantiate */
        start local 2 // java.lang.String couldNotInstantiate
        15: .line 199
            aload 1 /* ctor */
            ifnonnull 17
        16: .line 200
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 203
      StackMap locals: java.lang.reflect.Constructor java.lang.String
      StackMap stack:
            aload 1 /* ctor */
            aconst_null
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 3 /* stroke */
        start local 3 // java.awt.AWTKeyStroke stroke
        18: .line 204
            aload 3 /* stroke */
            ifnonnull 30
        19: .line 205
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.awt.AWTKeyStroke stroke
        20: .line 207
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodError
            pop
        21: .line 208
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 209
      StackMap locals:
      StackMap stack: java.lang.ExceptionInInitializerError
            pop
        23: .line 210
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 211
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            pop
        25: .line 212
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 213
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        27: .line 214
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 215
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        29: .line 216
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* couldNotInstantiate */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 219
      StackMap locals:
      StackMap stack:
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 3
            monitorenter
        31: .line 220
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljava/awt/AWTKeyStroke;
            aload 0 /* subclass */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 221
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 222
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 219
            aload 3
            monitorexit
        35: goto 38
      StackMap locals: java.lang.Class java.lang.reflect.Constructor java.lang.String java.lang.Class
      StackMap stack: java.lang.Throwable
        36: aload 3
            monitorexit
        37: athrow
        38: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String couldNotInstantiate
        end local 1 // java.lang.reflect.Constructor ctor
        end local 0 // java.lang.Class subclass
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   39     0             subclass  Ljava/lang/Class<*>;
            4    7     2       keyStrokeClass  Ljava/lang/Class<Ljava/awt/AWTKeyStroke;>;
           14   39     1                 ctor  Ljava/lang/reflect/Constructor;
           15   39     2  couldNotInstantiate  Ljava/lang/String;
           18   20     3               stroke  Ljava/awt/AWTKeyStroke;
      Exception table:
        from    to  target  type
           3     6       9  any
           7     8       9  any
           9    10       9  any
          17    20      20  Class java.lang.NoSuchMethodError
          17    20      22  Class java.lang.ExceptionInInitializerError
          17    20      24  Class java.lang.InstantiationException
          17    20      26  Class java.lang.IllegalAccessException
          17    20      28  Class java.lang.reflect.InvocationTargetException
          31    35      36  any
          36    37      36  any
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
          Name  Flags
      subclass  

  private static java.lang.reflect.Constructor getCtor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 232
            new java.awt.AWTKeyStroke$1
            dup
            aload 0 /* clazz */
            invokespecial java.awt.AWTKeyStroke$1.<init>:(Ljava/lang/Class;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Constructor
            astore 1 /* ctor */
        start local 1 // java.lang.reflect.Constructor ctor
         1: .line 246
            aload 1 /* ctor */
            areturn
        end local 1 // java.lang.reflect.Constructor ctor
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  clazz  Ljava/lang/Class;
            1    2     1   ctor  Ljava/lang/reflect/Constructor;
    MethodParameters:
       Name  Flags
      clazz  final

  private static synchronized java.awt.AWTKeyStroke getCachedStroke(char, int, int, boolean);
    descriptor: (CIIZ)Ljava/awt/AWTKeyStroke;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // char keyChar
        start local 1 // int keyCode
        start local 2 // int modifiers
        start local 3 // boolean onKeyRelease
         0: .line 252
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* cache */
        start local 4 // java.util.Map cache
         1: .line 253
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 5 /* cacheKey */
        start local 5 // java.awt.AWTKeyStroke cacheKey
         2: .line 255
            aload 4 /* cache */
            ifnonnull 5
         3: .line 256
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* cache */
         4: .line 257
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
            aload 4 /* cache */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 260
      StackMap locals: java.util.Map java.awt.AWTKeyStroke
      StackMap stack:
            aload 5 /* cacheKey */
            ifnonnull 16
         6: .line 262
            invokestatic java.awt.AWTKeyStroke.getAWTKeyStrokeClass:()Ljava/lang/Class;
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
         7: .line 263
            aload 6 /* clazz */
            invokestatic java.awt.AWTKeyStroke.getCtor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            aconst_null
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 5 /* cacheKey */
         8: .line 264
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            aload 5 /* cacheKey */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Class clazz
         9: .line 265
            goto 16
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
        10: pop
        11: .line 266
            getstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 267
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        13: .line 268
            getstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 269
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        15: .line 270
            getstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 273
      StackMap locals:
      StackMap stack:
            aload 5 /* cacheKey */
            iload 0 /* keyChar */
            putfield java.awt.AWTKeyStroke.keyChar:C
        17: .line 274
            aload 5 /* cacheKey */
            iload 1 /* keyCode */
            putfield java.awt.AWTKeyStroke.keyCode:I
        18: .line 275
            aload 5 /* cacheKey */
            iload 2 /* modifiers */
            invokestatic java.awt.AWTKeyStroke.mapOldModifiers:(I)I
            invokestatic java.awt.AWTKeyStroke.mapNewModifiers:(I)I
            putfield java.awt.AWTKeyStroke.modifiers:I
        19: .line 276
            aload 5 /* cacheKey */
            iload 3 /* onKeyRelease */
            putfield java.awt.AWTKeyStroke.onKeyRelease:Z
        20: .line 278
            aload 4 /* cache */
            aload 5 /* cacheKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 6 /* stroke */
        start local 6 // java.awt.AWTKeyStroke stroke
        21: .line 279
            aload 6 /* stroke */
            ifnonnull 25
        22: .line 280
            aload 5 /* cacheKey */
            astore 6 /* stroke */
        23: .line 281
            aload 4 /* cache */
            aload 6 /* stroke */
            aload 6 /* stroke */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 282
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 284
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack:
            aload 6 /* stroke */
            areturn
        end local 6 // java.awt.AWTKeyStroke stroke
        end local 5 // java.awt.AWTKeyStroke cacheKey
        end local 4 // java.util.Map cache
        end local 3 // boolean onKeyRelease
        end local 2 // int modifiers
        end local 1 // int keyCode
        end local 0 // char keyChar
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0       keyChar  C
            0   26     1       keyCode  I
            0   26     2     modifiers  I
            0   26     3  onKeyRelease  Z
            1   26     4         cache  Ljava/util/Map<Ljava/awt/AWTKeyStroke;Ljava/awt/AWTKeyStroke;>;
            2   26     5      cacheKey  Ljava/awt/AWTKeyStroke;
            7    9     6         clazz  Ljava/lang/Class<Ljava/awt/AWTKeyStroke;>;
           21   26     6        stroke  Ljava/awt/AWTKeyStroke;
      Exception table:
        from    to  target  type
           6     9      10  Class java.lang.InstantiationException
           6     9      12  Class java.lang.IllegalAccessException
           6     9      14  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
              Name  Flags
      keyChar       
      keyCode       
      modifiers     
      onKeyRelease  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(char);
    descriptor: (C)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // char keyChar
         0: .line 296
            iload 0 /* keyChar */
            iconst_0
            iconst_0
            iconst_0
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 0 // char keyChar
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  keyChar  C
    MethodParameters:
         Name  Flags
      keyChar  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(java.lang.Character, int);
    descriptor: (Ljava/lang/Character;I)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Character keyChar
        start local 1 // int modifiers
         0: .line 338
            aload 0 /* keyChar */
            ifnonnull 2
         1: .line 339
            new java.lang.IllegalArgumentException
            dup
            ldc "keyChar cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* keyChar */
            invokevirtual java.lang.Character.charValue:()C
            iconst_0
         3: .line 342
            iload 1 /* modifiers */
            iconst_0
         4: .line 341
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 1 // int modifiers
        end local 0 // java.lang.Character keyChar
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0    keyChar  Ljava/lang/Character;
            0    5     1  modifiers  I
    MethodParameters:
           Name  Flags
      keyChar    
      modifiers  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(int, int, boolean);
    descriptor: (IIZ)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int keyCode
        start local 1 // int modifiers
        start local 2 // boolean onKeyRelease
         0: .line 391
            ldc 65535
            iload 0 /* keyCode */
            iload 1 /* modifiers */
         1: .line 392
            iload 2 /* onKeyRelease */
         2: .line 391
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 2 // boolean onKeyRelease
        end local 1 // int modifiers
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0       keyCode  I
            0    3     1     modifiers  I
            0    3     2  onKeyRelease  Z
    MethodParameters:
              Name  Flags
      keyCode       
      modifiers     
      onKeyRelease  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(int, int);
    descriptor: (II)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int keyCode
        start local 1 // int modifiers
         0: .line 435
            ldc 65535
            iload 0 /* keyCode */
            iload 1 /* modifiers */
         1: .line 436
            iconst_0
         2: .line 435
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 1 // int modifiers
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    keyCode  I
            0    3     1  modifiers  I
    MethodParameters:
           Name  Flags
      keyCode    
      modifiers  

  public static java.awt.AWTKeyStroke getAWTKeyStrokeForEvent(java.awt.event.KeyEvent);
    descriptor: (Ljava/awt/event/KeyEvent;)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.awt.event.KeyEvent anEvent
         0: .line 454
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getID:()I
            istore 1 /* id */
        start local 1 // int id
         1: .line 455
            iload 1 /* id */
            tableswitch { // 400 - 402
                  400: 8
                  401: 2
                  402: 2
              default: 13
          }
         2: .line 458
      StackMap locals: int
      StackMap stack:
            ldc 65535
         3: .line 459
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getKeyCode:()I
         4: .line 460
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getModifiers:()I
         5: .line 461
            iload 1 /* id */
            sipush 402
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals: java.awt.event.KeyEvent int
      StackMap stack: int int int
         6: iconst_0
         7: .line 458
      StackMap locals: java.awt.event.KeyEvent int
      StackMap stack: int int int int
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
         8: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getKeyChar:()C
         9: .line 464
            iconst_0
        10: .line 465
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getModifiers:()I
        11: .line 466
            iconst_0
        12: .line 463
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        13: .line 469
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int id
        end local 0 // java.awt.event.KeyEvent anEvent
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  anEvent  Ljava/awt/event/KeyEvent;
            1   14     1       id  I
    MethodParameters:
         Name  Flags
      anEvent  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // java.lang.String s
         0: .line 501
            aload 0 /* s */
            ifnonnull 2
         1: .line 502
            new java.lang.IllegalArgumentException
            dup
            ldc "String cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 507
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* s */
            ldc " "
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* st */
        start local 1 // java.util.StringTokenizer st
         3: .line 509
            iconst_0
            istore 2 /* mask */
        start local 2 // int mask
         4: .line 510
            iconst_0
            istore 3 /* released */
        start local 3 // boolean released
         5: .line 511
            iconst_0
            istore 4 /* typed */
        start local 4 // boolean typed
         6: .line 512
            iconst_0
            istore 5 /* pressed */
        start local 5 // boolean pressed
         7: .line 514
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 6
            monitorenter
         8: .line 515
            getstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
            ifnonnull 39
         9: .line 516
            new java.util.HashMap
            dup
            bipush 8
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
            astore 7 /* uninitializedMap */
        start local 7 // java.util.Map uninitializedMap
        10: .line 517
            aload 7 /* uninitializedMap */
            ldc "shift"
        11: .line 518
            bipush 65
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        12: .line 517
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 520
            aload 7 /* uninitializedMap */
            ldc "control"
        14: .line 521
            sipush 130
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        15: .line 520
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 523
            aload 7 /* uninitializedMap */
            ldc "ctrl"
        17: .line 524
            sipush 130
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        18: .line 523
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 526
            aload 7 /* uninitializedMap */
            ldc "meta"
        20: .line 527
            sipush 260
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        21: .line 526
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 529
            aload 7 /* uninitializedMap */
            ldc "alt"
        23: .line 530
            sipush 520
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        24: .line 529
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 532
            aload 7 /* uninitializedMap */
            ldc "altGraph"
        26: .line 533
            sipush 8224
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        27: .line 532
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 535
            aload 7 /* uninitializedMap */
            ldc "button1"
        29: .line 536
            sipush 1024
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        30: .line 535
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 537
            aload 7 /* uninitializedMap */
            ldc "button2"
        32: .line 538
            sipush 2048
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        33: .line 537
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 539
            aload 7 /* uninitializedMap */
            ldc "button3"
        35: .line 540
            sipush 4096
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        36: .line 539
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 542
            aload 7 /* uninitializedMap */
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
        38: .line 541
            putstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
        end local 7 // java.util.Map uninitializedMap
        39: .line 514
      StackMap locals: java.lang.String java.util.StringTokenizer int int int int java.lang.Class
      StackMap stack:
            aload 6
            monitorexit
        40: goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: aload 6
            monitorexit
        42: athrow
        43: .line 546
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 6 /* count */
        start local 6 // int count
        44: .line 548
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        45: goto 76
        46: .line 549
      StackMap locals: int int
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 8 /* token */
        start local 8 // java.lang.String token
        47: .line 551
            iload 4 /* typed */
            ifeq 53
        48: .line 552
            aload 8 /* token */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 49
            iload 7 /* i */
            iload 6 /* count */
            if_icmpeq 50
        49: .line 553
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 555
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            iconst_0
        51: .line 556
            iload 2 /* mask */
            iconst_0
        52: .line 555
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        53: .line 559
      StackMap locals:
      StackMap stack:
            iload 5 /* pressed */
            ifne 54
            iload 3 /* released */
            ifne 54
            iload 7 /* i */
            iload 6 /* count */
            if_icmpne 61
        54: .line 560
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 6 /* count */
            if_icmpeq 56
        55: .line 561
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        56: .line 564
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "VK_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* token */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* keyCodeName */
        start local 9 // java.lang.String keyCodeName
        57: .line 565
            aload 9 /* keyCodeName */
            invokestatic java.awt.AWTKeyStroke.getVKValue:(Ljava/lang/String;)I
            istore 10 /* keyCode */
        start local 10 // int keyCode
        58: .line 567
            ldc 65535
            iload 10 /* keyCode */
        59: .line 568
            iload 2 /* mask */
            iload 3 /* released */
        60: .line 567
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 10 // int keyCode
        end local 9 // java.lang.String keyCodeName
        61: .line 571
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "released"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 64
        62: .line 572
            iconst_1
            istore 3 /* released */
        63: .line 573
            goto 75
        64: .line 575
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "pressed"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 67
        65: .line 576
            iconst_1
            istore 5 /* pressed */
        66: .line 577
            goto 75
        67: .line 579
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "typed"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 70
        68: .line 580
            iconst_1
            istore 4 /* typed */
        69: .line 581
            goto 75
        70: .line 584
      StackMap locals:
      StackMap stack:
            getstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
            aload 8 /* token */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 9 /* tokenMask */
        start local 9 // java.lang.Integer tokenMask
        71: .line 585
            aload 9 /* tokenMask */
            ifnull 74
        72: .line 586
            iload 2 /* mask */
            aload 9 /* tokenMask */
            invokevirtual java.lang.Integer.intValue:()I
            ior
            istore 2 /* mask */
        73: .line 587
            goto 75
        74: .line 588
      StackMap locals: java.lang.Integer
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Integer tokenMask
        end local 8 // java.lang.String token
        75: .line 548
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        76: iload 7 /* i */
            iload 6 /* count */
            if_icmple 46
        end local 7 // int i
        77: .line 592
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // int count
        end local 5 // boolean pressed
        end local 4 // boolean typed
        end local 3 // boolean released
        end local 2 // int mask
        end local 1 // java.util.StringTokenizer st
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   78     0                 s  Ljava/lang/String;
            3   78     1                st  Ljava/util/StringTokenizer;
            4   78     2              mask  I
            5   78     3          released  Z
            6   78     4             typed  Z
            7   78     5           pressed  Z
           10   39     7  uninitializedMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
           44   78     6             count  I
           45   77     7                 i  I
           47   75     8             token  Ljava/lang/String;
           57   61     9       keyCodeName  Ljava/lang/String;
           58   61    10           keyCode  I
           71   75     9         tokenMask  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           8    40      41  any
          41    42      41  any
    MethodParameters:
      Name  Flags
      s     

  private static java.awt.VKCollection getVKCollection();
    descriptor: ()Ljava/awt/VKCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 596
            getstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
            ifnonnull 2
         1: .line 597
            new java.awt.VKCollection
            dup
            invokespecial java.awt.VKCollection.<init>:()V
            putstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
         2: .line 599
      StackMap locals:
      StackMap stack:
            getstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int getVKValue(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String key
         0: .line 608
            invokestatic java.awt.AWTKeyStroke.getVKCollection:()Ljava/awt/VKCollection;
            astore 1 /* vkCollect */
        start local 1 // java.awt.VKCollection vkCollect
         1: .line 610
            aload 1 /* vkCollect */
            aload 0 /* key */
            invokevirtual java.awt.VKCollection.findCode:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 2 /* value */
        start local 2 // java.lang.Integer value
         2: .line 612
            aload 2 /* value */
            ifnonnull 12
         3: .line 613
            iconst_0
            istore 3 /* keyCode */
        start local 3 // int keyCode
         4: .line 617
            ldc Ljava/awt/event/KeyEvent;
            aload 0 /* key */
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
            istore 3 /* keyCode */
         5: .line 618
            goto 10
      StackMap locals: java.lang.String java.awt.VKCollection java.lang.Integer int
      StackMap stack: java.lang.NoSuchFieldException
         6: pop
         7: .line 619
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 620
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
         9: .line 621
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 623
      StackMap locals:
      StackMap stack:
            iload 3 /* keyCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* value */
        11: .line 624
            aload 1 /* vkCollect */
            aload 0 /* key */
            aload 2 /* value */
            invokevirtual java.awt.VKCollection.put:(Ljava/lang/String;Ljava/lang/Integer;)V
        end local 3 // int keyCode
        12: .line 626
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer value
        end local 1 // java.awt.VKCollection vkCollect
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0        key  Ljava/lang/String;
            1   13     1  vkCollect  Ljava/awt/VKCollection;
            2   13     2      value  Ljava/lang/Integer;
            4   12     3    keyCode  I
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.NoSuchFieldException
           4     5       8  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      key   

  public final char getKeyChar();
    descriptor: ()C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 637
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getKeyCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 648
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getModifiers();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 658
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final boolean isOnKeyRelease();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 669
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getKeyEventType();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 682
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ifne 2
         1: .line 683
            sipush 400
            ireturn
         2: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 4
         3: .line 686
            sipush 402
            goto 5
         4: .line 687
      StackMap locals:
      StackMap stack:
            sipush 401
         5: .line 685
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/AWTKeyStroke;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 698
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            iconst_1
            iadd
            iconst_2
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            iconst_1
            iadd
            imul
            imul
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            iconst_1
            iadd
            imul
         1: .line 699
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: int
         2: iconst_2
         3: .line 698
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack: int int
            iadd
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/AWTKeyStroke;

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.AWTKeyStroke this
        start local 1 // java.lang.Object anObject
         0: .line 709
            aload 1 /* anObject */
            instanceof java.awt.AWTKeyStroke
            ifeq 7
         1: .line 710
            aload 1 /* anObject */
            checkcast java.awt.AWTKeyStroke
            astore 2 /* ks */
        start local 2 // java.awt.AWTKeyStroke ks
         2: .line 711
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.keyChar:C
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            if_icmpne 6
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.keyCode:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            if_icmpne 6
         3: .line 712
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            if_icmpne 6
         4: .line 713
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.modifiers:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            if_icmpne 6
         5: .line 711
            iconst_1
            ireturn
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // java.awt.AWTKeyStroke ks
         7: .line 715
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object anObject
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljava/awt/AWTKeyStroke;
            0    8     1  anObject  Ljava/lang/Object;
            2    7     2        ks  Ljava/awt/AWTKeyStroke;
    MethodParameters:
          Name  Flags
      anObject  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 728
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ifne 2
         1: .line 729
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            invokestatic java.awt.AWTKeyStroke.getModifiersText:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "typed "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 731
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            invokestatic java.awt.AWTKeyStroke.getModifiersText:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 732
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 4
            ldc "released"
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: ldc "pressed"
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 733
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            invokestatic java.awt.AWTKeyStroke.getVKText:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 731
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/awt/AWTKeyStroke;

  static java.lang.String getModifiersText(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int modifiers
         0: .line 738
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 740
            iload 0 /* modifiers */
            bipush 64
            iand
            ifeq 3
         2: .line 741
            aload 1 /* buf */
            ldc "shift "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 743
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 0 /* modifiers */
            sipush 128
            iand
            ifeq 5
         4: .line 744
            aload 1 /* buf */
            ldc "ctrl "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 746
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 256
            iand
            ifeq 7
         6: .line 747
            aload 1 /* buf */
            ldc "meta "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 749
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 512
            iand
            ifeq 9
         8: .line 750
            aload 1 /* buf */
            ldc "alt "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 752
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 8192
            iand
            ifeq 11
        10: .line 753
            aload 1 /* buf */
            ldc "altGraph "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 755
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 1024
            iand
            ifeq 13
        12: .line 756
            aload 1 /* buf */
            ldc "button1 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 758
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 2048
            iand
            ifeq 15
        14: .line 759
            aload 1 /* buf */
            ldc "button2 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 761
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 4096
            iand
            ifeq 17
        16: .line 762
            aload 1 /* buf */
            ldc "button3 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 765
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  modifiers  I
            1   18     1        buf  Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      modifiers  

  static java.lang.String getVKText(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // int keyCode
         0: .line 769
            invokestatic java.awt.AWTKeyStroke.getVKCollection:()Ljava/awt/VKCollection;
            astore 1 /* vkCollect */
        start local 1 // java.awt.VKCollection vkCollect
         1: .line 770
            iload 0 /* keyCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* key */
        start local 2 // java.lang.Integer key
         2: .line 771
            aload 1 /* vkCollect */
            aload 2 /* key */
            invokevirtual java.awt.VKCollection.findName:(Ljava/lang/Integer;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 772
            aload 3 /* name */
            ifnull 5
         4: .line 773
            aload 3 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         5: .line 776
      StackMap locals: java.awt.VKCollection java.lang.Integer java.lang.String
      StackMap stack:
            bipush 25
         6: .line 775
            istore 4 /* expected_modifiers */
        start local 4 // int expected_modifiers
         7: .line 778
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 5 /* fields */
        start local 5 // java.lang.reflect.Field[] fields
         8: .line 779
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 21
        10: .line 781
      StackMap locals: int java.lang.reflect.Field[] int
      StackMap stack:
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 4 /* expected_modifiers */
            if_icmpne 20
        11: .line 782
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 20
        12: .line 783
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "VK_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
        13: .line 784
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
            iload 0 /* keyCode */
            if_icmpne 20
        14: .line 786
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 3 /* name */
        15: .line 787
            aload 1 /* vkCollect */
            aload 3 /* name */
            aload 2 /* key */
            invokevirtual java.awt.VKCollection.put:(Ljava/lang/String;Ljava/lang/Integer;)V
        16: .line 788
            aload 3 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        17: areturn
        18: .line 790
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        19: .line 791
            getstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
            ifne 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 779
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 5 /* fields */
            arraylength
            if_icmplt 10
        end local 6 // int i
        22: .line 794
            ldc "UNKNOWN"
            areturn
        end local 5 // java.lang.reflect.Field[] fields
        end local 4 // int expected_modifiers
        end local 3 // java.lang.String name
        end local 2 // java.lang.Integer key
        end local 1 // java.awt.VKCollection vkCollect
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0             keyCode  I
            1   23     1           vkCollect  Ljava/awt/VKCollection;
            2   23     2                 key  Ljava/lang/Integer;
            3   23     3                name  Ljava/lang/String;
            7   23     4  expected_modifiers  I
            8   23     5              fields  [Ljava/lang/reflect/Field;
            9   22     6                   i  I
      Exception table:
        from    to  target  type
          10    17      18  Class java.lang.IllegalAccessException
    MethodParameters:
         Name  Flags
      keyCode  

  protected java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 804
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 1
            monitorenter
         1: .line 805
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.awt.AWTKeyStroke.getAWTKeyStrokeClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 806
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            aload 1
            monitorexit
         3: areturn
         4: .line 804
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/awt/AWTKeyStroke;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.ObjectStreamException

  private static int mapOldModifiers(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int modifiers
         0: .line 813
            iload 0 /* modifiers */
            iconst_1
            iand
            ifeq 2
         1: .line 814
            iload 0 /* modifiers */
            bipush 64
            ior
            istore 0 /* modifiers */
         2: .line 816
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            bipush 8
            iand
            ifeq 4
         3: .line 817
            iload 0 /* modifiers */
            sipush 512
            ior
            istore 0 /* modifiers */
         4: .line 819
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            bipush 32
            iand
            ifeq 6
         5: .line 820
            iload 0 /* modifiers */
            sipush 8192
            ior
            istore 0 /* modifiers */
         6: .line 822
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_2
            iand
            ifeq 8
         7: .line 823
            iload 0 /* modifiers */
            sipush 128
            ior
            istore 0 /* modifiers */
         8: .line 825
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_4
            iand
            ifeq 10
         9: .line 826
            iload 0 /* modifiers */
            sipush 256
            ior
            istore 0 /* modifiers */
        10: .line 829
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 16320
            iand
            istore 0 /* modifiers */
        11: .line 838
            iload 0 /* modifiers */
            ireturn
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  modifiers  I
    MethodParameters:
           Name  Flags
      modifiers  

  private static int mapNewModifiers(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int modifiers
         0: .line 842
            iload 0 /* modifiers */
            bipush 64
            iand
            ifeq 2
         1: .line 843
            iload 0 /* modifiers */
            iconst_1
            ior
            istore 0 /* modifiers */
         2: .line 845
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 512
            iand
            ifeq 4
         3: .line 846
            iload 0 /* modifiers */
            bipush 8
            ior
            istore 0 /* modifiers */
         4: .line 848
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 8192
            iand
            ifeq 6
         5: .line 849
            iload 0 /* modifiers */
            bipush 32
            ior
            istore 0 /* modifiers */
         6: .line 851
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 128
            iand
            ifeq 8
         7: .line 852
            iload 0 /* modifiers */
            iconst_2
            ior
            istore 0 /* modifiers */
         8: .line 854
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 256
            iand
            ifeq 10
         9: .line 855
            iload 0 /* modifiers */
            iconst_4
            ior
            istore 0 /* modifiers */
        10: .line 858
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            ireturn
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  modifiers  I
    MethodParameters:
           Name  Flags
      modifiers  
}
SourceFile: "AWTKeyStroke.java"
NestMembers:
  java.awt.AWTKeyStroke$1
InnerClasses:
  java.awt.AWTKeyStroke$1