public abstract class jdk.internal.org.jline.terminal.impl.AbstractTerminal implements jdk.internal.org.jline.terminal.Terminal
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.internal.org.jline.terminal.impl.AbstractTerminal
  super_class: java.lang.Object
{
  protected final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.nio.charset.Charset encoding;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.util.Map<jdk.internal.org.jline.terminal.Terminal$Signal, jdk.internal.org.jline.terminal.Terminal$SignalHandler> handlers;
    descriptor: Ljava/util/Map;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/internal/org/jline/terminal/Terminal$Signal;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;>;

  protected final java.util.Set<jdk.internal.org.jline.utils.InfoCmp$Capability> bools;
    descriptor: Ljava/util/Set;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Set<Ljdk/internal/org/jline/utils/InfoCmp$Capability;>;

  protected final java.util.Map<jdk.internal.org.jline.utils.InfoCmp$Capability, java.lang.Integer> ints;
    descriptor: Ljava/util/Map;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljava/lang/Integer;>;

  protected final java.util.Map<jdk.internal.org.jline.utils.InfoCmp$Capability, java.lang.String> strings;
    descriptor: Ljava/util/Map;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljava/lang/String;>;

  protected jdk.internal.org.jline.utils.Status status;
    descriptor: Ljdk/internal/org/jline/utils/Status;
    flags: (0x0004) ACC_PROTECTED

  private jdk.internal.org.jline.terminal.MouseEvent lastMouseEvent;
    descriptor: Ljdk/internal/org/jline/terminal/MouseEvent;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$jdk$internal$org$jline$terminal$Terminal$Signal;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
         0: .line 48
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* type */
            aconst_null
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.AbstractTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
         1: .line 49
            return
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    2     1  name  Ljava/lang/String;
            0    2     2  type  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  
      type  

  public void <init>(java.lang.String, java.lang.String, java.nio.charset.Charset, jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
        start local 3 // java.nio.charset.Charset encoding
        start local 4 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.handlers:Ljava/util/Map;
         2: .line 42
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.bools:Ljava/util/Set;
         3: .line 43
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.ints:Ljava/util/Map;
         4: .line 44
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.strings:Ljava/util/Map;
         5: .line 203
            aload 0 /* this */
            new jdk.internal.org.jline.terminal.MouseEvent
            dup
         6: .line 204
            getstatic jdk.internal.org.jline.terminal.MouseEvent$Type.Moved:Ljdk/internal/org/jline/terminal/MouseEvent$Type;
            getstatic jdk.internal.org.jline.terminal.MouseEvent$Button.NoButton:Ljdk/internal/org/jline/terminal/MouseEvent$Button;
         7: .line 205
            ldc Ljdk/internal/org/jline/terminal/MouseEvent$Modifier;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            iconst_0
            iconst_0
         8: .line 203
            invokespecial jdk.internal.org.jline.terminal.MouseEvent.<init>:(Ljdk/internal/org/jline/terminal/MouseEvent$Type;Ljdk/internal/org/jline/terminal/MouseEvent$Button;Ljava/util/EnumSet;II)V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.lastMouseEvent:Ljdk/internal/org/jline/terminal/MouseEvent;
         9: .line 52
            aload 0 /* this */
            aload 1 /* name */
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.name:Ljava/lang/String;
        10: .line 53
            aload 0 /* this */
            aload 2 /* type */
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
        11: .line 54
            aload 0 /* this */
            aload 3 /* encoding */
            ifnull 12
            aload 3 /* encoding */
            goto 13
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal java.lang.String java.lang.String java.nio.charset.Charset jdk.internal.org.jline.terminal.Terminal$SignalHandler
      StackMap stack: jdk.internal.org.jline.terminal.impl.AbstractTerminal
        12: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal java.lang.String java.lang.String java.nio.charset.Charset jdk.internal.org.jline.terminal.Terminal$SignalHandler
      StackMap stack: jdk.internal.org.jline.terminal.impl.AbstractTerminal java.nio.charset.Charset
        13: putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.encoding:Ljava/nio/charset/Charset;
        14: .line 55
            invokestatic jdk.internal.org.jline.terminal.Terminal$Signal.values:()[Ljdk/internal/org/jline/terminal/Terminal$Signal;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 18
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal java.lang.String java.lang.String java.nio.charset.Charset jdk.internal.org.jline.terminal.Terminal$SignalHandler top int int jdk.internal.org.jline.terminal.Terminal$Signal[]
      StackMap stack:
        15: aload 8
            iload 6
            aaload
            astore 5 /* signal */
        start local 5 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        16: .line 56
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.handlers:Ljava/util/Map;
            aload 5 /* signal */
            aload 4 /* signalHandler */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        17: .line 55
            iinc 6 1
      StackMap locals:
      StackMap stack:
        18: iload 6
            iload 7
            if_icmplt 15
        19: .line 58
            return
        end local 4 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
        end local 3 // java.nio.charset.Charset encoding
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0   20     1           name  Ljava/lang/String;
            0   20     2           type  Ljava/lang/String;
            0   20     3       encoding  Ljava/nio/charset/Charset;
            0   20     4  signalHandler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
           16   17     5         signal  Ljdk/internal/org/jline/terminal/Terminal$Signal;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      name           
      type           
      encoding       
      signalHandler  

  public jdk.internal.org.jline.utils.Status getStatus();
    descriptor: ()Ljdk/internal/org/jline/utils/Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 61
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getStatus:(Z)Ljdk/internal/org/jline/utils/Status;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public jdk.internal.org.jline.utils.Status getStatus(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/utils/Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // boolean create
         0: .line 65
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            ifnonnull 2
            iload 1 /* create */
            ifeq 2
         1: .line 66
            aload 0 /* this */
            new jdk.internal.org.jline.utils.Status
            dup
            aload 0 /* this */
            invokespecial jdk.internal.org.jline.utils.Status.<init>:(Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;)V
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            areturn
        end local 1 // boolean create
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    3     1  create  Z
    MethodParameters:
        Name  Flags
      create  

  public jdk.internal.org.jline.terminal.Terminal$SignalHandler handle(jdk.internal.org.jline.terminal.Terminal$Signal, jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$Signal;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        start local 2 // jdk.internal.org.jline.terminal.Terminal$SignalHandler handler
         0: .line 72
            aload 1 /* signal */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 73
            aload 2 /* handler */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 74
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.handlers:Ljava/util/Map;
            aload 1 /* signal */
            aload 2 /* handler */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.Terminal$SignalHandler
            areturn
        end local 2 // jdk.internal.org.jline.terminal.Terminal$SignalHandler handler
        end local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    3     1   signal  Ljdk/internal/org/jline/terminal/Terminal$Signal;
            0    3     2  handler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    MethodParameters:
         Name  Flags
      signal   
      handler  

  public void raise(jdk.internal.org.jline.terminal.Terminal$Signal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
         0: .line 78
            aload 1 /* signal */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 79
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.handlers:Ljava/util/Map;
            aload 1 /* signal */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.Terminal$SignalHandler
            astore 2 /* handler */
        start local 2 // jdk.internal.org.jline.terminal.Terminal$SignalHandler handler
         2: .line 80
            aload 2 /* handler */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            if_acmpeq 4
            aload 2 /* handler */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_IGN:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            if_acmpeq 4
         3: .line 81
            aload 2 /* handler */
            aload 1 /* signal */
            invokeinterface jdk.internal.org.jline.terminal.Terminal$SignalHandler.handle:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         4: .line 83
      StackMap locals: jdk.internal.org.jline.terminal.Terminal$SignalHandler
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            ifnull 6
            aload 1 /* signal */
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.WINCH:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            if_acmpne 6
         5: .line 84
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            invokevirtual jdk.internal.org.jline.utils.Status.resize:()V
         6: .line 86
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.internal.org.jline.terminal.Terminal$SignalHandler handler
        end local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    7     1   signal  Ljdk/internal/org/jline/terminal/Terminal$Signal;
            2    7     2  handler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    MethodParameters:
        Name  Flags
      signal  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 89
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            ifnull 3
         1: .line 90
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.status:Ljdk/internal/org/jline/utils/Status;
            aconst_null
            invokevirtual jdk.internal.org.jline.utils.Status.update:(Ljava/util/List;)V
         2: .line 91
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.flush:()V
         3: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
    Exceptions:
      throws java.io.IOException

  protected void echoSignal(jdk.internal.org.jline.terminal.Terminal$Signal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
         0: .line 96
            aconst_null
            astore 2 /* cc */
        start local 2 // jdk.internal.org.jline.terminal.Attributes$ControlChar cc
         1: .line 97
            invokestatic jdk.internal.org.jline.terminal.impl.AbstractTerminal.$SWITCH_TABLE$jdk$internal$org$jline$terminal$Terminal$Signal:()[I
            aload 1 /* signal */
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 4
                    3: 6
              default: 7
          }
         2: .line 99
      StackMap locals: jdk.internal.org.jline.terminal.Attributes$ControlChar
      StackMap stack:
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VINTR:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            astore 2 /* cc */
         3: .line 100
            goto 7
         4: .line 102
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VQUIT:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            astore 2 /* cc */
         5: .line 103
            goto 7
         6: .line 105
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VSUSP:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            astore 2 /* cc */
         7: .line 108
      StackMap locals:
      StackMap stack:
            aload 2 /* cc */
            ifnull 11
         8: .line 109
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            aload 2 /* cc */
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
            istore 3 /* vcc */
        start local 3 // int vcc
         9: .line 110
            iload 3 /* vcc */
            ifle 11
            iload 3 /* vcc */
            bipush 32
            if_icmpge 11
        10: .line 111
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.writer:()Ljava/io/PrintWriter;
            iconst_2
            newarray 5
            dup
            iconst_0
            bipush 94
            castore
            dup
            iconst_1
            iload 3 /* vcc */
            bipush 64
            iadd
            i2c
            castore
            iconst_0
            iconst_2
            invokevirtual java.io.PrintWriter.write:([CII)V
        end local 3 // int vcc
        11: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.internal.org.jline.terminal.Attributes$ControlChar cc
        end local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0   12     1  signal  Ljdk/internal/org/jline/terminal/Terminal$Signal;
            1   12     2      cc  Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            9   11     3     vcc  I
    MethodParameters:
        Name  Flags
      signal  

  public jdk.internal.org.jline.terminal.Attributes enterRawMode();
    descriptor: ()Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 117
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            astore 1 /* prvAttr */
        start local 1 // jdk.internal.org.jline.terminal.Attributes prvAttr
         1: .line 118
            new jdk.internal.org.jline.terminal.Attributes
            dup
            aload 1 /* prvAttr */
            invokespecial jdk.internal.org.jline.terminal.Attributes.<init>:(Ljdk/internal/org/jline/terminal/Attributes;)V
            astore 2 /* newAttr */
        start local 2 // jdk.internal.org.jline.terminal.Attributes newAttr
         2: .line 119
            aload 2 /* newAttr */
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ICANON:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.IEXTEN:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            iconst_0
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setLocalFlags:(Ljava/util/EnumSet;Z)V
         3: .line 120
            aload 2 /* newAttr */
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.IXON:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.ICRNL:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.INLCR:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            iconst_0
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setInputFlags:(Ljava/util/EnumSet;Z)V
         4: .line 121
            aload 2 /* newAttr */
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VMIN:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            iconst_0
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;I)V
         5: .line 122
            aload 2 /* newAttr */
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VTIME:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            iconst_1
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;I)V
         6: .line 123
            aload 0 /* this */
            aload 2 /* newAttr */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
         7: .line 124
            aload 1 /* prvAttr */
            areturn
        end local 2 // jdk.internal.org.jline.terminal.Attributes newAttr
        end local 1 // jdk.internal.org.jline.terminal.Attributes prvAttr
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            1    8     1  prvAttr  Ljdk/internal/org/jline/terminal/Attributes;
            2    8     2  newAttr  Ljdk/internal/org/jline/terminal/Attributes;

  public boolean echo();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 128
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;)Z
            ireturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public boolean echo(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // boolean echo
         0: .line 132
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            astore 2 /* attr */
        start local 2 // jdk.internal.org.jline.terminal.Attributes attr
         1: .line 133
            aload 2 /* attr */
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;)Z
            istore 3 /* prev */
        start local 3 // boolean prev
         2: .line 134
            iload 3 /* prev */
            iload 1 /* echo */
            if_icmpeq 5
         3: .line 135
            aload 2 /* attr */
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            iload 1 /* echo */
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;Z)V
         4: .line 136
            aload 0 /* this */
            aload 2 /* attr */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
         5: .line 138
      StackMap locals: jdk.internal.org.jline.terminal.Attributes int
      StackMap stack:
            iload 3 /* prev */
            ireturn
        end local 3 // boolean prev
        end local 2 // jdk.internal.org.jline.terminal.Attributes attr
        end local 1 // boolean echo
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    6     1  echo  Z
            1    6     2  attr  Ljdk/internal/org/jline/terminal/Attributes;
            2    6     3  prev  Z
    MethodParameters:
      Name  Flags
      echo  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 142
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.name:Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 146
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public java.lang.String getKind();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 150
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public java.nio.charset.Charset encoding();
    descriptor: ()Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 155
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.encoding:Ljava/nio/charset/Charset;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 159
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         1: .line 160
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public boolean puts(jdk.internal.org.jline.utils.InfoCmp$Capability, java.lang.Object[]);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
        start local 2 // java.lang.Object[] params
         0: .line 163
            aload 0 /* this */
            aload 1 /* capability */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 164
            aload 3 /* str */
            ifnonnull 3
         2: .line 165
            iconst_0
            ireturn
         3: .line 167
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.writer:()Ljava/io/PrintWriter;
            aload 3 /* str */
            aload 2 /* params */
            invokestatic jdk.internal.org.jline.utils.Curses.tputs:(Ljava/lang/Appendable;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 168
            iconst_1
            ireturn
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object[] params
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    5     1  capability  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            0    5     2      params  [Ljava/lang/Object;
            1    5     3         str  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      capability  
      params      

  public boolean getBooleanCapability(jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
         0: .line 172
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.bools:Ljava/util/Set;
            aload 1 /* capability */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  capability  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
    MethodParameters:
            Name  Flags
      capability  

  public java.lang.Integer getNumericCapability(jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
         0: .line 176
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.ints:Ljava/util/Map;
            aload 1 /* capability */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            areturn
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  capability  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
    MethodParameters:
            Name  Flags
      capability  

  public java.lang.String getStringCapability(jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
         0: .line 180
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.strings:Ljava/util/Map;
            aload 1 /* capability */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability capability
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  capability  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
    MethodParameters:
            Name  Flags
      capability  

  protected void parseInfoCmp();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 184
            aconst_null
            astore 1 /* capabilities */
        start local 1 // java.lang.String capabilities
         1: .line 185
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            ifnull 7
         2: .line 187
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.InfoCmp.getInfoCmp:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* capabilities */
         3: .line 188
            goto 7
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal java.lang.String
      StackMap stack: java.lang.Exception
         4: astore 2 /* e */
        start local 2 // java.lang.Exception e
         5: iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 189
            new java.lang.StringBuilder
            dup
            ldc "Unable to retrieve infocmp for type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* e */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
        end local 2 // java.lang.Exception e
         7: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* capabilities */
            ifnonnull 9
         8: .line 193
            ldc "ansi"
            invokestatic jdk.internal.org.jline.utils.InfoCmp.getLoadedInfoCmp:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* capabilities */
         9: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* capabilities */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.bools:Ljava/util/Set;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.ints:Ljava/util/Map;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.strings:Ljava/util/Map;
            invokestatic jdk.internal.org.jline.utils.InfoCmp.parseInfoCmp:(Ljava/lang/String;Ljava/util/Set;Ljava/util/Map;Ljava/util/Map;)V
        10: .line 196
            return
        end local 1 // java.lang.String capabilities
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            1   11     1  capabilities  Ljava/lang/String;
            5    7     2             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception

  public jdk.internal.org.jline.terminal.Cursor getCursorPosition(java.util.function.IntConsumer);
    descriptor: (Ljava/util/function/IntConsumer;)Ljdk/internal/org/jline/terminal/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // java.util.function.IntConsumer discarded
         0: .line 200
            aconst_null
            areturn
        end local 1 // java.util.function.IntConsumer discarded
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  discarded  Ljava/util/function/IntConsumer;
    MethodParameters:
           Name  Flags
      discarded  

  public boolean hasMouseSupport();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 209
            aload 0 /* this */
            invokestatic jdk.internal.org.jline.terminal.impl.MouseSupport.hasMouseSupport:(Ljdk/internal/org/jline/terminal/Terminal;)Z
            ireturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public boolean trackMouse(jdk.internal.org.jline.terminal.Terminal$MouseTracking);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$MouseTracking;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$MouseTracking tracking
         0: .line 214
            aload 0 /* this */
            aload 1 /* tracking */
            invokestatic jdk.internal.org.jline.terminal.impl.MouseSupport.trackMouse:(Ljdk/internal/org/jline/terminal/Terminal;Ljdk/internal/org/jline/terminal/Terminal$MouseTracking;)Z
            ireturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal$MouseTracking tracking
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  tracking  Ljdk/internal/org/jline/terminal/Terminal$MouseTracking;
    MethodParameters:
          Name  Flags
      tracking  

  public jdk.internal.org.jline.terminal.MouseEvent readMouseEvent();
    descriptor: ()Ljdk/internal/org/jline/terminal/MouseEvent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 219
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.lastMouseEvent:Ljdk/internal/org/jline/terminal/MouseEvent;
            invokestatic jdk.internal.org.jline.terminal.impl.MouseSupport.readMouse:(Ljdk/internal/org/jline/terminal/Terminal;Ljdk/internal/org/jline/terminal/MouseEvent;)Ljdk/internal/org/jline/terminal/MouseEvent;
            dup_x1
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.lastMouseEvent:Ljdk/internal/org/jline/terminal/MouseEvent;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public jdk.internal.org.jline.terminal.MouseEvent readMouseEvent(java.util.function.IntSupplier);
    descriptor: (Ljava/util/function/IntSupplier;)Ljdk/internal/org/jline/terminal/MouseEvent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // java.util.function.IntSupplier reader
         0: .line 224
            aload 0 /* this */
            aload 1 /* reader */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.lastMouseEvent:Ljdk/internal/org/jline/terminal/MouseEvent;
            invokestatic jdk.internal.org.jline.terminal.impl.MouseSupport.readMouse:(Ljava/util/function/IntSupplier;Ljdk/internal/org/jline/terminal/MouseEvent;)Ljdk/internal/org/jline/terminal/MouseEvent;
            dup_x1
            putfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.lastMouseEvent:Ljdk/internal/org/jline/terminal/MouseEvent;
            areturn
        end local 1 // java.util.function.IntSupplier reader
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  reader  Ljava/util/function/IntSupplier;
    MethodParameters:
        Name  Flags
      reader  

  public boolean hasFocusSupport();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 229
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.AbstractTerminal.type:Ljava/lang/String;
            ldc "xterm"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public boolean trackFocus(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // boolean tracking
         0: .line 234
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.hasFocusSupport:()Z
            ifeq 6
         1: .line 235
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.writer:()Ljava/io/PrintWriter;
            iload 1 /* tracking */
            ifeq 2
            ldc "\u001B[?1004h"
            goto 3
      StackMap locals:
      StackMap stack: java.io.PrintWriter
         2: ldc "\u001B[?1004l"
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal int
      StackMap stack: java.io.PrintWriter java.lang.String
         3: invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
         4: .line 236
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         5: .line 237
            iconst_1
            ireturn
         6: .line 239
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean tracking
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    7     1  tracking  Z
    MethodParameters:
          Name  Flags
      tracking  

  protected void checkInterrupted();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 244
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 2
         1: .line 245
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
         2: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
    Exceptions:
      throws java.io.InterruptedIOException

  public boolean canPauseResume();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 251
            iconst_0
            ireturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public void pause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 256
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public void pause(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
        start local 1 // boolean wait
         0: .line 260
            return
        end local 1 // boolean wait
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
            0    1     1  wait  Z
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      wait  

  public void resume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 264
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  public boolean paused();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
         0: .line 268
            iconst_0
            ireturn
        end local 0 // jdk.internal.org.jline.terminal.impl.AbstractTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;

  static int[] $SWITCH_TABLE$jdk$internal$org$jline$terminal$Terminal$Signal();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 36
            getstatic jdk.internal.org.jline.terminal.impl.AbstractTerminal.$SWITCH_TABLE$jdk$internal$org$jline$terminal$Terminal$Signal:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.internal.org.jline.terminal.Terminal$Signal.values:()[Ljdk/internal/org/jline/terminal/Terminal$Signal;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.CONT:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.INFO:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.INT:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.QUIT:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.TSTP:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.WINCH:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.Terminal$Signal.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic jdk.internal.org.jline.terminal.impl.AbstractTerminal.$SWITCH_TABLE$jdk$internal$org$jline$terminal$Terminal$Signal:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractTerminal.java"
InnerClasses:
  public final ControlChar = jdk.internal.org.jline.terminal.Attributes$ControlChar of jdk.internal.org.jline.terminal.Attributes
  public final InputFlag = jdk.internal.org.jline.terminal.Attributes$InputFlag of jdk.internal.org.jline.terminal.Attributes
  public final LocalFlag = jdk.internal.org.jline.terminal.Attributes$LocalFlag of jdk.internal.org.jline.terminal.Attributes
  public final Button = jdk.internal.org.jline.terminal.MouseEvent$Button of jdk.internal.org.jline.terminal.MouseEvent
  public final Modifier = jdk.internal.org.jline.terminal.MouseEvent$Modifier of jdk.internal.org.jline.terminal.MouseEvent
  public final Type = jdk.internal.org.jline.terminal.MouseEvent$Type of jdk.internal.org.jline.terminal.MouseEvent
  public final MouseTracking = jdk.internal.org.jline.terminal.Terminal$MouseTracking of jdk.internal.org.jline.terminal.Terminal
  public final Signal = jdk.internal.org.jline.terminal.Terminal$Signal of jdk.internal.org.jline.terminal.Terminal
  public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal
  public final Capability = jdk.internal.org.jline.utils.InfoCmp$Capability of jdk.internal.org.jline.utils.InfoCmp