public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectInputStream
  super_class: java.io.InputStream
{
  private static final int NULL_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.Object unsharedMarker;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.String, java.lang.Class<?>> primClasses;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;

  private final java.io.ObjectInputStream$BlockDataInputStream bin;
    descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInputStream$ValidationList vlist;
    descriptor: Ljava/io/ObjectInputStream$ValidationList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long depth;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long totalObjectRefs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private final java.io.ObjectInputStream$HandleTable handles;
    descriptor: Ljava/io/ObjectInputStream$HandleTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final boolean enableOverride;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.io.SerialCallbackContext curContext;
    descriptor: Ljava/io/SerialCallbackContext;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectInputFilter serialFilter;
    descriptor: Ljava/io/ObjectInputFilter;
    flags: (0x0002) ACC_PRIVATE

  private static final jdk.internal.misc.Unsafe UNSAFE;
    descriptor: Ljdk/internal/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=18, locals=0, args_size=0
         0: .line 266
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.io.ObjectInputStream.$assertionsDisabled:Z
         3: .line 273
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
         4: .line 280
            ldc "boolean"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
         5: .line 281
            ldc "byte"
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
         6: .line 282
            ldc "char"
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
         7: .line 283
            ldc "short"
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
         8: .line 284
            ldc "int"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
         9: .line 285
            ldc "long"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
        10: .line 286
            ldc "float"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
        11: .line 287
            ldc "double"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
        12: .line 288
            ldc "void"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
        13: .line 280
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
        14: .line 279
            putstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
        15: .line 2936
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
        16: .line 4161
            invokedynamic checkArray()Ljdk/internal/access/JavaObjectInputStreamAccess;
              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/io/ObjectInputStream;Ljava/lang/Class;I)V
                  java/io/ObjectInputStream.checkArray(Ljava/lang/Class;I)V (7)
                  (Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
            invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamAccess:(Ljdk/internal/access/JavaObjectInputStreamAccess;)V
        17: .line 4162
            invokedynamic readString()Ljdk/internal/access/JavaObjectInputStreamReadString;
              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/io/ObjectInputStream;)Ljava/lang/String;
                  java/io/ObjectInputStream.readString()Ljava/lang/String; (7)
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
            invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamReadString:(Ljdk/internal/access/JavaObjectInputStreamReadString;)V
        18: .line 4163
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.InputStream in
         0: .line 387
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 340
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 342
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 388
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.verifySubclass:()V
         4: .line 389
            aload 0 /* this */
            new java.io.ObjectInputStream$BlockDataInputStream
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         5: .line 390
            aload 0 /* this */
            new java.io.ObjectInputStream$HandleTable
            dup
            bipush 10
            invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         6: .line 391
            aload 0 /* this */
            new java.io.ObjectInputStream$ValidationList
            dup
            invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         7: .line 392
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
         8: .line 393
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.enableOverride:Z
         9: .line 394
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
        10: .line 395
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 396
            return
        end local 1 // java.io.InputStream in
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            0   12     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 418
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 340
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 342
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 419
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         4: .line 420
            aload 1 /* sm */
            ifnull 6
         5: .line 421
            aload 1 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 423
      StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         7: .line 424
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         8: .line 425
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         9: .line 426
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        10: .line 427
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.enableOverride:Z
        11: .line 428
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            4   12     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public final java.lang.Object readObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 466
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  private java.lang.String readString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 478
            aload 0 /* this */
            ldc Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String
         1: areturn
         2: .line 479
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnf */
        start local 1 // java.lang.ClassNotFoundException cnf
         3: .line 480
            new java.lang.IllegalStateException
            dup
            aload 1 /* cnf */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            3    4     1   cnf  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException

  private final  readObject(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
         0: .line 498
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableOverride:Z
            ifeq 2
         1: .line 499
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
            areturn
         2: .line 502
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/Object;
            if_acmpeq 4
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpeq 4
         3: .line 503
            new java.lang.AssertionError
            dup
            ldc "internal error"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 2 /* outerHandle */
        start local 2 // int outerHandle
         5: .line 508
            aload 0 /* this */
            aload 1 /* type */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         6: .line 509
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 2 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         7: .line 510
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
         8: .line 511
            aload 4 /* ex */
            ifnull 10
         9: .line 512
            aload 4 /* ex */
            athrow
        10: .line 514
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        11: .line 515
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
        12: .line 516
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
        13: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            astore 6
        14: .line 520
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        15: .line 521
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 17
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 17
        16: .line 522
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        17: .line 518
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 6
            areturn
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.lang.Object obj
        18: .line 519
      StackMap locals: java.io.ObjectInputStream java.lang.Class int
      StackMap stack: java.lang.Throwable
            astore 5
        19: .line 520
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        20: .line 521
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 22
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 22
        21: .line 522
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        22: .line 524
      StackMap locals: java.io.ObjectInputStream java.lang.Class int top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 2 // int outerHandle
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Ljava/io/ObjectInputStream;
            0   23     1         type  Ljava/lang/Class<*>;
            5   23     2  outerHandle  I
            6   18     3          obj  Ljava/lang/Object;
            8   18     4           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           5    14      18  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.Object readObjectOverride();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 547
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.lang.Object readUnshared();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 601
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         1: .line 603
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_1
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         2: .line 604
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         3: .line 605
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 606
            aload 3 /* ex */
            ifnull 6
         5: .line 607
            aload 3 /* ex */
            athrow
         6: .line 609
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 9
         7: .line 610
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
         8: .line 611
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
         9: .line 613
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
        10: .line 615
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 616
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 13
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        12: .line 617
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        13: .line 613
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        14: .line 614
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 615
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        16: .line 616
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 18
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 18
        17: .line 617
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        18: .line 619
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Ljava/io/ObjectInputStream;
            1   19     1  outerHandle  I
            2   14     2          obj  Ljava/lang/Object;
            4   14     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1    10      14  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void defaultReadObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 637
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 638
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 639
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 641
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            astore 2 /* curObj */
        start local 2 // java.lang.Object curObj
         4: .line 642
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 3 /* curDesc */
        start local 3 // java.io.ObjectStreamClass curDesc
         5: .line 643
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 644
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 4 /* vals */
        start local 4 // java.io.ObjectInputStream$FieldValues vals
         7: .line 645
            aload 2 /* curObj */
            ifnull 10
         8: .line 646
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
         9: .line 647
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        10: .line 649
      StackMap locals: java.lang.Object java.io.ObjectStreamClass java.io.ObjectInputStream$FieldValues
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 650
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 13
        12: .line 656
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        13: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        14: .line 659
            aload 5 /* ex */
            ifnull 16
        15: .line 660
            aload 5 /* ex */
            athrow
        16: .line 662
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            return
        end local 5 // java.lang.ClassNotFoundException ex
        end local 4 // java.io.ObjectInputStream$FieldValues vals
        end local 3 // java.io.ObjectStreamClass curDesc
        end local 2 // java.lang.Object curObj
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Ljava/io/ObjectInputStream;
            1   17     1      ctx  Ljava/io/SerialCallbackContext;
            4   17     2   curObj  Ljava/lang/Object;
            5   17     3  curDesc  Ljava/io/ObjectStreamClass;
            7   17     4     vals  Ljava/io/ObjectInputStream$FieldValues;
           14   17     5       ex  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.io.ObjectInputStream$GetField readFields();
    descriptor: ()Ljava/io/ObjectInputStream$GetField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 680
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 681
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 682
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 684
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.checkAndSetUsed:()V
         4: .line 685
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 2 /* curDesc */
        start local 2 // java.io.ObjectStreamClass curDesc
         5: .line 686
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 687
            new java.io.ObjectInputStream$GetFieldImpl
            dup
            aload 0 /* this */
            aload 2 /* curDesc */
            invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
            astore 3 /* getField */
        start local 3 // java.io.ObjectInputStream$GetFieldImpl getField
         7: .line 688
            aload 3 /* getField */
            invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
         8: .line 689
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         9: .line 690
            aload 2 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 11
        10: .line 696
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        11: .line 699
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
      StackMap stack:
            aload 3 /* getField */
            areturn
        end local 3 // java.io.ObjectInputStream$GetFieldImpl getField
        end local 2 // java.io.ObjectStreamClass curDesc
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/io/ObjectInputStream;
            1   12     1       ctx  Ljava/io/SerialCallbackContext;
            5   12     2   curDesc  Ljava/io/ObjectStreamClass;
            7   12     3  getField  Ljava/io/ObjectInputStream$GetFieldImpl;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void registerValidation(java.io.ObjectInputValidation, int);
    descriptor: (Ljava/io/ObjectInputValidation;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputValidation obj
        start local 2 // int prio
         0: .line 721
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 2
         1: .line 722
            new java.io.NotActiveException
            dup
            ldc "stream inactive"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            aload 1 /* obj */
            iload 2 /* prio */
            invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
         3: .line 725
            return
        end local 2 // int prio
        end local 1 // java.io.ObjectInputValidation obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            0    4     1   obj  Ljava/io/ObjectInputValidation;
            0    4     2  prio  I
    Exceptions:
      throws java.io.NotActiveException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      obj   
      prio  

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 769
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 771
            aload 2 /* name */
            iconst_0
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         2: areturn
         3: .line 772
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 773
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
            aload 2 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         5: .line 774
            aload 4 /* cl */
            ifnull 7
         6: .line 775
            aload 4 /* cl */
            areturn
         7: .line 777
      StackMap locals: java.lang.ClassNotFoundException java.lang.Class
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.String name
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectInputStream;
            0    8     1  desc  Ljava/io/ObjectStreamClass;
            1    8     2  name  Ljava/lang/String;
            4    8     3    ex  Ljava/lang/ClassNotFoundException;
            5    8     4    cl  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      desc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 837
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            astore 2 /* latestLoader */
        start local 2 // java.lang.ClassLoader latestLoader
         1: .line 838
            aconst_null
            astore 3 /* nonPublicLoader */
        start local 3 // java.lang.ClassLoader nonPublicLoader
         2: .line 839
            iconst_0
            istore 4 /* hasNonPublicInterface */
        start local 4 // boolean hasNonPublicInterface
         3: .line 842
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classObjs */
        start local 5 // java.lang.Class[] classObjs
         4: .line 843
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 844
      StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 6 /* i */
            aaload
            iconst_0
            aload 2 /* latestLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
         7: .line 845
            aload 7 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 15
         8: .line 846
            iload 4 /* hasNonPublicInterface */
            ifeq 13
         9: .line 847
            aload 3 /* nonPublicLoader */
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 15
        10: .line 848
            new java.lang.IllegalAccessError
            dup
        11: .line 849
            ldc "conflicting non-public interface class loaders"
        12: .line 848
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 852
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* nonPublicLoader */
        14: .line 853
            iconst_1
            istore 4 /* hasNonPublicInterface */
        15: .line 856
      StackMap locals:
      StackMap stack:
            aload 5 /* classObjs */
            iload 6 /* i */
            aload 7 /* cl */
            aastore
        end local 7 // java.lang.Class cl
        16: .line 843
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 6
        end local 6 // int i
        18: .line 861
            iload 4 /* hasNonPublicInterface */
            ifeq 19
            aload 3 /* nonPublicLoader */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2 /* latestLoader */
        20: .line 862
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 5 /* classObjs */
        21: .line 860
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
            astore 6 /* proxyClass */
        start local 6 // java.lang.Class proxyClass
        22: .line 863
            aload 6 /* proxyClass */
        23: areturn
        end local 6 // java.lang.Class proxyClass
        24: .line 864
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        25: .line 865
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 6 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // java.lang.Class[] classObjs
        end local 4 // boolean hasNonPublicInterface
        end local 3 // java.lang.ClassLoader nonPublicLoader
        end local 2 // java.lang.ClassLoader latestLoader
        end local 1 // java.lang.String[] interfaces
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   26     0                   this  Ljava/io/ObjectInputStream;
            0   26     1             interfaces  [Ljava/lang/String;
            1   26     2           latestLoader  Ljava/lang/ClassLoader;
            2   26     3        nonPublicLoader  Ljava/lang/ClassLoader;
            3   26     4  hasNonPublicInterface  Z
            4   26     5              classObjs  [Ljava/lang/Class;
            5   18     6                      i  I
            7   16     7                     cl  Ljava/lang/Class<*>;
           22   24     6             proxyClass  Ljava/lang/Class<*>;
           25   26     6                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          18    23      24  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  

  protected java.lang.Object resolveObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 897
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  protected boolean enableResolveObject(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean enable
         0: .line 925
            iload 1 /* enable */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            if_icmpne 2
         1: .line 926
            iload 1 /* enable */
            ireturn
         2: .line 928
      StackMap locals:
      StackMap stack:
            iload 1 /* enable */
            ifeq 6
         3: .line 929
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 930
            aload 2 /* sm */
            ifnull 6
         5: .line 931
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.lang.SecurityManager sm
         6: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enable */
            putfield java.io.ObjectInputStream.enableResolve:Z
         7: .line 935
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 1 // boolean enable
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/io/ObjectInputStream;
            0   10     1  enable  Z
            4    6     2      sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      enable  

  protected void readStreamHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 951
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 1 /* s0 */
        start local 1 // short s0
         1: .line 952
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 2 /* s1 */
        start local 2 // short s1
         2: .line 953
            iload 1 /* s0 */
            sipush -21267
            if_icmpne 3
            iload 2 /* s1 */
            iconst_5
            if_icmpeq 6
         3: .line 954
      StackMap locals: int int
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         4: .line 955
            ldc "invalid stream header: %04X%04X"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* s0 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 2 /* s1 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 954
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 957
      StackMap locals:
      StackMap stack:
            return
        end local 2 // short s1
        end local 1 // short s0
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/io/ObjectInputStream;
            1    7     1    s0  S
            2    7     2    s1  S
    Exceptions:
      throws java.io.IOException, java.io.StreamCorruptedException

  protected java.io.ObjectStreamClass readClassDescriptor();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 979
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 1 /* desc */
        start local 1 // java.io.ObjectStreamClass desc
         1: .line 980
            aload 1 /* desc */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
         2: .line 981
            aload 1 /* desc */
            areturn
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;
            1    3     1  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 991
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1012
            aload 1 /* buf */
            ifnonnull 2
         1: .line 1013
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1015
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         3: .line 1016
            iload 2 /* off */
            iflt 4
            iload 3 /* len */
            iflt 4
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 4
            iload 4 /* endoff */
            ifge 5
         4: .line 1017
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         5: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
            ireturn
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/io/ObjectInputStream;
            0    6     1     buf  [B
            0    6     2     off  I
            0    6     3     len  I
            3    6     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1030
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1044
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.closed:Z
         1: .line 1045
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 3
         2: .line 1046
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 1048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
         4: .line 1049
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1059
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public byte readByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1070
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1081
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public char readChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1092
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public short readShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1103
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedShort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1114
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1125
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1136
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
            lreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public float readFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1147
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
            freturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public double readDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1158
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
            dreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void readFully(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
         0: .line 1170
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iconst_0
            aload 1 /* buf */
            arraylength
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         1: .line 1171
            return
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;
            0    2     1   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   

  public void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1187
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         1: .line 1188
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 2
            iload 4 /* endoff */
            ifge 3
         2: .line 1189
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         4: .line 1192
            return
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/io/ObjectInputStream;
            0    5     1     buf  [B
            0    5     2     off  I
            0    5     3     len  I
            1    5     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int skipBytes(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // int len
         0: .line 1202
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 1 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
            ireturn
        end local 1 // int len
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public java.lang.String readLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1216
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String readUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1231
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public final java.io.ObjectInputFilter getObjectInputFilter();
    descriptor: ()Ljava/io/ObjectInputFilter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1245
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;

  public final void setObjectInputFilter(java.io.ObjectInputFilter);
    descriptor: (Ljava/io/ObjectInputFilter;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputFilter filter
         0: .line 1321
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1322
            aload 2 /* sm */
            ifnull 3
         2: .line 1323
            aload 2 /* sm */
            getstatic java.io.ObjectStreamConstants.SERIAL_FILTER_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1326
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 6
         4: .line 1327
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            if_acmpeq 6
         5: .line 1328
            new java.lang.IllegalStateException
            dup
            ldc "filter can not be set more than once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_0
            lcmp
            ifle 10
            getstatic java.io.ObjectInputStream$Caches.SET_FILTER_AFTER_READ:Z
            ifne 10
         7: .line 1331
            new java.lang.IllegalStateException
            dup
         8: .line 1332
            ldc "filter can not be set after an object has been read"
         9: .line 1331
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filter */
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        11: .line 1335
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.io.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/io/ObjectInputStream;
            0   12     1  filter  Ljava/io/ObjectInputFilter;
            1   12     2      sm  Ljava/lang/SecurityManager;
    MethodParameters:
        Name  Flags
      filter  

  private void filterCheck(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class clazz
        start local 2 // int arrayLength
         0: .line 1348
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 25
         1: .line 1349
            aconst_null
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         2: .line 1352
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            ifnonnull 3
            lconst_0
            goto 4
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
         3: aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
      StackMap locals:
      StackMap stack: long
         4: lstore 5 /* bytesRead */
        start local 5 // long bytesRead
         5: .line 1354
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            new java.io.ObjectInputStream$FilterValues
            dup
            aload 1 /* clazz */
            iload 2 /* arrayLength */
            i2l
         6: .line 1355
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lload 5 /* bytesRead */
            invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
         7: .line 1354
            invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
         8: .line 1356
            goto 12
        end local 4 // java.io.ObjectInputFilter$Status status
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException top long
      StackMap stack: java.lang.RuntimeException
         9: astore 7 /* e */
        start local 7 // java.lang.RuntimeException e
        10: .line 1358
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
        11: .line 1359
            aload 7 /* e */
            astore 3 /* ex */
        end local 7 // java.lang.RuntimeException e
        12: .line 1361
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            ifnull 20
        13: .line 1363
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            aload 4 /* status */
            ifnull 14
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 15
        14: .line 1364
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            goto 16
        15: .line 1365
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        16: .line 1366
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack: java.lang.System$Logger java.lang.System$Logger$Level
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1367
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 5 /* bytesRead */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        18: .line 1368
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        19: .line 1363
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 1370
      StackMap locals:
      StackMap stack:
            aload 4 /* status */
            ifnull 22
        21: .line 1371
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 25
        22: .line 1372
      StackMap locals:
      StackMap stack:
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "filter status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* status */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            astore 7 /* ice */
        start local 7 // java.io.InvalidClassException ice
        23: .line 1373
            aload 7 /* ice */
            aload 3 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        24: .line 1374
            aload 7 /* ice */
            athrow
        end local 7 // java.io.InvalidClassException ice
        end local 5 // long bytesRead
        end local 4 // java.io.ObjectInputFilter$Status status
        end local 3 // java.lang.RuntimeException ex
        25: .line 1377
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class clazz
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Ljava/io/ObjectInputStream;
            0   26     1        clazz  Ljava/lang/Class<*>;
            0   26     2  arrayLength  I
            2   25     3           ex  Ljava/lang/RuntimeException;
            8    9     4       status  Ljava/io/ObjectInputFilter$Status;
           11   25     4       status  Ljava/io/ObjectInputFilter$Status;
            5   25     5    bytesRead  J
           10   12     7            e  Ljava/lang/RuntimeException;
           23   25     7          ice  Ljava/io/InvalidClassException;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      clazz        
      arrayLength  

  private void checkArray(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class arrayType
        start local 2 // int arrayLength
         0: .line 1394
            aload 1 /* arrayType */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         1: .line 1395
            new java.lang.IllegalArgumentException
            dup
            ldc "not an array type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1398
      StackMap locals:
      StackMap stack:
            iload 2 /* arrayLength */
            ifge 4
         3: .line 1399
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         4: .line 1402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arrayType */
            iload 2 /* arrayLength */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 1403
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class arrayType
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/io/ObjectInputStream;
            0    6     1    arrayType  Ljava/lang/Class<*>;
            0    6     2  arrayLength  I
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      arrayType    
      arrayLength  

  private void verifySubclass();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1569
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         1: .line 1570
            aload 1 /* cl */
            ldc Ljava/io/ObjectInputStream;
            if_acmpne 3
         2: .line 1571
            return
         3: .line 1573
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 1574
            aload 2 /* sm */
            ifnonnull 6
         5: .line 1575
            return
         6: .line 1577
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         7: .line 1578
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 1 /* cl */
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$WeakClassKey key
         8: .line 1579
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* result */
        start local 4 // java.lang.Boolean result
         9: .line 1580
            aload 4 /* result */
            ifnonnull 12
        10: .line 1581
            aload 1 /* cl */
            invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Ljava/lang/Boolean;
            astore 4 /* result */
        11: .line 1582
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* result */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1584
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 14
        13: .line 1585
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        14: .line 1587
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Boolean result
        end local 3 // java.io.ObjectStreamClass$WeakClassKey key
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/io/ObjectInputStream;
            1   15     1      cl  Ljava/lang/Class<*>;
            4   15     2      sm  Ljava/lang/SecurityManager;
            8   15     3     key  Ljava/io/ObjectStreamClass$WeakClassKey;
            9   15     4  result  Ljava/lang/Boolean;

  private static java.lang.Boolean auditSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1596
            new java.io.ObjectInputStream$1
            dup
            aload 0 /* subcl */
            invokespecial java.io.ObjectInputStream$1.<init>:(Ljava/lang/Class;)V
         1: .line 1595
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            areturn
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  subcl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      subcl  

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1624
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
         1: .line 1625
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
         2: .line 1626
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;

  private  readObject0(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
        start local 2 // boolean unshared
         0: .line 1634
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            istore 3 /* oldMode */
        start local 3 // boolean oldMode
         1: .line 1635
            iload 3 /* oldMode */
            ifeq 11
         2: .line 1636
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
            istore 4 /* remain */
        start local 4 // int remain
         3: .line 1637
            iload 4 /* remain */
            ifle 5
         4: .line 1638
            new java.io.OptionalDataException
            dup
            iload 4 /* remain */
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
         5: .line 1639
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.defaultDataEnd:Z
            ifeq 7
         6: .line 1646
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
         7: .line 1648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        end local 4 // int remain
         8: .line 1652
            goto 11
        start local 4 // byte tc
         9: .line 1653
      StackMap locals: java.io.ObjectInputStream java.lang.Class int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
        10: .line 1654
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.handleReset:()V
        end local 4 // byte tc
        11: .line 1652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            dup
            istore 4 /* tc */
        start local 4 // byte tc
        12: bipush 121
            if_icmpeq 9
        13: .line 1657
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        14: .line 1658
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        15: .line 1660
            iload 4 /* tc */
            tableswitch { // 112 - 126
                  112: 16
                  113: 20
                  114: 30
                  115: 52
                  116: 36
                  117: 40
                  118: 24
                  119: 62
                  120: 71
                  121: 76
                  122: 62
                  123: 58
                  124: 36
                  125: 30
                  126: 46
              default: 76
          }
        16: .line 1662
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            astore 7
        17: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        18: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1662
            aload 7
            areturn
        20: .line 1666
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        21: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        22: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        23: .line 1666
            aload 7
            areturn
        24: .line 1669
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 26
        25: .line 1670
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
            astore 7
        27: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        28: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 1672
            aload 7
            areturn
        30: .line 1676
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 32
        31: .line 1677
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 7
        33: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        34: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        35: .line 1679
            aload 7
            areturn
        36: .line 1683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        37: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        39: .line 1683
            aload 7
            areturn
        40: .line 1686
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 42
        41: .line 1687
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an array to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        43: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        44: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        45: .line 1689
            aload 7
            areturn
        46: .line 1692
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 48
        47: .line 1693
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an enum to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        49: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        50: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        51: .line 1695
            aload 7
            areturn
        52: .line 1698
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 54
        53: .line 1699
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an object to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        55: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        56: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        57: .line 1701
            aload 7
            areturn
        58: .line 1704
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 60
        59: .line 1705
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an exception to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
        61: .line 1708
            new java.io.WriteAbortedException
            dup
            ldc "writing aborted"
            aload 5 /* ex */
            invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.io.IOException ex
        62: .line 1712
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 68
        63: .line 1713
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        64: .line 1714
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
            pop
        65: .line 1715
            new java.io.OptionalDataException
            dup
        66: .line 1716
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
        67: .line 1715
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
        68: .line 1718
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        69: .line 1719
            ldc "unexpected block data"
        70: .line 1718
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 1723
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 73
        72: .line 1724
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
        73: .line 1726
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        74: .line 1727
            ldc "unexpected end of block data"
        75: .line 1726
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        76: .line 1731
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        77: .line 1732
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        78: .line 1731
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 1734
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        80: .line 1735
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        81: .line 1736
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        82: .line 1737
            aload 6
            athrow
        end local 4 // byte tc
        end local 3 // boolean oldMode
        end local 2 // boolean unshared
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   83     0      this  Ljava/io/ObjectInputStream;
            0   83     1      type  Ljava/lang/Class<*>;
            0   83     2  unshared  Z
            1   83     3   oldMode  Z
            3    8     4    remain  I
            9   11     4        tc  B
           12   83     4        tc  B
           61   62     5        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          15    17      79  any
          20    21      79  any
          24    27      79  any
          30    33      79  any
          36    37      79  any
          40    43      79  any
          46    49      79  any
          52    55      79  any
          58    79      79  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      type      
      unshared  

  private java.lang.Object checkResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 1749
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 1750
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
         2: .line 1752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rep */
        start local 2 // java.lang.Object rep
         3: .line 1753
            aload 2 /* rep */
            aload 1 /* obj */
            if_acmpeq 10
         4: .line 1756
            aload 2 /* rep */
            ifnull 9
         5: .line 1757
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         6: .line 1758
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1759
            goto 9
         8: .line 1760
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         9: .line 1763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 2 /* rep */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        10: .line 1765
      StackMap locals:
      StackMap stack:
            aload 2 /* rep */
            areturn
        end local 2 // java.lang.Object rep
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/io/ObjectInputStream;
            0   11     1   obj  Ljava/lang/Object;
            3   11     2   rep  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.String readTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1773
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 1775
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         2: .line 1776
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 3
                  113: 6
                  116: 9
                  124: 9
              default: 12
          }
         3: .line 1778
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         4: .line 1792
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         5: .line 1778
            aload 4
            areturn
         6: .line 1781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         7: .line 1792
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         8: .line 1781
            aload 4
            areturn
         9: .line 1785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 4
        10: .line 1792
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 1785
            aload 4
            areturn
        12: .line 1788
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        13: .line 1789
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 1788
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte tc
        15: .line 1791
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1792
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 1793
            aload 3
            athrow
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/io/ObjectInputStream;
            1   18     1  oldHandle  I
            2   15     2         tc  B
      Exception table:
        from    to  target  type
           1     4      15  any
           6     7      15  any
           9    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1800
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 112
            if_icmpeq 2
         1: .line 1801
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1804
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readHandle(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1812
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 113
            if_icmpeq 2
         1: .line 1813
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ldc 8257536
            isub
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1816
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            iflt 4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
            if_icmplt 9
         4: .line 1817
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         5: .line 1818
            ldc "invalid handle value: %08X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
         6: .line 1819
            ldc 8257536
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1818
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1817
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1821
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifeq 13
        10: .line 1823
            new java.io.InvalidObjectException
            dup
        11: .line 1824
            ldc "cannot read back reference as unshared"
        12: .line 1823
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
        14: .line 1828
            aload 2 /* obj */
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            if_acmpne 18
        15: .line 1830
            new java.io.InvalidObjectException
            dup
        16: .line 1831
            ldc "cannot read back reference to unshared object"
        17: .line 1830
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1833
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        19: .line 1834
            aload 2 /* obj */
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/io/ObjectInputStream;
            0   20     1  unshared  Z
           14   20     2       obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Class<?> readClass(boolean);
    descriptor: (Z)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1844
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 118
            if_icmpeq 2
         1: .line 1845
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1848
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         4: .line 1849
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 5
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 6
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
         5: aload 3 /* cl */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
         6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1851
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         8: .line 1852
            aload 4 /* resolveEx */
            ifnull 10
         9: .line 1853
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        10: .line 1856
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        11: .line 1857
            aload 3 /* cl */
            areturn
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            0   12     1   unshared  Z
            3   12     2       desc  Ljava/io/ObjectStreamClass;
            4   12     3         cl  Ljava/lang/Class<*>;
            8   12     4  resolveEx  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readClassDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1869
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         1: .line 1871
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 2
                  113: 4
                  114: 9
                  125: 7
              default: 11
          }
         2: .line 1873
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         3: .line 1874
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         4: .line 1876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         5: .line 1878
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectStreamClass.checkInitialized:()V
         6: .line 1879
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         7: .line 1881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         8: .line 1882
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         9: .line 1884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
        10: .line 1885
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
        11: .line 1887
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        12: .line 1888
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 1887
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.io.ObjectStreamClass descriptor
        14: .line 1890
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 3 /* descriptor */
            areturn
        end local 3 // java.io.ObjectStreamClass descriptor
        end local 2 // byte tc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljava/io/ObjectInputStream;
            0   15     1    unshared  Z
            1   15     2          tc  B
            3    4     3  descriptor  Ljava/io/ObjectStreamClass;
            5    7     3  descriptor  Ljava/io/ObjectStreamClass;
            8    9     3  descriptor  Ljava/io/ObjectStreamClass;
           10   11     3  descriptor  Ljava/io/ObjectStreamClass;
           14   15     3  descriptor  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private boolean isCustomSubclass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1895
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 1896
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1895
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;

  private java.io.ObjectStreamClass readProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1908
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 125
            if_icmpeq 2
         1: .line 1909
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1912
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1913
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1914
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1916
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 4 /* numIfaces */
        start local 4 // int numIfaces
         8: .line 1917
            iload 4 /* numIfaces */
            ldc 65535
            if_icmple 12
         9: .line 1918
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interface limit exceeded: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1919
            iload 4 /* numIfaces */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1918
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1921
      StackMap locals: int int
      StackMap stack:
            iload 4 /* numIfaces */
            anewarray java.lang.String
            astore 5 /* ifaces */
        start local 5 // java.lang.String[] ifaces
        13: .line 1922
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 1923
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* ifaces */
            iload 6 /* i */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            aastore
        16: .line 1922
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* numIfaces */
            if_icmplt 15
        end local 6 // int i
        18: .line 1926
            aconst_null
            astore 6 /* cl */
        start local 6 // java.lang.Class cl
        19: .line 1927
            aconst_null
            astore 7 /* resolveEx */
        start local 7 // java.lang.ClassNotFoundException resolveEx
        20: .line 1928
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        21: .line 1930
            aload 0 /* this */
            aload 5 /* ifaces */
            invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            dup
            astore 6 /* cl */
            ifnonnull 24
        22: .line 1931
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 7 /* resolveEx */
        23: .line 1932
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack:
        24: aload 6 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 26
        25: .line 1933
            new java.io.InvalidClassException
            dup
            ldc "Not a proxy"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        27: .line 1940
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
        28: .line 1938
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
        29: .line 1942
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
        31: .line 1943
            aload 0 /* this */
            aload 8 /* clazz */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        end local 8 // java.lang.Class clazz
        32: .line 1942
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1946
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack: java.lang.ClassNotFoundException
        35: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        36: .line 1947
            aload 8 /* ex */
            astore 7 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        37: .line 1951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        38: .line 1953
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        39: .line 1956
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        40: .line 1957
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        41: .line 1958
            aload 2 /* desc */
            aload 6 /* cl */
            aload 7 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        42: .line 1959
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
        44: .line 1960
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        45: .line 1961
            aload 8
            athrow
        46: .line 1960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        47: .line 1963
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        48: .line 1964
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        49: .line 1965
            aload 2 /* desc */
            areturn
        end local 7 // java.lang.ClassNotFoundException resolveEx
        end local 6 // java.lang.Class cl
        end local 5 // java.lang.String[] ifaces
        end local 4 // int numIfaces
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Ljava/io/ObjectInputStream;
            0   50     1    unshared  Z
            3   50     2        desc  Ljava/io/ObjectStreamClass;
            6   50     3  descHandle  I
            8   50     4   numIfaces  I
           13   50     5      ifaces  [Ljava/lang/String;
           14   18     6           i  I
           19   50     6          cl  Ljava/lang/Class<*>;
           20   50     7   resolveEx  Ljava/lang/ClassNotFoundException;
           31   32     8       clazz  Ljava/lang/Class<*>;
           36   37     8          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          21    34      35  Class java.lang.ClassNotFoundException
          39    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readNonProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1977
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 114
            if_icmpeq 2
         1: .line 1978
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1981
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1982
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1983
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1987
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
            astore 4 /* readDesc */
        start local 4 // java.io.ObjectStreamClass readDesc
         8: .line 1988
            goto 15
        end local 4 // java.io.ObjectStreamClass readDesc
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int
      StackMap stack: java.lang.ClassNotFoundException
         9: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        10: .line 1989
            new java.io.InvalidClassException
            dup
        11: .line 1990
            ldc "failed to read class descriptor"
        12: .line 1989
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
        13: .line 1990
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        14: .line 1989
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.ClassNotFoundException ex
        start local 4 // java.io.ObjectStreamClass readDesc
        15: .line 1993
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aconst_null
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        16: .line 1994
            aconst_null
            astore 6 /* resolveEx */
        start local 6 // java.lang.ClassNotFoundException resolveEx
        17: .line 1995
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        18: .line 1996
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
            istore 7 /* checksRequired */
        start local 7 // boolean checksRequired
        19: .line 1998
            aload 0 /* this */
            aload 4 /* readDesc */
            invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            dup
            astore 5 /* cl */
            ifnonnull 22
        20: .line 1999
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 6 /* resolveEx */
        21: .line 2000
            goto 27
      StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
      StackMap stack:
        22: iload 7 /* checksRequired */
            ifeq 27
        23: .line 2001
            aload 5 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        24: .line 2003
            goto 27
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        25: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        26: .line 2004
            aload 8 /* ex */
            astore 6 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        27: .line 2008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        28: .line 2010
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        29: .line 2013
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        30: .line 2014
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        31: .line 2015
            aload 2 /* desc */
            aload 4 /* readDesc */
            aload 5 /* cl */
            aload 6 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        32: .line 2016
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 8
        34: .line 2017
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        35: .line 2018
            aload 8
            athrow
        36: .line 2017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        37: .line 2020
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        38: .line 2021
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        39: .line 2023
            aload 2 /* desc */
            areturn
        end local 7 // boolean checksRequired
        end local 6 // java.lang.ClassNotFoundException resolveEx
        end local 5 // java.lang.Class cl
        end local 4 // java.io.ObjectStreamClass readDesc
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Ljava/io/ObjectInputStream;
            0   40     1        unshared  Z
            3   40     2            desc  Ljava/io/ObjectStreamClass;
            6   40     3      descHandle  I
            8    9     4        readDesc  Ljava/io/ObjectStreamClass;
           15   40     4        readDesc  Ljava/io/ObjectStreamClass;
           10   15     5              ex  Ljava/lang/ClassNotFoundException;
           16   40     5              cl  Ljava/lang/Class<*>;
           17   40     6       resolveEx  Ljava/lang/ClassNotFoundException;
           19   40     7  checksRequired  Z
           26   27     8              ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.ClassNotFoundException
          19    24      25  Class java.lang.ClassNotFoundException
          29    33      33  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.String readString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2032
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            istore 3 /* tc */
        start local 3 // byte tc
         1: .line 2033
            iload 3 /* tc */
            lookupswitch { // 2
                  116: 2
                  124: 4
              default: 6
          }
         2: .line 2035
      StackMap locals: java.io.ObjectInputStream int top int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 2036
            goto 9
        end local 2 // java.lang.String str
         4: .line 2039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         5: .line 2040
            goto 9
        end local 2 // java.lang.String str
         6: .line 2043
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         7: .line 2044
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 2043
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String str
         9: .line 2046
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 10
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 11
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        10: aload 2 /* str */
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 2047
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        13: .line 2048
            aload 2 /* str */
            areturn
        end local 3 // byte tc
        end local 2 // java.lang.String str
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/io/ObjectInputStream;
            0   14     1  unshared  Z
            3    4     2       str  Ljava/lang/String;
            5    6     2       str  Ljava/lang/String;
            9   14     2       str  Ljava/lang/String;
            1   14     3        tc  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readArray(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2056
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 117
            if_icmpeq 2
         1: .line 2057
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2061
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 3 /* len */
        start local 3 // int len
         4: .line 2063
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 2065
            aconst_null
            astore 4 /* array */
        start local 4 // java.lang.Object array
         6: .line 2066
            aconst_null
            astore 6 /* ccl */
        start local 6 // java.lang.Class ccl
         7: .line 2067
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            dup
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         8: ifnull 11
         9: .line 2068
            aload 5 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* ccl */
        10: .line 2069
            aload 6 /* ccl */
            iload 3 /* len */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        11: .line 2072
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 12
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 13
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
        12: aload 4 /* array */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
        13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 7 /* arrayHandle */
        start local 7 // int arrayHandle
        14: .line 2073
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 8 /* resolveEx */
        start local 8 // java.lang.ClassNotFoundException resolveEx
        15: .line 2074
            aload 8 /* resolveEx */
            ifnull 17
        16: .line 2075
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 8 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        17: .line 2078
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 6 /* ccl */
            ifnonnull 24
        18: .line 2079
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 2080
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        21: .line 2079
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 20
        end local 9 // int i
        23: .line 2082
            goto 57
      StackMap locals:
      StackMap stack:
        24: aload 6 /* ccl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        25: .line 2083
            aload 6 /* ccl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 2084
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast int[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
        27: .line 2085
            goto 57
      StackMap locals:
      StackMap stack:
        28: aload 6 /* ccl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 2086
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast byte[]
            iconst_0
            iload 3 /* len */
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
        30: .line 2087
            goto 57
      StackMap locals:
      StackMap stack:
        31: aload 6 /* ccl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 34
        32: .line 2088
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast long[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
        33: .line 2089
            goto 57
      StackMap locals:
      StackMap stack:
        34: aload 6 /* ccl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 37
        35: .line 2090
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast float[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
        36: .line 2091
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 6 /* ccl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 40
        38: .line 2092
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast double[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
        39: .line 2093
            goto 57
      StackMap locals:
      StackMap stack:
        40: aload 6 /* ccl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 43
        41: .line 2094
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast short[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
        42: .line 2095
            goto 57
      StackMap locals:
      StackMap stack:
        43: aload 6 /* ccl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 46
        44: .line 2096
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast char[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
        45: .line 2097
            goto 57
      StackMap locals:
      StackMap stack:
        46: aload 6 /* ccl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 49
        47: .line 2098
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast boolean[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
        48: .line 2099
            goto 57
        49: .line 2100
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        50: .line 2103
      StackMap locals:
      StackMap stack:
            aload 4 /* array */
            checkcast java.lang.Object[]
            astore 9 /* oa */
        start local 9 // java.lang.Object[] oa
        51: .line 2104
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 56
        53: .line 2105
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 9 /* oa */
            iload 10 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        54: .line 2106
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        55: .line 2104
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 10 /* i */
            iload 3 /* len */
            if_icmplt 53
        end local 10 // int i
        end local 9 // java.lang.Object[] oa
        57: .line 2110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        58: .line 2111
            aload 0 /* this */
            iload 7 /* arrayHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        59: .line 2112
            aload 4 /* array */
            areturn
        end local 8 // java.lang.ClassNotFoundException resolveEx
        end local 7 // int arrayHandle
        end local 6 // java.lang.Class ccl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.Object array
        end local 3 // int len
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0         this  Ljava/io/ObjectInputStream;
            0   60     1     unshared  Z
            3   60     2         desc  Ljava/io/ObjectStreamClass;
            4   60     3          len  I
            6   60     4        array  Ljava/lang/Object;
            8   60     5           cl  Ljava/lang/Class<*>;
            7   60     6          ccl  Ljava/lang/Class<*>;
           14   60     7  arrayHandle  I
           15   60     8    resolveEx  Ljava/lang/ClassNotFoundException;
           19   23     9            i  I
           51   57     9           oa  [Ljava/lang/Object;
           52   57    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Enum<?> readEnum(boolean);
    descriptor: (Z)Ljava/lang/Enum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2120
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 126
            if_icmpeq 2
         1: .line 2121
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2125
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isEnum:()Z
            ifne 5
         4: .line 2126
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "non-enum class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2129
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 6
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 7
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
         6: aconst_null
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* enumHandle */
        start local 3 // int enumHandle
         8: .line 2130
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         9: .line 2131
            aload 4 /* resolveEx */
            ifnull 11
        10: .line 2132
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        11: .line 2135
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 2136
            aconst_null
            astore 6 /* result */
        start local 6 // java.lang.Enum result
        13: .line 2137
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
        14: .line 2138
            aload 7 /* cl */
            ifnull 28
        15: .line 2141
            aload 7 /* cl */
            aload 5 /* name */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 8 /* en */
        start local 8 // java.lang.Enum en
        16: .line 2142
            aload 8 /* en */
            astore 6 /* result */
        end local 8 // java.lang.Enum en
        17: .line 2143
            goto 26
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
        18: astore 8 /* ex */
        start local 8 // java.lang.IllegalArgumentException ex
        19: .line 2144
            new java.io.InvalidObjectException
            dup
        20: .line 2145
            new java.lang.StringBuilder
            dup
            ldc "enum constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 2146
            aload 7 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 2145
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 2144
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
        24: .line 2146
            aload 8 /* ex */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        25: .line 2144
            checkcast java.io.IOException
            athrow
        end local 8 // java.lang.IllegalArgumentException ex
        26: .line 2148
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifne 28
        27: .line 2149
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 6 /* result */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        28: .line 2153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        29: .line 2154
            aload 0 /* this */
            iload 3 /* enumHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        30: .line 2155
            aload 6 /* result */
            areturn
        end local 7 // java.lang.Class cl
        end local 6 // java.lang.Enum result
        end local 5 // java.lang.String name
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // int enumHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Ljava/io/ObjectInputStream;
            0   31     1    unshared  Z
            3   31     2        desc  Ljava/io/ObjectStreamClass;
            8   31     3  enumHandle  I
            9   31     4   resolveEx  Ljava/lang/ClassNotFoundException;
           12   31     5        name  Ljava/lang/String;
           13   31     6      result  Ljava/lang/Enum<*>;
           14   31     7          cl  Ljava/lang/Class<*>;
           16   17     8          en  Ljava/lang/Enum<*>;
           19   26     8          ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    17      18  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Enum<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readOrdinaryObject(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2168
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 115
            if_icmpeq 2
         1: .line 2169
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2173
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
         4: .line 2175
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         5: .line 2176
            aload 3 /* cl */
            ldc Ljava/lang/String;
            if_acmpeq 7
            aload 3 /* cl */
            ldc Ljava/lang/Class;
            if_acmpeq 7
         6: .line 2177
            aload 3 /* cl */
            ldc Ljava/io/ObjectStreamClass;
            if_acmpne 8
         7: .line 2178
      StackMap locals: java.io.ObjectStreamClass java.lang.Class
      StackMap stack:
            new java.io.InvalidClassException
            dup
            ldc "invalid class descriptor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2183
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
            ifeq 9
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 2184
            goto 19
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        13: .line 2185
            new java.io.InvalidClassException
            dup
        14: .line 2186
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2187
            ldc "unable to create instance"
        16: .line 2185
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2187
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 2185
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // java.lang.Object obj
        19: .line 2190
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 20
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 21
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        20: aload 4 /* obj */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        22: .line 2191
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 5 /* resolveEx */
        start local 5 // java.lang.ClassNotFoundException resolveEx
        23: .line 2192
            aload 5 /* resolveEx */
            ifnull 25
        24: .line 2193
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        25: .line 2196
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isRecord:()Z
            istore 6 /* isRecord */
        start local 6 // boolean isRecord
        26: .line 2197
            iload 6 /* isRecord */
            ifeq 32
        27: .line 2198
            getstatic java.io.ObjectInputStream.$assertionsDisabled:Z
            ifne 28
            aload 4 /* obj */
            ifnull 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 2199
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readRecord:(Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
            astore 4 /* obj */
        29: .line 2200
            iload 1 /* unshared */
            ifne 36
        30: .line 2201
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        31: .line 2202
            goto 36
      StackMap locals:
      StackMap stack:
        32: aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
            ifeq 35
        33: .line 2203
            aload 0 /* this */
            aload 4 /* obj */
            checkcast java.io.Externalizable
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
        34: .line 2204
            goto 36
        35: .line 2205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* obj */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        36: .line 2208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        37: .line 2210
            aload 4 /* obj */
            ifnull 50
        38: .line 2211
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 50
        39: .line 2212
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
            ifeq 50
        40: .line 2214
            aload 2 /* desc */
            aload 4 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* rep */
        start local 7 // java.lang.Object rep
        41: .line 2215
            iload 1 /* unshared */
            ifeq 43
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 43
        42: .line 2216
            aload 7 /* rep */
            invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* rep */
        43: .line 2218
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* rep */
            aload 4 /* obj */
            if_acmpeq 50
        44: .line 2220
            aload 7 /* rep */
            ifnull 49
        45: .line 2221
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 48
        46: .line 2222
            aload 0 /* this */
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 7 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        47: .line 2223
            goto 49
        48: .line 2224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        49: .line 2227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 7 /* rep */
            dup
            astore 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        end local 7 // java.lang.Object rep
        50: .line 2231
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 6 // boolean isRecord
        end local 5 // java.lang.ClassNotFoundException resolveEx
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   51     0       this  Ljava/io/ObjectInputStream;
            0   51     1   unshared  Z
            3   51     2       desc  Ljava/io/ObjectStreamClass;
            5   51     3         cl  Ljava/lang/Class<*>;
           11   12     4        obj  Ljava/lang/Object;
           19   51     4        obj  Ljava/lang/Object;
           13   19     5         ex  Ljava/lang/Exception;
           23   51     5  resolveEx  Ljava/lang/ClassNotFoundException;
           26   51     6   isRecord  Z
           41   50     7        rep  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.Externalizable obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2243
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 3 /* oldContext */
        start local 3 // java.io.SerialCallbackContext oldContext
         1: .line 2244
            aload 3 /* oldContext */
            ifnull 3
         2: .line 2245
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
         3: .line 2246
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
         4: .line 2248
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
            istore 4 /* blocked */
        start local 4 // boolean blocked
         5: .line 2249
            iload 4 /* blocked */
            ifeq 7
         6: .line 2250
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         7: .line 2252
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ifnull 12
         8: .line 2254
            aload 1 /* obj */
            aload 0 /* this */
            invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
         9: .line 2255
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 2263
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 5 // java.lang.ClassNotFoundException ex
        12: .line 2266
      StackMap locals:
      StackMap stack:
            iload 4 /* blocked */
            ifeq 20
        13: .line 2267
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        end local 4 // boolean blocked
        14: .line 2269
            goto 20
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack: java.lang.Throwable
        15: astore 6
        16: .line 2270
            aload 3 /* oldContext */
            ifnull 18
        17: .line 2271
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        18: .line 2272
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        19: .line 2273
            aload 6
            athrow
        20: .line 2270
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack:
            aload 3 /* oldContext */
            ifnull 22
        21: .line 2271
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        22: .line 2272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        23: .line 2286
            return
        end local 3 // java.io.SerialCallbackContext oldContext
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.io.Externalizable obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/io/ObjectInputStream;
            0   24     1         obj  Ljava/io/Externalizable;
            0   24     2        desc  Ljava/io/ObjectStreamClass;
            1   24     3  oldContext  Ljava/io/SerialCallbackContext;
            5   14     4     blocked  Z
           11   12     5          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private java.lang.Object readRecord(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 2290
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 2 /* slots */
        start local 2 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2291
            aload 2 /* slots */
            arraylength
            iconst_1
            if_icmpeq 9
         2: .line 2293
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 2294
      StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
      StackMap stack:
            aload 2 /* slots */
            iload 3 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 4 /* slotDesc */
        start local 4 // java.io.ObjectStreamClass slotDesc
         5: .line 2295
            aload 2 /* slots */
            iload 3 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 7
         6: .line 2296
            aload 0 /* this */
            aconst_null
            aload 4 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            pop
        end local 4 // java.io.ObjectStreamClass slotDesc
         7: .line 2293
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* slots */
            arraylength
            iconst_1
            isub
            if_icmplt 4
        end local 3 // int i
         9: .line 2301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* desc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 3 /* fieldValues */
        start local 3 // java.io.ObjectInputStream$FieldValues fieldValues
        10: .line 2307
            aload 1 /* desc */
            invokestatic java.io.ObjectStreamClass$RecordSupport.deserializationCtr:(Ljava/io/ObjectStreamClass;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* ctrMH */
        start local 4 // java.lang.invoke.MethodHandle ctrMH
        11: .line 2310
            aload 4 /* ctrMH */
            aload 3 /* fieldValues */
            getfield java.io.ObjectInputStream$FieldValues.primValues:[B
            aload 3 /* fieldValues */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:([B[Ljava/lang/Object;)Ljava/lang/Object;
        12: areturn
        13: .line 2311
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        14: .line 2312
            new java.io.InvalidObjectException
            dup
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 6 /* ioe */
        start local 6 // java.io.InvalidObjectException ioe
        15: .line 2313
            aload 6 /* ioe */
            aload 5 /* e */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 2314
            aload 6 /* ioe */
            athrow
        end local 6 // java.io.InvalidObjectException ioe
        end local 5 // java.lang.Exception e
        17: .line 2315
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 5 /* e */
        start local 5 // java.lang.Error e
        18: .line 2316
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Error e
        19: .line 2317
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        20: .line 2318
            new java.io.InvalidObjectException
            dup
        21: .line 2319
            ldc "ReflectiveOperationException during deserialization"
        22: .line 2318
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 6 /* ose */
        start local 6 // java.io.ObjectStreamException ose
        23: .line 2320
            aload 6 /* ose */
            aload 5 /* t */
            invokevirtual java.io.ObjectStreamException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        24: .line 2321
            aload 6 /* ose */
            athrow
        end local 6 // java.io.ObjectStreamException ose
        end local 5 // java.lang.Throwable t
        end local 4 // java.lang.invoke.MethodHandle ctrMH
        end local 3 // java.io.ObjectInputStream$FieldValues fieldValues
        end local 2 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Ljava/io/ObjectInputStream;
            0   25     1         desc  Ljava/io/ObjectStreamClass;
            1   25     2        slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            3    9     3            i  I
            5    7     4     slotDesc  Ljava/io/ObjectStreamClass;
           10   25     3  fieldValues  Ljava/io/ObjectInputStream$FieldValues;
           11   25     4        ctrMH  Ljava/lang/invoke/MethodHandle;
           14   17     5            e  Ljava/lang/Exception;
           15   17     6          ioe  Ljava/io/InvalidObjectException;
           18   19     5            e  Ljava/lang/Error;
           20   25     5            t  Ljava/lang/Throwable;
           23   25     6          ose  Ljava/io/ObjectStreamException;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Exception
          11    12      17  Class java.lang.Error
          11    12      19  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      desc  

  private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2334
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 3 /* slots */
        start local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2340
            aconst_null
            astore 4 /* slotValues */
        start local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
         2: .line 2342
            iconst_0
            istore 5 /* hasSpecialReadMethod */
        start local 5 // boolean hasSpecialReadMethod
         3: .line 2343
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 11
         5: .line 2344
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
         6: .line 2345
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifne 8
         7: .line 2346
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 10
         8: .line 2347
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            iconst_1
            istore 5 /* hasSpecialReadMethod */
         9: .line 2348
            goto 12
        end local 7 // java.io.ObjectStreamClass slotDesc
        10: .line 2343
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 5
        end local 6 // int i
        12: .line 2352
      StackMap locals:
      StackMap stack:
            iload 5 /* hasSpecialReadMethod */
            ifne 14
        13: .line 2353
            aload 3 /* slots */
            arraylength
            anewarray java.io.ObjectInputStream$FieldValues
            astore 4 /* slotValues */
        14: .line 2355
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 87
        16: .line 2356
      StackMap locals: int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
        17: .line 2358
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 82
        18: .line 2359
            aload 1 /* obj */
            ifnull 19
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 21
        19: .line 2360
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            pop
        20: .line 2361
            goto 77
      StackMap locals:
      StackMap stack:
        21: aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifeq 70
        22: .line 2362
            aconst_null
            astore 8 /* t */
        start local 8 // java.lang.ThreadDeath t
        23: .line 2363
            iconst_0
            istore 9 /* reset */
        start local 9 // boolean reset
        24: .line 2364
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 10 /* oldContext */
        start local 10 // java.io.SerialCallbackContext oldContext
        25: .line 2365
            aload 10 /* oldContext */
            ifnull 27
        26: .line 2366
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        27: .line 2368
      StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            new java.io.SerialCallbackContext
            dup
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        28: .line 2370
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 2371
            aload 7 /* slotDesc */
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
        30: .line 2372
            goto 57
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        31: astore 11 /* ex */
        start local 11 // java.lang.ClassNotFoundException ex
        32: .line 2380
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 11 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 11 // java.lang.ClassNotFoundException ex
        33: .line 2384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        34: .line 2385
            aload 10 /* oldContext */
            ifnull 36
        35: .line 2386
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        36: .line 2387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        37: .line 2388
            iconst_1
            istore 9 /* reset */
        38: .line 2389
            goto 41
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        39: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        40: .line 2390
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        41: .line 2392
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 33
        42: .line 2393
            aload 8 /* t */
            ifnull 68
        43: .line 2394
            aload 8 /* t */
            athrow
        44: .line 2381
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        45: .line 2384
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        46: .line 2385
            aload 10 /* oldContext */
            ifnull 48
        47: .line 2386
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        48: .line 2387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        49: .line 2388
            iconst_1
            istore 9 /* reset */
        50: .line 2389
            goto 53
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        51: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        52: .line 2390
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        53: .line 2392
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 45
        54: .line 2393
            aload 8 /* t */
            ifnull 56
        55: .line 2394
            aload 8 /* t */
            athrow
        56: .line 2395
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        57: .line 2384
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        58: .line 2385
            aload 10 /* oldContext */
            ifnull 60
        59: .line 2386
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        60: .line 2387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        61: .line 2388
            iconst_1
            istore 9 /* reset */
        62: .line 2389
            goto 65
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        63: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        64: .line 2390
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        65: .line 2392
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 57
        66: .line 2393
            aload 8 /* t */
            ifnull 68
        67: .line 2394
            aload 8 /* t */
            athrow
        68: .line 2402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        end local 10 // java.io.SerialCallbackContext oldContext
        end local 9 // boolean reset
        end local 8 // java.lang.ThreadDeath t
        69: .line 2403
            goto 77
        70: .line 2404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 8 /* vals */
        start local 8 // java.io.ObjectInputStream$FieldValues vals
        71: .line 2405
            aload 4 /* slotValues */
            ifnull 74
        72: .line 2406
            aload 4 /* slotValues */
            iload 6 /* i */
            aload 8 /* vals */
            aastore
        73: .line 2407
            goto 77
      StackMap locals: java.io.ObjectInputStream$FieldValues
      StackMap stack:
        74: aload 1 /* obj */
            ifnull 77
        75: .line 2408
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        76: .line 2409
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        end local 8 // java.io.ObjectInputStream$FieldValues vals
        77: .line 2413
      StackMap locals:
      StackMap stack:
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifeq 80
        78: .line 2414
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        79: .line 2415
            goto 86
        80: .line 2416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        81: .line 2418
            goto 86
        82: .line 2419
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 86
        83: .line 2420
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 86
        84: .line 2421
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 86
        85: .line 2423
            aload 7 /* slotDesc */
            aload 1 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
        end local 7 // java.io.ObjectStreamClass slotDesc
        86: .line 2355
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 16
        end local 6 // int i
        88: .line 2428
            aload 1 /* obj */
            ifnull 101
            aload 4 /* slotValues */
            ifnull 101
        89: .line 2431
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        90: goto 94
        91: .line 2432
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 93
        92: .line 2433
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        93: .line 2431
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 91
        end local 6 // int i
        95: .line 2435
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        96: goto 100
        97: .line 2436
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 99
        98: .line 2437
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        99: .line 2435
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 97
        end local 6 // int i
       101: .line 2440
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hasSpecialReadMethod
        end local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
        end local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  102     0                  this  Ljava/io/ObjectInputStream;
            0  102     1                   obj  Ljava/lang/Object;
            0  102     2                  desc  Ljava/io/ObjectStreamClass;
            1  102     3                 slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            2  102     4            slotValues  [Ljava/io/ObjectInputStream$FieldValues;
            3  102     5  hasSpecialReadMethod  Z
            4   12     6                     i  I
            6   10     7              slotDesc  Ljava/io/ObjectStreamClass;
           15   88     6                     i  I
           17   86     7              slotDesc  Ljava/io/ObjectStreamClass;
           23   69     8                     t  Ljava/lang/ThreadDeath;
           24   69     9                 reset  Z
           25   69    10            oldContext  Ljava/io/SerialCallbackContext;
           32   33    11                    ex  Ljava/lang/ClassNotFoundException;
           40   41    13                     x  Ljava/lang/ThreadDeath;
           52   53    13                     x  Ljava/lang/ThreadDeath;
           64   65    13                     x  Ljava/lang/ThreadDeath;
           71   77     8                  vals  Ljava/io/ObjectInputStream$FieldValues;
           90   95     6                     i  I
           96  101     6                     i  I
      Exception table:
        from    to  target  type
          27    30      31  Class java.lang.ClassNotFoundException
          33    38      39  Class java.lang.ThreadDeath
          27    33      44  any
          45    50      51  Class java.lang.ThreadDeath
          57    62      63  Class java.lang.ThreadDeath
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void skipCustomData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2447
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 2449
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            ifeq 4
         2: .line 2450
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
         3: .line 2451
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         4: .line 2453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            tableswitch { // 119 - 122
                  119: 5
                  120: 7
                  121: 10
                  122: 5
              default: 10
          }
         5: .line 2456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 2457
            goto 1
         7: .line 2460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
         8: .line 2461
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         9: .line 2462
            return
        10: .line 2465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        11: .line 2448
            goto 1
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            1   12     1  oldHandle  I
    Exceptions:
      throws java.io.IOException

  private java.io.ObjectInputStream$FieldValues defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2489
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 2490
            aload 3 /* cl */
            ifnull 3
            aload 1 /* obj */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 2491
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         3: .line 2494
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            astore 4 /* primVals */
        start local 4 // byte[] primVals
         4: .line 2495
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
            istore 5 /* primDataSize */
        start local 5 // int primDataSize
         5: .line 2496
            iload 5 /* primDataSize */
            ifle 8
         6: .line 2497
            iload 5 /* primDataSize */
            newarray 8
            astore 4 /* primVals */
         7: .line 2498
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* primVals */
            iconst_0
            iload 5 /* primDataSize */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         8: .line 2501
      StackMap locals: byte[] int
      StackMap stack:
            aconst_null
            astore 6 /* objVals */
        start local 6 // java.lang.Object[] objVals
         9: .line 2502
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
            istore 7 /* numObjFields */
        start local 7 // int numObjFields
        10: .line 2503
            iload 7 /* numObjFields */
            ifle 24
        11: .line 2504
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 8 /* objHandle */
        start local 8 // int objHandle
        12: .line 2505
            aload 2 /* desc */
            iconst_0
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            astore 9 /* fields */
        start local 9 // java.io.ObjectStreamField[] fields
        13: .line 2506
            iload 7 /* numObjFields */
            anewarray java.lang.Object
            astore 6 /* objVals */
        14: .line 2507
            aload 9 /* fields */
            arraylength
            aload 6 /* objVals */
            arraylength
            isub
            istore 10 /* numPrimFields */
        start local 10 // int numPrimFields
        15: .line 2508
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 22
        17: .line 2509
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int int java.io.ObjectStreamField[] int int
      StackMap stack:
            aload 9 /* fields */
            iload 10 /* numPrimFields */
            iload 11 /* i */
            iadd
            aaload
            astore 12 /* f */
        start local 12 // java.io.ObjectStreamField f
        18: .line 2510
            aload 6 /* objVals */
            iload 11 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        19: .line 2511
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 21
        20: .line 2512
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 8 /* objHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        end local 12 // java.io.ObjectStreamField f
        21: .line 2508
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 11 /* i */
            aload 6 /* objVals */
            arraylength
            if_icmplt 17
        end local 11 // int i
        23: .line 2515
            aload 0 /* this */
            iload 8 /* objHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        end local 10 // int numPrimFields
        end local 9 // java.io.ObjectStreamField[] fields
        end local 8 // int objHandle
        24: .line 2518
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int
      StackMap stack:
            new java.io.ObjectInputStream$FieldValues
            dup
            aload 0 /* this */
            aload 4 /* primVals */
            aload 6 /* objVals */
            invokespecial java.io.ObjectInputStream$FieldValues.<init>:(Ljava/io/ObjectInputStream;[B[Ljava/lang/Object;)V
            areturn
        end local 7 // int numObjFields
        end local 6 // java.lang.Object[] objVals
        end local 5 // int primDataSize
        end local 4 // byte[] primVals
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljava/io/ObjectInputStream;
            0   25     1            obj  Ljava/lang/Object;
            0   25     2           desc  Ljava/io/ObjectStreamClass;
            1   25     3             cl  Ljava/lang/Class<*>;
            4   25     4       primVals  [B
            5   25     5   primDataSize  I
            9   25     6        objVals  [Ljava/lang/Object;
           10   25     7   numObjFields  I
           12   24     8      objHandle  I
           13   24     9         fields  [Ljava/io/ObjectStreamField;
           15   24    10  numPrimFields  I
           16   23    11              i  I
           18   21    12              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void defaultCheckFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2524
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 4 /* objectValues */
        start local 4 // java.lang.Object[] objectValues
         1: .line 2525
            aload 4 /* objectValues */
            ifnull 3
         2: .line 2526
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.checkObjFieldValueTypes:(Ljava/lang/Object;[Ljava/lang/Object;)V
         3: .line 2527
      StackMap locals: java.lang.Object[]
      StackMap stack:
            return
        end local 4 // java.lang.Object[] objectValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/io/ObjectInputStream;
            0    4     1           obj  Ljava/lang/Object;
            0    4     2          desc  Ljava/io/ObjectStreamClass;
            0    4     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    4     4  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private void defaultSetFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2532
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.primValues:[B
            astore 4 /* primValues */
        start local 4 // byte[] primValues
         1: .line 2533
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 5 /* objectValues */
        start local 5 // java.lang.Object[] objectValues
         2: .line 2535
            aload 4 /* primValues */
            ifnull 4
         3: .line 2536
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* primValues */
            invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
         4: .line 2537
      StackMap locals: byte[] java.lang.Object[]
      StackMap stack:
            aload 5 /* objectValues */
            ifnull 6
         5: .line 2538
            aload 2 /* desc */
            aload 1 /* obj */
            aload 5 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
         6: .line 2539
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object[] objectValues
        end local 4 // byte[] primValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljava/io/ObjectInputStream;
            0    7     1           obj  Ljava/lang/Object;
            0    7     2          desc  Ljava/io/ObjectStreamClass;
            0    7     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    7     4    primValues  [B
            2    7     5  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private java.io.IOException readFatalException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2547
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 123
            if_icmpeq 2
         1: .line 2548
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 2551
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            checkcast java.io.IOException
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private void handleReset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2560
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifle 4
         1: .line 2561
            new java.io.StreamCorruptedException
            dup
         2: .line 2562
            new java.lang.StringBuilder
            dup
            ldc "unexpected reset; recursion depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2561
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         5: .line 2565
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.StreamCorruptedException

  private static java.lang.ClassLoader latestUserDefinedLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2574
            invokestatic jdk.internal.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void freeze();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2953
            getstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
            invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
         1: .line 2954
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;

  private static java.lang.Object cloneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 4137
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 2
         1: .line 4138
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            areturn
         2: .line 4139
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof boolean[]
            ifeq 4
         3: .line 4140
            aload 0 /* array */
            checkcast boolean[]
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            areturn
         4: .line 4141
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof byte[]
            ifeq 6
         5: .line 4142
            aload 0 /* array */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
         6: .line 4143
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof char[]
            ifeq 8
         7: .line 4144
            aload 0 /* array */
            checkcast char[]
            invokevirtual char[].clone:()Ljava/lang/Object;
            areturn
         8: .line 4145
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 10
         9: .line 4146
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        10: .line 4147
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof float[]
            ifeq 12
        11: .line 4148
            aload 0 /* array */
            checkcast float[]
            invokevirtual float[].clone:()Ljava/lang/Object;
            areturn
        12: .line 4149
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof int[]
            ifeq 14
        13: .line 4150
            aload 0 /* array */
            checkcast int[]
            invokevirtual int[].clone:()Ljava/lang/Object;
            areturn
        14: .line 4151
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof long[]
            ifeq 16
        15: .line 4152
            aload 0 /* array */
            checkcast long[]
            invokevirtual long[].clone:()Ljava/lang/Object;
            areturn
        16: .line 4153
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof short[]
            ifeq 18
        17: .line 4154
            aload 0 /* array */
            checkcast short[]
            invokevirtual short[].clone:()Ljava/lang/Object;
            areturn
        18: .line 4156
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  
}
SourceFile: "ObjectInputStream.java"
NestMembers:
  java.io.ObjectInputStream$1  java.io.ObjectInputStream$BlockDataInputStream  java.io.ObjectInputStream$Caches  java.io.ObjectInputStream$FieldValues  java.io.ObjectInputStream$FilterValues  java.io.ObjectInputStream$GetField  java.io.ObjectInputStream$GetFieldImpl  java.io.ObjectInputStream$HandleTable  java.io.ObjectInputStream$HandleTable$HandleList  java.io.ObjectInputStream$Logging  java.io.ObjectInputStream$PeekInputStream  java.io.ObjectInputStream$ValidationList  java.io.ObjectInputStream$ValidationList$1  java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
  public final Config = java.io.ObjectInputFilter$Config of java.io.ObjectInputFilter
  public abstract FilterInfo = java.io.ObjectInputFilter$FilterInfo of java.io.ObjectInputFilter
  public final Status = java.io.ObjectInputFilter$Status of java.io.ObjectInputFilter
  java.io.ObjectInputStream$1
  private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
  private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
  FieldValues = java.io.ObjectInputStream$FieldValues of java.io.ObjectInputStream
  FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
  private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
  private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
  private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
  private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  final RecordSupport = java.io.ObjectStreamClass$RecordSupport of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles