class javax.swing.Autoscroller implements java.awt.event.ActionListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.Autoscroller
  super_class: java.lang.Object
{
  private static javax.swing.Autoscroller sharedInstance;
    descriptor: Ljavax/swing/Autoscroller;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private static javax.swing.Timer timer;
    descriptor: Ljavax/swing/Timer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static javax.swing.JComponent component;
    descriptor: Ljavax/swing/JComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 47
            new javax.swing.Autoscroller
            dup
            invokespecial javax.swing.Autoscroller.<init>:()V
            putstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
         1: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void stop(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 63
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* c */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         1: .line 64
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public static boolean isRunning(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 70
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* c */
            invokevirtual javax.swing.Autoscroller._isRunning:(Ljavax/swing/JComponent;)Z
            ireturn
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public static void processMouseDragged(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.MouseEvent e
         0: .line 78
            getstatic javax.swing.Autoscroller.sharedInstance:Ljavax/swing/Autoscroller;
            aload 0 /* e */
            invokevirtual javax.swing.Autoscroller._processMouseDragged:(Ljava/awt/event/MouseEvent;)V
         1: .line 79
            return
        end local 0 // java.awt.event.MouseEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/awt/event/MouseEvent;
    MethodParameters:
      Name  Flags
      e     

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.Autoscroller this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            return
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/Autoscroller;

  private void start(javax.swing.JComponent, java.awt.event.MouseEvent);
    descriptor: (Ljavax/swing/JComponent;Ljava/awt/event/MouseEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=5, args_size=3
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
        start local 2 // java.awt.event.MouseEvent e
         0: .line 89
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* screenLocation */
        start local 3 // java.awt.Point screenLocation
         1: .line 91
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 1 /* c */
            if_acmpeq 3
         2: .line 92
            aload 0 /* this */
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         3: .line 94
      StackMap locals: java.awt.Point
      StackMap stack:
            aload 1 /* c */
            putstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
         4: .line 95
            new java.awt.event.MouseEvent
            dup
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
         5: .line 96
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.x:I
            iadd
         6: .line 97
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getY:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.y:I
            iadd
         7: .line 98
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
         8: .line 99
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
         9: .line 100
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
            aload 2 /* e */
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        10: .line 101
            iconst_0
        11: .line 95
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            putstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
        12: .line 102
            invokestatic sun.awt.AWTAccessor.getMouseEventAccessor:()Lsun/awt/AWTAccessor$MouseEventAccessor;
            astore 4 /* meAccessor */
        start local 4 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        13: .line 103
            aload 4 /* meAccessor */
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
        14: .line 104
            aload 4 /* meAccessor */
            aload 2 /* e */
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.isCausedByTouchEvent:(Ljava/awt/event/MouseEvent;)Z
        15: .line 103
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.setCausedByTouchEvent:(Ljava/awt/event/MouseEvent;Z)V
        16: .line 106
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnonnull 18
        17: .line 107
            new javax.swing.Timer
            dup
            bipush 100
            aload 0 /* this */
            invokespecial javax.swing.Timer.<init>:(ILjava/awt/event/ActionListener;)V
            putstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
        18: .line 110
      StackMap locals: sun.awt.AWTAccessor$MouseEventAccessor
      StackMap stack:
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.isRunning:()Z
            ifne 20
        19: .line 111
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.start:()V
        20: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        end local 3 // java.awt.Point screenLocation
        end local 2 // java.awt.event.MouseEvent e
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Ljavax/swing/Autoscroller;
            0   21     1               c  Ljavax/swing/JComponent;
            0   21     2               e  Ljava/awt/event/MouseEvent;
            1   21     3  screenLocation  Ljava/awt/Point;
           13   21     4      meAccessor  Lsun/awt/AWTAccessor$MouseEventAccessor;
    MethodParameters:
      Name  Flags
      c     
      e     

  private void _stop(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
         0: .line 123
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            aload 1 /* c */
            if_acmpne 6
         1: .line 124
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnull 3
         2: .line 125
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.stop:()V
         3: .line 127
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
         4: .line 128
            aconst_null
            putstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
         5: .line 129
            aconst_null
            putstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
         6: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/Autoscroller;
            0    7     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  private boolean _isRunning(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // javax.swing.JComponent c
         0: .line 138
            aload 1 /* c */
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            if_acmpne 1
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            ifnull 1
            getstatic javax.swing.Autoscroller.timer:Ljavax/swing/Timer;
            invokevirtual javax.swing.Timer.isRunning:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/Autoscroller;
            0    2     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  private void _processMouseDragged(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // java.awt.event.MouseEvent e
         0: .line 145
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getComponent:()Ljava/awt/Component;
            checkcast javax.swing.JComponent
            astore 2 /* component */
        start local 2 // javax.swing.JComponent component
         1: .line 146
            iconst_1
            istore 3 /* stop */
        start local 3 // boolean stop
         2: .line 147
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.isShowing:()Z
            ifeq 5
         3: .line 148
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.getVisibleRect:()Ljava/awt/Rectangle;
            astore 4 /* visibleRect */
        start local 4 // java.awt.Rectangle visibleRect
         4: .line 149
            aload 4 /* visibleRect */
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getY:()I
            invokevirtual java.awt.Rectangle.contains:(II)Z
            istore 3 /* stop */
        end local 4 // java.awt.Rectangle visibleRect
         5: .line 151
      StackMap locals: javax.swing.JComponent int
      StackMap stack:
            iload 3 /* stop */
            ifeq 8
         6: .line 152
            aload 0 /* this */
            aload 2 /* component */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         7: .line 153
            goto 9
         8: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* component */
            aload 1 /* e */
            invokevirtual javax.swing.Autoscroller.start:(Ljavax/swing/JComponent;Ljava/awt/event/MouseEvent;)V
         9: .line 156
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean stop
        end local 2 // javax.swing.JComponent component
        end local 1 // java.awt.event.MouseEvent e
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljavax/swing/Autoscroller;
            0   10     1            e  Ljava/awt/event/MouseEvent;
            1   10     2    component  Ljavax/swing/JComponent;
            2   10     3         stop  Z
            4    5     4  visibleRect  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      e     

  public void actionPerformed(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=6, args_size=2
        start local 0 // javax.swing.Autoscroller this
        start local 1 // java.awt.event.ActionEvent x
         0: .line 166
            getstatic javax.swing.Autoscroller.component:Ljavax/swing/JComponent;
            astore 2 /* component */
        start local 2 // javax.swing.JComponent component
         1: .line 168
            aload 2 /* component */
            ifnull 2
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.isShowing:()Z
            ifeq 2
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            ifnonnull 4
         2: .line 169
      StackMap locals: javax.swing.JComponent
      StackMap stack:
            aload 0 /* this */
            aload 2 /* component */
            invokevirtual javax.swing.Autoscroller._stop:(Ljavax/swing/JComponent;)V
         3: .line 170
            return
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* component */
            invokevirtual javax.swing.JComponent.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* screenLocation */
        start local 3 // java.awt.Point screenLocation
         5: .line 173
            new java.awt.event.MouseEvent
            dup
            aload 2 /* component */
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getID:()I
         6: .line 174
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
         7: .line 175
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getX:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.x:I
            isub
         8: .line 176
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getY:()I
            aload 3 /* screenLocation */
            getfield java.awt.Point.y:I
            isub
         9: .line 177
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
        10: .line 178
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
        11: .line 179
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
        12: .line 180
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        13: .line 181
            iconst_0
        14: .line 173
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            astore 4 /* e */
        start local 4 // java.awt.event.MouseEvent e
        15: .line 182
            invokestatic sun.awt.AWTAccessor.getMouseEventAccessor:()Lsun/awt/AWTAccessor$MouseEventAccessor;
            astore 5 /* meAccessor */
        start local 5 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        16: .line 183
            aload 5 /* meAccessor */
            aload 4 /* e */
        17: .line 184
            aload 5 /* meAccessor */
            getstatic javax.swing.Autoscroller.event:Ljava/awt/event/MouseEvent;
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.isCausedByTouchEvent:(Ljava/awt/event/MouseEvent;)Z
        18: .line 183
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.setCausedByTouchEvent:(Ljava/awt/event/MouseEvent;Z)V
        19: .line 185
            aload 2 /* component */
            aload 4 /* e */
            invokevirtual javax.swing.JComponent.superProcessMouseMotionEvent:(Ljava/awt/event/MouseEvent;)V
        20: .line 186
            return
        end local 5 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        end local 4 // java.awt.event.MouseEvent e
        end local 3 // java.awt.Point screenLocation
        end local 2 // javax.swing.JComponent component
        end local 1 // java.awt.event.ActionEvent x
        end local 0 // javax.swing.Autoscroller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Ljavax/swing/Autoscroller;
            0   21     1               x  Ljava/awt/event/ActionEvent;
            1   21     2       component  Ljavax/swing/JComponent;
            5   21     3  screenLocation  Ljava/awt/Point;
           15   21     4               e  Ljava/awt/event/MouseEvent;
           16   21     5      meAccessor  Lsun/awt/AWTAccessor$MouseEventAccessor;
    MethodParameters:
      Name  Flags
      x     
}
SourceFile: "Autoscroller.java"
InnerClasses:
  public abstract MouseEventAccessor = sun.awt.AWTAccessor$MouseEventAccessor of sun.awt.AWTAccessor