public final class jdk.nashorn.internal.runtime.ScriptingFunctions
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.ScriptingFunctions
  super_class: java.lang.Object
{
  public static final java.lang.invoke.MethodHandle READLINE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle READFULLY;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle EXEC;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String EXEC_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$EXEC"

  public static final java.lang.String OUT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$OUT"

  public static final java.lang.String ERR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$ERR"

  public static final java.lang.String EXIT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$EXIT"

  public static final java.lang.String ENV_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$ENV"

  public static final java.lang.String PWD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PWD"

  private static java.util.function.Function<java.lang.String, java.lang.String> readLineHelper;
    descriptor: Ljava/util/function/Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 53
            ldc Ljdk/nashorn/internal/runtime/ScriptingFunctions;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.internal.runtime.ScriptingFunctions.$assertionsDisabled:Z
         3: .line 56
            ldc "readLine"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptingFunctions.findOwnMH:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptingFunctions.READLINE:Ljava/lang/invoke/MethodHandle;
         4: .line 59
            ldc "readFully"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptingFunctions.findOwnMH:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptingFunctions.READFULLY:Ljava/lang/invoke/MethodHandle;
         5: .line 62
            ldc "exec"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ScriptingFunctions.findOwnMH:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.ScriptingFunctions.EXEC:Ljava/lang/invoke/MethodHandle;
         6: .line 223
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptingFunctions this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptingFunctions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/ScriptingFunctions;

  public static java.lang.Object readLine(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object prompt
         0: .line 97
            aload 1 /* prompt */
            invokestatic jdk.nashorn.internal.runtime.ScriptingFunctions.readLine:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object prompt
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  prompt  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      self    final
      prompt  final

  public static java.lang.Object readFully(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object file
         0: .line 111
            aconst_null
            astore 2 /* f */
        start local 2 // java.io.File f
         1: .line 113
            aload 1 /* file */
            instanceof java.io.File
            ifeq 4
         2: .line 114
            aload 1 /* file */
            checkcast java.io.File
            astore 2 /* f */
         3: .line 115
            goto 6
      StackMap locals: java.io.File
      StackMap stack:
         4: aload 1 /* file */
            invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 116
            new java.io.File
            dup
            aload 1 /* file */
            checkcast java.lang.CharSequence
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* f */
         6: .line 119
      StackMap locals:
      StackMap stack:
            aload 2 /* f */
            ifnull 7
            aload 2 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifne 8
         7: .line 120
      StackMap locals:
      StackMap stack:
            ldc "not.a.file"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* file */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         8: .line 123
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 2 /* f */
            invokestatic jdk.nashorn.internal.runtime.Source.readFully:(Ljava/io/File;)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // java.io.File f
        end local 1 // java.lang.Object file
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  self  Ljava/lang/Object;
            0    9     1  file  Ljava/lang/Object;
            1    9     2     f  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      self  final
      file  final

  public static java.lang.Object exec(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=20, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object[] args
         0: .line 139
            aload 1 /* args */
            arraylength
            ifle 1
            aload 1 /* args */
            iconst_0
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
      StackMap locals:
      StackMap stack: java.lang.Object
         2: astore 2 /* arg0 */
        start local 2 // java.lang.Object arg0
         3: .line 140
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmple 4
            aload 1 /* args */
            iconst_1
            aaload
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
      StackMap locals:
      StackMap stack: java.lang.Object
         5: astore 3 /* arg1 */
        start local 3 // java.lang.Object arg1
         6: .line 141
            aload 1 /* args */
            arraylength
            iconst_2
            if_icmple 7
            aload 1 /* args */
            iconst_2
            aaload
            goto 8
      StackMap locals: java.lang.Object
      StackMap stack:
         7: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
      StackMap locals:
      StackMap stack: java.lang.Object
         8: astore 4 /* arg2 */
        start local 4 // java.lang.Object arg2
         9: .line 142
            aload 1 /* args */
            arraylength
            iconst_3
            if_icmple 10
            aload 1 /* args */
            iconst_3
            aaload
            goto 11
      StackMap locals: java.lang.Object
      StackMap stack:
        10: getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
      StackMap locals:
      StackMap stack: java.lang.Object
        11: astore 5 /* arg3 */
        start local 5 // java.lang.Object arg3
        12: .line 144
            aconst_null
            astore 6 /* inputStream */
        start local 6 // java.io.InputStream inputStream
        13: .line 145
            aconst_null
            astore 7 /* outputStream */
        start local 7 // java.io.OutputStream outputStream
        14: .line 146
            aconst_null
            astore 8 /* errorStream */
        start local 8 // java.io.OutputStream errorStream
        15: .line 147
            aconst_null
            astore 9 /* script */
        start local 9 // java.lang.String script
        16: .line 148
            aconst_null
            astore 10 /* tokens */
        start local 10 // java.util.List tokens
        17: .line 149
            aconst_null
            astore 11 /* inputString */
        start local 11 // java.lang.String inputString
        18: .line 151
            aload 2 /* arg0 */
            instanceof jdk.nashorn.internal.objects.NativeArray
            ifeq 23
        19: .line 152
            aload 2 /* arg0 */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toJavaArray:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 12 /* array */
        start local 12 // java.lang.String[] array
        20: .line 153
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* tokens */
        21: .line 154
            aload 10 /* tokens */
            aload 12 /* array */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 12 // java.lang.String[] array
        22: .line 155
            goto 24
        23: .line 156
      StackMap locals: java.lang.Object java.lang.Object[] java.lang.Object java.lang.Object java.lang.Object java.lang.Object java.io.InputStream java.io.OutputStream java.io.OutputStream java.lang.String java.util.List java.lang.String
      StackMap stack:
            aload 2 /* arg0 */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* script */
        24: .line 159
      StackMap locals:
      StackMap stack:
            aload 3 /* arg1 */
            instanceof java.io.InputStream
            ifeq 27
        25: .line 160
            aload 3 /* arg1 */
            checkcast java.io.InputStream
            astore 6 /* inputStream */
        26: .line 161
            goto 28
        27: .line 162
      StackMap locals:
      StackMap stack:
            aload 3 /* arg1 */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 11 /* inputString */
        28: .line 165
      StackMap locals:
      StackMap stack:
            aload 4 /* arg2 */
            instanceof java.io.OutputStream
            ifeq 30
        29: .line 166
            aload 4 /* arg2 */
            checkcast java.io.OutputStream
            astore 7 /* outputStream */
        30: .line 169
      StackMap locals:
      StackMap stack:
            aload 5 /* arg3 */
            instanceof java.io.OutputStream
            ifeq 32
        31: .line 170
            aload 5 /* arg3 */
            checkcast java.io.OutputStream
            astore 8 /* errorStream */
        32: .line 174
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 12 /* global */
        start local 12 // jdk.nashorn.internal.runtime.ScriptObject global
        33: .line 177
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 13 /* environment */
        start local 13 // java.util.Map environment
        34: .line 178
            aload 12 /* global */
            ldc "$ENV"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 14 /* env */
        start local 14 // java.lang.Object env
        35: .line 180
            aload 14 /* env */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 38
        36: .line 181
            aload 14 /* env */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 15 /* envProperties */
        start local 15 // jdk.nashorn.internal.runtime.ScriptObject envProperties
        37: .line 184
            aload 15 /* envProperties */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 13 /* environment */
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              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;)V
                  jdk/nashorn/internal/runtime/ScriptingFunctions.lambda$0(Ljava/util/Map;Ljava/util/Map$Entry;)V (6)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 15 // jdk.nashorn.internal.runtime.ScriptObject envProperties
        38: .line 190
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.util.Map java.lang.Object
      StackMap stack:
            aload 12 /* global */
            ldc "$EXEC"
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 15 /* exec */
        start local 15 // java.lang.Object exec
        39: .line 191
            getstatic jdk.nashorn.internal.runtime.ScriptingFunctions.$assertionsDisabled:Z
            ifne 40
            aload 15 /* exec */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifne 40
            new java.lang.AssertionError
            dup
            ldc "$EXEC is not a script object!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        40: .line 194
      StackMap locals: java.lang.Object
      StackMap stack:
            new jdk.nashorn.internal.runtime.CommandExecutor
            dup
            invokespecial jdk.nashorn.internal.runtime.CommandExecutor.<init>:()V
            astore 16 /* executor */
        start local 16 // jdk.nashorn.internal.runtime.CommandExecutor executor
        41: .line 195
            aload 16 /* executor */
            aload 11 /* inputString */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.setInputString:(Ljava/lang/String;)V
        42: .line 196
            aload 16 /* executor */
            aload 6 /* inputStream */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.setInputStream:(Ljava/io/InputStream;)V
        43: .line 197
            aload 16 /* executor */
            aload 7 /* outputStream */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.setOutputStream:(Ljava/io/OutputStream;)V
        44: .line 198
            aload 16 /* executor */
            aload 8 /* errorStream */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.setErrorStream:(Ljava/io/OutputStream;)V
        45: .line 199
            aload 16 /* executor */
            aload 13 /* environment */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.setEnvironment:(Ljava/util/Map;)V
        46: .line 201
            aload 10 /* tokens */
            ifnull 49
        47: .line 202
            aload 16 /* executor */
            aload 10 /* tokens */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.process:(Ljava/util/List;)V
        48: .line 203
            goto 50
        49: .line 204
      StackMap locals: jdk.nashorn.internal.runtime.CommandExecutor
      StackMap stack:
            aload 16 /* executor */
            aload 9 /* script */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.process:(Ljava/lang/String;)V
        50: .line 207
      StackMap locals:
      StackMap stack:
            aload 16 /* executor */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.getOutputString:()Ljava/lang/String;
            astore 17 /* outString */
        start local 17 // java.lang.String outString
        51: .line 208
            aload 16 /* executor */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.getErrorString:()Ljava/lang/String;
            astore 18 /* errString */
        start local 18 // java.lang.String errString
        52: .line 209
            aload 16 /* executor */
            invokevirtual jdk.nashorn.internal.runtime.CommandExecutor.getExitCode:()I
            istore 19 /* exitCode */
        start local 19 // int exitCode
        53: .line 212
            aload 12 /* global */
            ldc "$OUT"
            aload 17 /* outString */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
        54: .line 213
            aload 12 /* global */
            ldc "$ERR"
            aload 18 /* errString */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;Ljava/lang/Object;I)V
        55: .line 214
            aload 12 /* global */
            ldc "$EXIT"
            iload 19 /* exitCode */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.set:(Ljava/lang/Object;II)V
        56: .line 217
            aload 17 /* outString */
            areturn
        end local 19 // int exitCode
        end local 18 // java.lang.String errString
        end local 17 // java.lang.String outString
        end local 16 // jdk.nashorn.internal.runtime.CommandExecutor executor
        end local 15 // java.lang.Object exec
        end local 14 // java.lang.Object env
        end local 13 // java.util.Map environment
        end local 12 // jdk.nashorn.internal.runtime.ScriptObject global
        end local 11 // java.lang.String inputString
        end local 10 // java.util.List tokens
        end local 9 // java.lang.String script
        end local 8 // java.io.OutputStream errorStream
        end local 7 // java.io.OutputStream outputStream
        end local 6 // java.io.InputStream inputStream
        end local 5 // java.lang.Object arg3
        end local 4 // java.lang.Object arg2
        end local 3 // java.lang.Object arg1
        end local 2 // java.lang.Object arg0
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   57     0           self  Ljava/lang/Object;
            0   57     1           args  [Ljava/lang/Object;
            3   57     2           arg0  Ljava/lang/Object;
            6   57     3           arg1  Ljava/lang/Object;
            9   57     4           arg2  Ljava/lang/Object;
           12   57     5           arg3  Ljava/lang/Object;
           13   57     6    inputStream  Ljava/io/InputStream;
           14   57     7   outputStream  Ljava/io/OutputStream;
           15   57     8    errorStream  Ljava/io/OutputStream;
           16   57     9         script  Ljava/lang/String;
           17   57    10         tokens  Ljava/util/List<Ljava/lang/String;>;
           18   57    11    inputString  Ljava/lang/String;
           20   22    12          array  [Ljava/lang/String;
           33   57    12         global  Ljdk/nashorn/internal/runtime/ScriptObject;
           34   57    13    environment  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           35   57    14            env  Ljava/lang/Object;
           37   38    15  envProperties  Ljdk/nashorn/internal/runtime/ScriptObject;
           39   57    15           exec  Ljava/lang/Object;
           41   57    16       executor  Ljdk/nashorn/internal/runtime/CommandExecutor;
           51   57    17      outString  Ljava/lang/String;
           52   57    18      errString  Ljava/lang/String;
           53   57    19       exitCode  I
    MethodParameters:
      Name  Flags
      self  final
      args  final

  public static void setReadLineHelper(java.util.function.Function<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/function/Function;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.function.Function func
         0: .line 226
            aload 0 /* func */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.function.Function
            putstatic jdk.nashorn.internal.runtime.ScriptingFunctions.readLineHelper:Ljava/util/function/Function;
         1: .line 227
            return
        end local 0 // java.util.function.Function func
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  func  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      func  final

  public static java.util.function.Function<java.lang.String, java.lang.String> getReadLineHelper();
    descriptor: ()Ljava/util/function/Function;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 230
            getstatic jdk.nashorn.internal.runtime.ScriptingFunctions.readLineHelper:Ljava/util/function/Function;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;

  public static java.lang.String readLine(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Object prompt
         0: .line 234
            aload 0 /* prompt */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpeq 1
            aload 0 /* prompt */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 1 /* p */
        start local 1 // java.lang.String p
         3: .line 235
            getstatic jdk.nashorn.internal.runtime.ScriptingFunctions.readLineHelper:Ljava/util/function/Function;
            ifnull 5
         4: .line 236
            getstatic jdk.nashorn.internal.runtime.ScriptingFunctions.readLineHelper:Ljava/util/function/Function;
            aload 1 /* p */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         5: .line 238
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* p */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         6: .line 239
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         7: .line 240
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            areturn
        end local 2 // java.io.BufferedReader reader
        end local 1 // java.lang.String p
        end local 0 // java.lang.Object prompt
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  prompt  Ljava/lang/Object;
            3    8     1       p  Ljava/lang/String;
            7    8     2  reader  Ljava/io/BufferedReader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      prompt  final

  private static java.lang.invoke.MethodHandle findOwnMH(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class rtype
        start local 2 // java.lang.Class[] types
         0: .line 245
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/ScriptingFunctions;
            aload 0 /* name */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* rtype */
            aload 2 /* types */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.findStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.Class[] types
        end local 1 // java.lang.Class rtype
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  rtype  Ljava/lang/Class<*>;
            0    1     2  types  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      name   final
      rtype  final
      types  final

  private static void lambda$0(java.util.Map, java.util.Map$Entry);
    descriptor: (Ljava/util/Map;Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.util.Map$Entry entry
         0: .line 185
            aload 0
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 186
            return
        end local 1 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1  entry  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
}
SourceFile: "ScriptingFunctions.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map