public final class jdk.internal.org.jline.terminal.TerminalBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.org.jline.terminal.TerminalBuilder
  super_class: java.lang.Object
{
  public static final java.lang.String PROP_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.encoding"

  public static final java.lang.String PROP_CODEPAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.codepage"

  public static final java.lang.String PROP_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.type"

  public static final java.lang.String PROP_JNA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jna"

  public static final java.lang.String PROP_JANSI;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jansi"

  public static final java.lang.String PROP_EXEC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.exec"

  public static final java.lang.String PROP_DUMB;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb"

  public static final java.lang.String PROP_DUMB_COLOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb.color"

  public static final java.lang.String PROP_NON_BLOCKING_READS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.pty.nonBlockingReads"

  public static final java.lang.String PROP_COLOR_DISTANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.colorDistance"

  public static final java.lang.String PROP_DISABLE_ALTERNATE_CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.disableAlternateCharset"

  private static final java.util.concurrent.atomic.AtomicReference<jdk.internal.org.jline.terminal.Terminal> SYSTEM_TERMINAL;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/internal/org/jline/terminal/Terminal;>;

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.charset.Charset encoding;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.Boolean system;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean jna;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean jansi;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean exec;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean dumb;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler;
    descriptor: Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.function.Function<java.io.InputStream, java.io.InputStream> inputStreamWrapper;
    descriptor: Ljava/util/function/Function;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 90
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putstatic jdk.internal.org.jline.terminal.TerminalBuilder.SYSTEM_TERMINAL:Ljava/util/concurrent/atomic/AtomicReference;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.org.jline.terminal.Terminal terminal();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 78
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.builder:()Ljdk/internal/org/jline/terminal/TerminalBuilder;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.build:()Ljdk/internal/org/jline/terminal/Terminal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public static jdk.internal.org.jline.terminal.TerminalBuilder builder();
    descriptor: ()Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 87
            new jdk.internal.org.jline.terminal.TerminalBuilder
            dup
            invokespecial jdk.internal.org.jline.terminal.TerminalBuilder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 105
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         2: .line 106
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         3: .line 107
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         4: .line 108
            aload 0 /* this */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$0(Ljava/io/InputStream;)Ljava/io/InputStream; (6)
                  (Ljava/io/InputStream;)Ljava/io/InputStream;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         5: .line 111
            return
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;

  public jdk.internal.org.jline.terminal.TerminalBuilder name(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String name
         0: .line 114
            aload 0 /* this */
            aload 1 /* name */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
         1: .line 115
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public jdk.internal.org.jline.terminal.TerminalBuilder streams(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.OutputStream out
         0: .line 119
            aload 0 /* this */
            aload 1 /* in */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
         1: .line 120
            aload 0 /* this */
            aload 2 /* out */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
         2: .line 121
            aload 0 /* this */
            areturn
        end local 2 // java.io.OutputStream out
        end local 1 // java.io.InputStream in
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1    in  Ljava/io/InputStream;
            0    3     2   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      in    
      out   

  public jdk.internal.org.jline.terminal.TerminalBuilder system(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean system
         0: .line 125
            aload 0 /* this */
            iload 1 /* system */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
         1: .line 126
            aload 0 /* this */
            areturn
        end local 1 // boolean system
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  system  Z
    MethodParameters:
        Name  Flags
      system  

  public jdk.internal.org.jline.terminal.TerminalBuilder jna(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jna
         0: .line 130
            aload 0 /* this */
            iload 1 /* jna */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
         1: .line 131
            aload 0 /* this */
            areturn
        end local 1 // boolean jna
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1   jna  Z
    MethodParameters:
      Name  Flags
      jna   

  public jdk.internal.org.jline.terminal.TerminalBuilder jansi(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jansi
         0: .line 135
            aload 0 /* this */
            iload 1 /* jansi */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
         1: .line 136
            aload 0 /* this */
            areturn
        end local 1 // boolean jansi
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  jansi  Z
    MethodParameters:
       Name  Flags
      jansi  

  public jdk.internal.org.jline.terminal.TerminalBuilder exec(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean exec
         0: .line 140
            aload 0 /* this */
            iload 1 /* exec */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
         1: .line 141
            aload 0 /* this */
            areturn
        end local 1 // boolean exec
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  exec  Z
    MethodParameters:
      Name  Flags
      exec  

  public jdk.internal.org.jline.terminal.TerminalBuilder dumb(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean dumb
         0: .line 145
            aload 0 /* this */
            iload 1 /* dumb */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
         1: .line 146
            aload 0 /* this */
            areturn
        end local 1 // boolean dumb
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  dumb  Z
    MethodParameters:
      Name  Flags
      dumb  

  public jdk.internal.org.jline.terminal.TerminalBuilder type(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String type
         0: .line 150
            aload 0 /* this */
            aload 1 /* type */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
         1: .line 151
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String type
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String encoding
         0: .line 170
            aload 0 /* this */
            aload 1 /* encoding */
            ifnull 1
            aload 1 /* encoding */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            goto 2
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder
         1: aconst_null
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder java.nio.charset.Charset
         2: invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.encoding:(Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
            areturn
        end local 1 // java.lang.String encoding
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1  encoding  Ljava/lang/String;
    Exceptions:
      throws java.nio.charset.UnsupportedCharsetException
    MethodParameters:
          Name  Flags
      encoding  

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

  public jdk.internal.org.jline.terminal.TerminalBuilder codepage(int);
    descriptor: (I)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // int codepage
         0: .line 201
            aload 0 /* this */
            iload 1 /* codepage */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
         1: .line 202
            aload 0 /* this */
            areturn
        end local 1 // int codepage
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  codepage  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      codepage  

  public jdk.internal.org.jline.terminal.TerminalBuilder attributes(jdk.internal.org.jline.terminal.Attributes);
    descriptor: (Ljdk/internal/org/jline/terminal/Attributes;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Attributes attributes
         0: .line 218
            aload 0 /* this */
            aload 1 /* attributes */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
         1: .line 219
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Attributes attributes
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  attributes  Ljdk/internal/org/jline/terminal/Attributes;
    MethodParameters:
            Name  Flags
      attributes  

  public jdk.internal.org.jline.terminal.TerminalBuilder size(jdk.internal.org.jline.terminal.Size);
    descriptor: (Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Size size
         0: .line 235
            aload 0 /* this */
            aload 1 /* size */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
         1: .line 236
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Size size
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  size  Ljdk/internal/org/jline/terminal/Size;
    MethodParameters:
      Name  Flags
      size  

  public jdk.internal.org.jline.terminal.TerminalBuilder nativeSignals(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean nativeSignals
         0: .line 240
            aload 0 /* this */
            iload 1 /* nativeSignals */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         1: .line 241
            aload 0 /* this */
            areturn
        end local 1 // boolean nativeSignals
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  nativeSignals  Z
    MethodParameters:
               Name  Flags
      nativeSignals  

  public jdk.internal.org.jline.terminal.TerminalBuilder signalHandler(jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
         0: .line 245
            aload 0 /* this */
            aload 1 /* signalHandler */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         1: .line 246
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  signalHandler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    MethodParameters:
               Name  Flags
      signalHandler  

  public jdk.internal.org.jline.terminal.TerminalBuilder paused(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean paused
         0: .line 260
            aload 0 /* this */
            iload 1 /* paused */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         1: .line 261
            aload 0 /* this */
            areturn
        end local 1 // boolean paused
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  paused  Z
    MethodParameters:
        Name  Flags
      paused  

  public jdk.internal.org.jline.terminal.TerminalBuilder inputStreamWrapper(java.util.function.Function<java.io.InputStream, java.io.InputStream>);
    descriptor: (Ljava/util/function/Function;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.util.function.Function wrapper
         0: .line 265
            aload 0 /* this */
            aload 1 /* wrapper */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         1: .line 266
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Function wrapper
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  wrapper  Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;
    Signature: (Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    MethodParameters:
         Name  Flags
      wrapper  

  public jdk.internal.org.jline.terminal.Terminal build();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 270
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.doBuild:()Ljdk/internal/org/jline/terminal/Terminal;
            astore 1 /* terminal */
        start local 1 // jdk.internal.org.jline.terminal.Terminal terminal
         1: .line 271
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$1(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         2: .line 272
            aload 1 /* terminal */
            instanceof jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            ifeq 4
         3: .line 273
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$2(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         4: .line 275
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 1 /* terminal */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1    5     1  terminal  Ljdk/internal/org/jline/terminal/Terminal;
    Exceptions:
      throws java.io.IOException

  private jdk.internal.org.jline.terminal.Terminal doBuild();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=14, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 279
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 280
            aload 1 /* name */
            ifnonnull 3
         2: .line 281
            ldc "JLine terminal"
            astore 1 /* name */
         3: .line 283
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        start local 2 // java.nio.charset.Charset encoding
         4: .line 284
            aload 2 /* encoding */
            ifnonnull 8
         5: .line 285
            ldc "org.jline.terminal.encoding"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* charsetName */
        start local 3 // java.lang.String charsetName
         6: .line 286
            aload 3 /* charsetName */
            ifnull 8
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 287
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        end local 3 // java.lang.String charsetName
         8: .line 290
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
            istore 3 /* codepage */
        start local 3 // int codepage
         9: .line 291
            iload 3 /* codepage */
            ifgt 13
        10: .line 292
            ldc "org.jline.terminal.codepage"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
        11: .line 293
            aload 4 /* str */
            ifnull 13
        12: .line 294
            aload 4 /* str */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* codepage */
        end local 4 // java.lang.String str
        13: .line 297
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            astore 4 /* type */
        start local 4 // java.lang.String type
        14: .line 298
            aload 4 /* type */
            ifnonnull 16
        15: .line 299
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        16: .line 301
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* type */
            ifnonnull 18
        17: .line 302
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        18: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
            astore 5 /* jna */
        start local 5 // java.lang.Boolean jna
        19: .line 305
            aload 5 /* jna */
            ifnonnull 21
        20: .line 306
            ldc "org.jline.terminal.jna"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 5 /* jna */
        21: .line 308
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
            astore 6 /* jansi */
        start local 6 // java.lang.Boolean jansi
        22: .line 309
            aload 6 /* jansi */
            ifnonnull 24
        23: .line 310
            ldc "org.jline.terminal.jansi"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 6 /* jansi */
        24: .line 312
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
            astore 7 /* exec */
        start local 7 // java.lang.Boolean exec
        25: .line 313
            aload 7 /* exec */
            ifnonnull 27
        26: .line 314
            ldc "org.jline.terminal.exec"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 7 /* exec */
        27: .line 316
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
            astore 8 /* dumb */
        start local 8 // java.lang.Boolean dumb
        28: .line 317
            aload 8 /* dumb */
            ifnonnull 30
        29: .line 318
            ldc "org.jline.terminal.dumb"
            aconst_null
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 8 /* dumb */
        30: .line 320
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnull 31
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 32
      StackMap locals:
      StackMap stack:
        31: aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnonnull 124
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            ifnonnull 124
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            ifnonnull 124
        32: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            ifnonnull 33
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            ifnull 35
      StackMap locals:
      StackMap stack:
        33: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 322
            ldc "Attributes and size fields are ignored when creating a system terminal"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
        35: .line 324
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Unable to create a system terminal"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            astore 9 /* exception */
        start local 9 // java.lang.IllegalStateException exception
        36: .line 325
            aconst_null
            astore 10 /* terminal */
        start local 10 // jdk.internal.org.jline.terminal.Terminal terminal
        37: .line 326
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 66
        38: .line 327
            ldc "cygwin"
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 11 /* cygwinTerm */
        start local 11 // boolean cygwinTerm
        39: .line 328
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CONEMU:Z
            istore 12 /* ansiPassThrough */
        start local 12 // boolean ansiPassThrough
        40: .line 332
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
            ifne 41
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
            ifeq 51
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int int
      StackMap stack:
        41: aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 51
            iload 11 /* cygwinTerm */
            ifne 51
        42: .line 334
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 13 /* pty */
        start local 13 // jdk.internal.org.jline.terminal.spi.Pty pty
        43: .line 337
            ldc "xterm"
            aload 4 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            ifnonnull 45
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 45
        44: .line 338
            ldc "xterm-256color"
            astore 4 /* type */
        45: .line 340
      StackMap locals: jdk.internal.org.jline.terminal.spi.Pty
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 13 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 13 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 13 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            astore 10 /* terminal */
        end local 13 // jdk.internal.org.jline.terminal.spi.Pty pty
        46: .line 341
            goto 51
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int int
      StackMap stack: java.io.IOException
        47: astore 13 /* e */
        start local 13 // java.io.IOException e
        48: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        49: .line 343
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 13 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 13 /* e */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        50: .line 344
            aload 9 /* exception */
            aload 13 /* e */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 13 // java.io.IOException e
        51: .line 347
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 58
        52: .line 349
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 12 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjava/util/function/Function;)Ljdk/internal/org/jline/terminal/Terminal;
            astore 10 /* terminal */
        53: .line 350
            goto 58
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: astore 13 /* t */
        start local 13 // java.lang.Throwable t
        55: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        56: .line 351
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 13 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 13 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        57: .line 352
            aload 9 /* exception */
            aload 13 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 13 // java.lang.Throwable t
        58: .line 355
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 90
        59: .line 357
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 12 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)Ljdk/internal/org/jline/terminal/Terminal;
            astore 10 /* terminal */
        60: .line 358
            goto 90
      StackMap locals:
      StackMap stack: java.lang.Throwable
        61: astore 13 /* t */
        start local 13 // java.lang.Throwable t
        62: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        63: .line 359
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 13 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 13 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        64: .line 360
            aload 9 /* exception */
            aload 13 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 13 // java.lang.Throwable t
        end local 12 // boolean ansiPassThrough
        end local 11 // boolean cygwinTerm
        65: .line 363
            goto 90
        66: .line 364
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 74
        67: .line 366
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 11 /* pty */
        start local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        68: .line 367
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 11 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            astore 10 /* terminal */
        end local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        69: .line 368
            goto 74
      StackMap locals:
      StackMap stack: java.lang.Throwable
        70: astore 11 /* t */
        start local 11 // java.lang.Throwable t
        71: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        72: .line 370
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 11 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 11 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        73: .line 371
            aload 9 /* exception */
            aload 11 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 11 // java.lang.Throwable t
        74: .line 374
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 82
        75: .line 376
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 11 /* pty */
        start local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        76: .line 377
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 11 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            astore 10 /* terminal */
        end local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        77: .line 378
            goto 82
      StackMap locals:
      StackMap stack: java.lang.Throwable
        78: astore 11 /* t */
        start local 11 // java.lang.Throwable t
        79: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        80: .line 379
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 11 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 11 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        81: .line 380
            aload 9 /* exception */
            aload 11 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 11 // java.lang.Throwable t
        82: .line 383
      StackMap locals:
      StackMap stack:
            aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 90
        83: .line 385
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 11 /* pty */
        start local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        84: .line 386
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 11 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 11 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            astore 10 /* terminal */
        end local 11 // jdk.internal.org.jline.terminal.spi.Pty pty
        85: .line 387
            goto 90
      StackMap locals:
      StackMap stack: java.lang.Throwable
        86: astore 11 /* t */
        start local 11 // java.lang.Throwable t
        87: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        88: .line 389
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 11 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 11 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        89: .line 390
            aload 9 /* exception */
            aload 11 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 11 // java.lang.Throwable t
        90: .line 394
      StackMap locals:
      StackMap stack:
            aload 10 /* terminal */
            instanceof jdk.internal.org.jline.terminal.impl.AbstractTerminal
            ifeq 98
        91: .line 395
            aload 10 /* terminal */
            checkcast jdk.internal.org.jline.terminal.impl.AbstractTerminal
            astore 11 /* t */
        start local 11 // jdk.internal.org.jline.terminal.impl.AbstractTerminal t
        92: .line 396
            getstatic jdk.internal.org.jline.terminal.TerminalBuilder.SYSTEM_TERMINAL:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 11 /* t */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 95
        93: .line 397
            aload 11 /* t */
            new jdk.internal.org.jline.terminal.TerminalBuilder$1
            dup
            aload 0 /* this */
            aload 11 /* t */
            invokespecial jdk.internal.org.jline.terminal.TerminalBuilder$1.<init>:(Ljdk/internal/org/jline/terminal/TerminalBuilder;Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;)V
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.setOnClose:(Ljava/lang/Runnable;)V
        94: .line 403
            goto 98
        95: .line 404
      StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal
      StackMap stack:
            aload 9 /* exception */
            new java.lang.IllegalStateException
            dup
            ldc "A system terminal is already running. Make sure to use the created system Terminal on the LineReaderBuilder if you're using one or that previously created system Terminals have been correctly closed."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        96: .line 407
            aload 10 /* terminal */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.close:()V
        97: .line 408
            aconst_null
            astore 10 /* terminal */
        end local 11 // jdk.internal.org.jline.terminal.impl.AbstractTerminal t
        98: .line 411
      StackMap locals:
      StackMap stack:
            aload 10 /* terminal */
            ifnonnull 121
            aload 8 /* dumb */
            ifnull 99
            aload 8 /* dumb */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 121
        99: .line 413
      StackMap locals:
      StackMap stack:
            ldc "org.jline.terminal.dumb.color"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 11 /* color */
        start local 11 // boolean color
       100: .line 415
            iload 11 /* color */
            ifne 104
       101: .line 416
            ldc "INSIDE_EMACS"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 102
            iconst_1
            goto 103
      StackMap locals: int
      StackMap stack:
       102: iconst_0
      StackMap locals:
      StackMap stack: int
       103: istore 11 /* color */
       104: .line 419
      StackMap locals:
      StackMap stack:
            iload 11 /* color */
            ifne 109
       105: .line 420
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getParentProcessCommand:()Ljava/lang/String;
            astore 12 /* command */
        start local 12 // java.lang.String command
       106: .line 421
            aload 12 /* command */
            ifnull 107
            aload 12 /* command */
            ldc "idea"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 107
            iconst_1
            goto 108
      StackMap locals: java.lang.String
      StackMap stack:
       107: iconst_0
      StackMap locals:
      StackMap stack: int
       108: istore 11 /* color */
        end local 12 // java.lang.String command
       109: .line 423
      StackMap locals:
      StackMap stack:
            iload 11 /* color */
            ifne 115
            aload 8 /* dumb */
            ifnonnull 115
       110: .line 424
            invokestatic jdk.internal.org.jline.utils.Log.isDebugEnabled:()Z
            ifeq 113
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       111: .line 425
            ldc "Creating a dumb terminal"
            aastore
            dup
            iconst_1
            aload 9 /* exception */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       112: .line 426
            goto 115
      StackMap locals:
      StackMap stack:
       113: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       114: .line 427
            ldc "Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       115: .line 430
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.DumbTerminal
            dup
            aload 1 /* name */
            iload 11 /* color */
            ifeq 116
            ldc "dumb-color"
            goto 117
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int
      StackMap stack: new 115 new 115 java.lang.String
       116: ldc "dumb"
       117: .line 431
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int
      StackMap stack: new 115 new 115 java.lang.String java.lang.String
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
       118: .line 432
            new java.io.FileOutputStream
            dup
            getstatic java.io.FileDescriptor.out:Ljava/io/FileDescriptor;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
       119: .line 433
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
       120: .line 430
            invokespecial jdk.internal.org.jline.terminal.impl.DumbTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            astore 10 /* terminal */
        end local 11 // boolean color
       121: .line 435
      StackMap locals:
      StackMap stack:
            aload 10 /* terminal */
            ifnonnull 123
       122: .line 436
            aload 9 /* exception */
            athrow
       123: .line 438
      StackMap locals:
      StackMap stack:
            aload 10 /* terminal */
            areturn
        end local 10 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 9 // java.lang.IllegalStateException exception
       124: .line 440
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 131
       125: .line 442
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       126: .line 443
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       127: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       128: .line 444
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       129: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       130: .line 445
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       131: .line 448
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 138
       132: .line 450
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       133: .line 451
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       134: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       135: .line 452
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       136: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       137: .line 453
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       138: .line 456
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.ExternalTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokespecial jdk.internal.org.jline.terminal.impl.ExternalTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)V
            areturn
        end local 8 // java.lang.Boolean dumb
        end local 7 // java.lang.Boolean exec
        end local 6 // java.lang.Boolean jansi
        end local 5 // java.lang.Boolean jna
        end local 4 // java.lang.String type
        end local 3 // int codepage
        end local 2 // java.nio.charset.Charset encoding
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  139     0             this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1  139     1             name  Ljava/lang/String;
            4  139     2         encoding  Ljava/nio/charset/Charset;
            6    8     3      charsetName  Ljava/lang/String;
            9  139     3         codepage  I
           11   13     4              str  Ljava/lang/String;
           14  139     4             type  Ljava/lang/String;
           19  139     5              jna  Ljava/lang/Boolean;
           22  139     6            jansi  Ljava/lang/Boolean;
           25  139     7             exec  Ljava/lang/Boolean;
           28  139     8             dumb  Ljava/lang/Boolean;
           36  124     9        exception  Ljava/lang/IllegalStateException;
           37  124    10         terminal  Ljdk/internal/org/jline/terminal/Terminal;
           39   65    11       cygwinTerm  Z
           40   65    12  ansiPassThrough  Z
           43   46    13              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           48   51    13                e  Ljava/io/IOException;
           55   58    13                t  Ljava/lang/Throwable;
           62   65    13                t  Ljava/lang/Throwable;
           68   69    11              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           71   74    11                t  Ljava/lang/Throwable;
           76   77    11              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           79   82    11                t  Ljava/lang/Throwable;
           84   85    11              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           87   90    11                t  Ljava/lang/Throwable;
           92   98    11                t  Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
          100  121    11            color  Z
          106  109    12          command  Ljava/lang/String;
          126  128     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          129  131     9                t  Ljava/lang/Throwable;
          133  135     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          136  138     9                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          42    46      47  Class java.io.IOException
          52    53      54  Class java.lang.Throwable
          59    60      61  Class java.lang.Throwable
          67    69      70  Class java.lang.Throwable
          75    77      78  Class java.lang.Throwable
          83    85      86  Class java.lang.Throwable
         125   127     128  Class java.lang.Throwable
         132   134     135  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  private static java.lang.String getParentProcessCommand();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 462
            ldc "java.lang.ProcessHandle"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* phClass */
        start local 0 // java.lang.Class phClass
         1: .line 463
            aload 0 /* phClass */
            ldc "current"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* current */
        start local 1 // java.lang.Object current
         2: .line 464
            aload 0 /* phClass */
            ldc "parent"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 1 /* current */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* parent */
        start local 2 // java.lang.Object parent
         3: .line 465
            aload 0 /* phClass */
            ldc "info"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* infoMethod */
        start local 3 // java.lang.reflect.Method infoMethod
         4: .line 466
            aload 3 /* infoMethod */
            aload 2 /* parent */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* info */
        start local 4 // java.lang.Object info
         5: .line 467
            aload 3 /* infoMethod */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            ldc "command"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 4 /* info */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* command */
        start local 5 // java.lang.Object command
         6: .line 468
            aload 5 /* command */
            checkcast java.lang.String
         7: areturn
        end local 5 // java.lang.Object command
        end local 4 // java.lang.Object info
        end local 3 // java.lang.reflect.Method infoMethod
        end local 2 // java.lang.Object parent
        end local 1 // java.lang.Object current
        end local 0 // java.lang.Class phClass
         8: .line 469
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         9: .line 470
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    8     0     phClass  Ljava/lang/Class<*>;
            2    8     1     current  Ljava/lang/Object;
            3    8     2      parent  Ljava/lang/Object;
            4    8     3  infoMethod  Ljava/lang/reflect/Method;
            5    8     4        info  Ljava/lang/Object;
            6    8     5     command  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Throwable

  private static java.lang.Boolean getBoolean(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Boolean def
         0: .line 476
            aload 0 /* name */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 477
            aload 2 /* str */
            ifnull 5
         2: .line 478
            aload 2 /* str */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         3: areturn
        end local 2 // java.lang.String str
         4: .line 480
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         5: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* def */
            areturn
        end local 1 // java.lang.Boolean def
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            0    6     1   def  Ljava/lang/Boolean;
            1    4     2   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
           0     3       4  Class java.lang.NullPointerException
    MethodParameters:
      Name  Flags
      name  
      def   

  private <S> S load(java.lang.Class<S>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.Class clazz
         0: .line 486
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    1     1  clazz  Ljava/lang/Class<TS;>;
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.io.InputStream lambda$0(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.InputStream in
         0: .line 108
            aload 0 /* in */
            areturn
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    in  Ljava/io/InputStream;

  private static java.lang.String lambda$1(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 271
            new java.lang.StringBuilder
            dup
            ldc "Using terminal "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$2(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 273
            new java.lang.StringBuilder
            dup
            ldc "Using pty "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            checkcast jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal.getPty:()Ljdk/internal/org/jline/terminal/spi/Pty;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TerminalBuilder.java"
NestMembers:
  jdk.internal.org.jline.terminal.TerminalBuilder$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal
  jdk.internal.org.jline.terminal.TerminalBuilder$1