final class com.microsoft.sqlserver.jdbc.TDSReader implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.TDSReader
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -392905303734809731

  private static final java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String traceID;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.concurrent.ScheduledFuture<?> timeout;
    descriptor: Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ScheduledFuture<*>;

  private final com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.sqlserver.jdbc.SQLServerConnection con;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.sqlserver.jdbc.TDSCommand command;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.microsoft.sqlserver.jdbc.TDSPacket currentPacket;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSPacket;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.TDSPacket lastPacket;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSPacket;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private byte serverSupportedDataClassificationVersion;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion columnEncryptionVersion;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
    flags: (0x0002) ACC_PRIVATE

  private final byte[] valueBytes;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected com.microsoft.sqlserver.jdbc.dataclassification.SensitivityClassification sensitivityClassification;
    descriptor: Lcom/microsoft/sqlserver/jdbc/dataclassification/SensitivityClassification;
    flags: (0x0004) ACC_PROTECTED

  private static final java.util.concurrent.atomic.AtomicInteger lastReaderID;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] SCALED_MULTIPLIERS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String guidTemplate;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN"

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

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 6434
            ldc Lcom/microsoft/sqlserver/jdbc/TDSReader;
            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 com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
         3: .line 6441
            ldc "com.microsoft.sqlserver.jdbc.internals.TDS.Reader"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
         4: .line 6480
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.TDSReader.lastReaderID:Ljava/util/concurrent/atomic/AtomicInteger;
         5: .line 7076
            bipush 8
            newarray 10
            dup
            iconst_0
            ldc 10000000
            iastore
            dup
            iconst_1
            ldc 1000000
            iastore
            dup
            iconst_2
            ldc 100000
            iastore
            dup
            iconst_3
            sipush 10000
            iastore
            dup
            iconst_4
            sipush 1000
            iastore
            dup
            iconst_5
            bipush 100
            iastore
            dup
            bipush 6
            bipush 10
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic com.microsoft.sqlserver.jdbc.TDSReader.SCALED_MULTIPLIERS:[I
         6: .line 7096
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6446
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.traceID:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final com.microsoft.sqlserver.jdbc.TDSCommand getCommand();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6455
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final com.microsoft.sqlserver.jdbc.SQLServerConnection getConnection();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6460
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  private static int nextReaderID();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 6483
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.lastReaderID:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.microsoft.sqlserver.jdbc.TDSChannel, com.microsoft.sqlserver.jdbc.SQLServerConnection, com.microsoft.sqlserver.jdbc.TDSCommand);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/TDSCommand;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        start local 3 // com.microsoft.sqlserver.jdbc.TDSCommand command
         0: .line 6486
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 6463
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.TDSPacket
            dup
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.TDSPacket.<init>:(I)V
            putfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
         2: .line 6464
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.lastPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
         3: .line 6465
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         4: .line 6466
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
         5: .line 6468
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSReader.isStreaming:Z
         6: .line 6469
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.useColumnEncryption:Z
         7: .line 6470
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsColumnEncryption:Z
         8: .line 6471
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsDataClassification:Z
         9: .line 6472
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportedDataClassificationVersion:B
        10: .line 6476
            aload 0 /* this */
            sipush 256
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
        11: .line 6487
            aload 0 /* this */
            aload 1 /* tdsChannel */
            putfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
        12: .line 6488
            aload 0 /* this */
            aload 2 /* con */
            putfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        13: .line 6489
            aload 0 /* this */
            aload 3 /* command */
            putfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        14: .line 6491
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 16
        15: .line 6492
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "TDSReader@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.microsoft.sqlserver.jdbc.TDSReader.nextReaderID:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.traceID:Ljava/lang/String;
            goto 17
        16: .line 6494
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSChannel com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSCommand
      StackMap stack:
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.traceID:Ljava/lang/String;
        17: .line 6495
      StackMap locals:
      StackMap stack:
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isColumnEncryptionSettingEnabled:()Z
            ifeq 19
        18: .line 6496
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSReader.useColumnEncryption:Z
        19: .line 6498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportsColumnEncryption:()Z
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsColumnEncryption:Z
        20: .line 6499
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerColumnEncryptionVersion:()Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.columnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
        21: .line 6500
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportsDataClassification:()Z
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsDataClassification:Z
        22: .line 6501
            aload 0 /* this */
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportedDataClassificationVersion:()B
            putfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportedDataClassificationVersion:B
        23: .line 6502
            return
        end local 3 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   24     1  tdsChannel  Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            0   24     2         con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   24     3     command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    MethodParameters:
            Name  Flags
      tdsChannel  
      con         
      command     

  final boolean isColumnEncryptionSettingEnabled();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6505
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.useColumnEncryption:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final boolean getServerSupportsColumnEncryption();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6509
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsColumnEncryption:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final boolean getServerSupportsDataClassification();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6513
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportsDataClassification:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final byte getServerSupportedDataClassificationVersion();
    descriptor: ()B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6517
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.serverSupportedDataClassificationVersion:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final void throwInvalidTDS();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6521
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 6522
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " got unexpected value in TDS response at offset:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
         2: .line 6523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
         3: .line 6524
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void throwInvalidTDSToken(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // java.lang.String tokenName
         0: .line 6527
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 6528
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " got unexpected value in TDS response at offset:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
         2: .line 6529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 1 /* tokenName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDSToken:(Ljava/lang/String;)V
         3: .line 6530
            return
        end local 1 // java.lang.String tokenName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    4     1  tokenName  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tokenName  

  private boolean ensurePayload();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6539
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpne 3
         1: .line 6540
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.nextPacket:()Z
            ifne 3
         2: .line 6541
            iconst_0
            ireturn
         3: .line 6542
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmplt 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 6543
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private boolean nextPacket();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6552
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            astore 1 /* consumedPacket */
        start local 1 // com.microsoft.sqlserver.jdbc.TDSPacket consumedPacket
         2: .line 6556
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            aload 1 /* consumedPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 6561
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSPacket
      StackMap stack:
            aload 1 /* consumedPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            ifnonnull 9
         4: .line 6564
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 6
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getTDSWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.checkIfTdsMessageTypeIsBatchOrRPC:()Z
            ifeq 6
         5: .line 6565
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            invokeinterface com.microsoft.sqlserver.jdbc.ICounter.resetCounter:()V
         6: .line 6567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readPacket:()Z
            pop
         7: .line 6569
            aload 1 /* consumedPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            ifnonnull 9
         8: .line 6570
            iconst_0
            ireturn
         9: .line 6576
      StackMap locals:
      StackMap stack:
            aload 1 /* consumedPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            astore 2 /* nextPacket */
        start local 2 // com.microsoft.sqlserver.jdbc.TDSPacket nextPacket
        10: .line 6577
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.isStreaming:Z
            ifeq 14
        11: .line 6578
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 13
        12: .line 6579
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Moving to next packet -- unlinking consumed packet"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
        13: .line 6581
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSPacket
      StackMap stack:
            aload 1 /* consumedPacket */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
        14: .line 6583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* nextPacket */
            putfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
        15: .line 6584
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
        16: .line 6585
            iconst_1
            ireturn
        end local 2 // com.microsoft.sqlserver.jdbc.TDSPacket nextPacket
        end local 1 // com.microsoft.sqlserver.jdbc.TDSPacket consumedPacket
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2   17     1  consumedPacket  Lcom/microsoft/sqlserver/jdbc/TDSPacket;
           10   17     2      nextPacket  Lcom/microsoft/sqlserver/jdbc/TDSPacket;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final synchronized boolean readPacket();
    descriptor: ()Z
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6595
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.readingResponse:()Z
            ifne 2
         1: .line 6596
            iconst_0
            ireturn
         2: .line 6601
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsRcvd:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
            if_icmplt 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "numMsgsRcvd:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsRcvd:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 6602
            ldc " should be less than numMsgsSent:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 6604
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.TDSPacket
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            invokespecial com.microsoft.sqlserver.jdbc.TDSPacket.<init>:(I)V
            astore 1 /* newPacket */
        start local 1 // com.microsoft.sqlserver.jdbc.TDSPacket newPacket
         5: .line 6605
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 9
         6: .line 6609
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCancelQueryTimeoutSeconds:()I
            ifle 9
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getQueryTimeoutSeconds:()I
            ifle 9
         7: .line 6611
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCancelQueryTimeoutSeconds:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getQueryTimeoutSeconds:()I
            iadd
            istore 2 /* seconds */
        start local 2 // int seconds
         8: .line 6612
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSharedTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            new com.microsoft.sqlserver.jdbc.TDSTimeoutTask
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokespecial com.microsoft.sqlserver.jdbc.TDSTimeoutTask.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            iload 2 /* seconds */
            i2l
            invokevirtual com.microsoft.sqlserver.jdbc.SharedTimer.schedule:(Lcom/microsoft/sqlserver/jdbc/TDSTimeoutTask;J)Ljava/util/concurrent/ScheduledFuture;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.timeout:Ljava/util/concurrent/ScheduledFuture;
        end local 2 // int seconds
         9: .line 6616
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSPacket
      StackMap stack:
            iconst_0
            istore 2 /* headerBytesRead */
        start local 2 // int headerBytesRead
        10: goto 27
        11: .line 6617
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.header:[B
            iload 2 /* headerBytesRead */
        12: .line 6618
            bipush 8
            iload 2 /* headerBytesRead */
            isub
        13: .line 6617
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.read:([BII)I
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
        14: .line 6619
            iload 3 /* bytesRead */
            ifge 26
        15: .line 6620
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 19
        16: .line 6621
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Premature EOS in response. packetNum:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " headerBytesRead:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 6622
            iload 2 /* headerBytesRead */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 6621
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        19: .line 6624
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            iconst_3
        20: .line 6625
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
            ifne 24
            iload 2 /* headerBytesRead */
            ifne 24
        21: .line 6626
            ldc "R_noServerResponse"
        22: .line 6625
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 6626
            goto 25
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSPacket int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
        24: ldc "R_truncatedServerResponse"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 6624
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSPacket int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int java.lang.String
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        26: .line 6629
      StackMap locals:
      StackMap stack:
            iload 2 /* headerBytesRead */
            iload 3 /* bytesRead */
            iadd
            istore 2 /* headerBytesRead */
        end local 3 // int bytesRead
        27: .line 6616
      StackMap locals:
      StackMap stack:
            iload 2 /* headerBytesRead */
            bipush 8
            if_icmplt 11
        end local 2 // int headerBytesRead
        28: .line 6633
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.timeout:Ljava/util/concurrent/ScheduledFuture;
            ifnull 31
        29: .line 6634
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.timeout:Ljava/util/concurrent/ScheduledFuture;
            iconst_0
            invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
            pop
        30: .line 6635
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSReader.timeout:Ljava/util/concurrent/ScheduledFuture;
        31: .line 6638
      StackMap locals:
      StackMap stack:
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.header:[B
            iconst_2
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShortBigEndian:([BI)I
            istore 2 /* packetLength */
        start local 2 // int packetLength
        32: .line 6641
            iload 2 /* packetLength */
            bipush 8
            if_icmplt 33
            iload 2 /* packetLength */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            if_icmple 38
        33: .line 6642
      StackMap locals: int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 37
        34: .line 6643
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " TDS header contained invalid packet length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* packetLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        35: .line 6644
            ldc "; packet size:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 6643
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        37: .line 6646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        38: .line 6649
      StackMap locals:
      StackMap stack:
            aload 1 /* newPacket */
            iload 2 /* packetLength */
            bipush 8
            isub
            putfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
        39: .line 6652
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.header:[B
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShortBigEndian:([BI)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.setSPID:(I)V
        40: .line 6656
            aconst_null
            astore 3 /* logBuffer */
        start local 3 // byte[] logBuffer
        41: .line 6657
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 44
        42: .line 6658
            iload 2 /* packetLength */
            newarray 8
            astore 3 /* logBuffer */
        43: .line 6659
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.header:[B
            iconst_0
            aload 3 /* logBuffer */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        44: .line 6663
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.checkIfTdsMessageTypeIsBatchOrRPC:()Z
            ifeq 46
        45: .line 6664
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            iload 2 /* packetLength */
            i2l
            invokeinterface com.microsoft.sqlserver.jdbc.ICounter.increaseCounter:(J)V
        46: .line 6668
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* payloadBytesRead */
        start local 4 // int payloadBytesRead
        47: goto 56
        48: .line 6669
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            iload 4 /* payloadBytesRead */
        49: .line 6670
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            iload 4 /* payloadBytesRead */
            isub
        50: .line 6669
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.read:([BII)I
            istore 5 /* bytesRead */
        start local 5 // int bytesRead
        51: .line 6671
            iload 5 /* bytesRead */
            ifge 55
        52: .line 6672
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            iconst_3
        53: .line 6673
            ldc "R_truncatedServerResponse"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        54: .line 6672
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        55: .line 6675
      StackMap locals: int
      StackMap stack:
            iload 4 /* payloadBytesRead */
            iload 5 /* bytesRead */
            iadd
            istore 4 /* payloadBytesRead */
        end local 5 // int bytesRead
        56: .line 6668
      StackMap locals:
      StackMap stack:
            iload 4 /* payloadBytesRead */
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmplt 48
        end local 4 // int payloadBytesRead
        57: .line 6678
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
        58: .line 6680
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.lastPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            aload 1 /* newPacket */
            putfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
        59: .line 6681
            aload 0 /* this */
            aload 1 /* newPacket */
            putfield com.microsoft.sqlserver.jdbc.TDSReader.lastPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
        60: .line 6684
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 65
        61: .line 6685
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            iconst_0
            aload 3 /* logBuffer */
            bipush 8
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        62: .line 6686
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 3 /* logBuffer */
            iconst_0
            iload 2 /* packetLength */
        63: .line 6687
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " received Packet:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.packetNum:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* newPacket */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        64: .line 6686
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.logPacket:([BIILjava/lang/String;)V
        65: .line 6693
      StackMap locals:
      StackMap stack:
            aload 1 /* newPacket */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSPacket.isEOM:()Z
            ifeq 69
        66: .line 6694
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsRcvd:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsRcvd:I
        67: .line 6697
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 69
        68: .line 6698
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.onResponseEOM:()V
        69: .line 6701
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // byte[] logBuffer
        end local 2 // int packetLength
        end local 1 // com.microsoft.sqlserver.jdbc.TDSPacket newPacket
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   70     0              this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            5   70     1         newPacket  Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            8    9     2           seconds  I
           10   28     2   headerBytesRead  I
           14   27     3         bytesRead  I
           32   70     2      packetLength  I
           41   70     3         logBuffer  [B
           47   57     4  payloadBytesRead  I
           51   56     5         bytesRead  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final com.microsoft.sqlserver.jdbc.TDSReaderMark mark();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6705
            new com.microsoft.sqlserver.jdbc.TDSReaderMark
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokespecial com.microsoft.sqlserver.jdbc.TDSReaderMark.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSPacket;I)V
            astore 1 /* mark */
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
         1: .line 6706
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSReader.isStreaming:Z
         2: .line 6708
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         3: .line 6709
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Buffering from: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mark */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         4: .line 6711
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReaderMark
      StackMap stack:
            aload 1 /* mark */
            areturn
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            1    5     1  mark  Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;

  final void reset(com.microsoft.sqlserver.jdbc.TDSReaderMark);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
         0: .line 6715
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 6716
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Resetting to: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mark */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         2: .line 6718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mark */
            getfield com.microsoft.sqlserver.jdbc.TDSReaderMark.packet:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            putfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
         3: .line 6719
            aload 0 /* this */
            aload 1 /* mark */
            getfield com.microsoft.sqlserver.jdbc.TDSReaderMark.payloadOffset:I
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         4: .line 6720
            return
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    5     1  mark  Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
    MethodParameters:
      Name  Flags
      mark  

  final void stream();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6723
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSReader.isStreaming:Z
         1: .line 6724
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;

  final int available();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6736
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            isub
            istore 1 /* available */
        start local 1 // int available
         1: .line 6737
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            astore 2 /* packet */
        start local 2 // com.microsoft.sqlserver.jdbc.TDSPacket packet
         2: goto 5
         3: .line 6738
      StackMap locals: int com.microsoft.sqlserver.jdbc.TDSPacket
      StackMap stack:
            iload 1 /* available */
            aload 2 /* packet */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            iadd
            istore 1 /* available */
         4: .line 6737
            aload 2 /* packet */
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.next:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            astore 2 /* packet */
      StackMap locals:
      StackMap stack:
         5: aload 2 /* packet */
            ifnonnull 3
        end local 2 // com.microsoft.sqlserver.jdbc.TDSPacket packet
         6: .line 6739
            iload 1 /* available */
            ireturn
        end local 1 // int available
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            1    7     1  available  I
            2    6     2     packet  Lcom/microsoft/sqlserver/jdbc/TDSPacket;

  final int availableCurrentPacket();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6751
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            isub
            istore 1 /* available */
        start local 1 // int available
         1: .line 6752
            iload 1 /* available */
            ireturn
        end local 1 // int available
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            1    2     1  available  I

  final int peekTokenType();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6757
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.ensurePayload:()Z
            ifne 2
         1: .line 6758
            iconst_m1
            ireturn
         2: .line 6761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final short peekStatusFlag();
    descriptor: ()S
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6766
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_3
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 3
         1: .line 6767
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_1
            iadd
            invokestatic com.microsoft.sqlserver.jdbc.Util.readShort:([BI)S
            istore 1 /* value */
        start local 1 // short value
         2: .line 6768
            iload 1 /* value */
            ireturn
        end local 1 // short value
         3: .line 6771
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    3     1  value  S
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final int readUnsignedByte();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6776
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.ensurePayload:()Z
            ifne 2
         1: .line 6777
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 6779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            dup_x1
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final short readShort();
    descriptor: ()S
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6783
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_2
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 4
         1: .line 6784
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readShort:([BI)S
            istore 1 /* value */
        start local 1 // short value
         2: .line 6785
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_2
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         3: .line 6786
            iload 1 /* value */
            ireturn
        end local 1 // short value
         4: .line 6789
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readWrappedBytes:(I)[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readShort:([BI)S
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    4     1  value  S
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final int readUnsignedShort();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6793
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_2
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 4
         1: .line 6794
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShort:([BI)I
            istore 1 /* value */
        start local 1 // int value
         2: .line 6795
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_2
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         3: .line 6796
            iload 1 /* value */
            ireturn
        end local 1 // int value
         4: .line 6799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readWrappedBytes:(I)[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShort:([BI)I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    4     1  value  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final java.lang.String readUnicodeString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int length
         0: .line 6803
            iconst_2
            iload 1 /* length */
            imul
            istore 2 /* byteLength */
        start local 2 // int byteLength
         1: .line 6804
            iload 2 /* byteLength */
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         2: .line 6805
            aload 0 /* this */
            aload 3 /* bytes */
            iconst_0
            iload 2 /* byteLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         3: .line 6806
            aload 3 /* bytes */
            iconst_0
            iload 2 /* byteLength */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnicodeString:([BIILcom/microsoft/sqlserver/jdbc/SQLServerConnection;)Ljava/lang/String;
            areturn
        end local 3 // byte[] bytes
        end local 2 // int byteLength
        end local 1 // int length
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    4     1      length  I
            1    4     2  byteLength  I
            2    4     3       bytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      length  

  final char readChar();
    descriptor: ()C
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6811
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readShort:()S
            i2c
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final int readInt();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6815
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_4
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 4
         1: .line 6816
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            istore 1 /* value */
        start local 1 // int value
         2: .line 6817
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_4
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         3: .line 6818
            iload 1 /* value */
            ireturn
        end local 1 // int value
         4: .line 6821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readWrappedBytes:(I)[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    4     1  value  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final int readIntBigEndian();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6825
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_4
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 4
         1: .line 6826
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readIntBigEndian:([BI)I
            istore 1 /* value */
        start local 1 // int value
         2: .line 6827
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iconst_4
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         3: .line 6828
            iload 1 /* value */
            ireturn
        end local 1 // int value
         4: .line 6831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readWrappedBytes:(I)[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readIntBigEndian:([BI)I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    4     1  value  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final long readUnsignedInt();
    descriptor: ()J
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6835
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            i2l
            ldc 4294967295
            land
            lreturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final long readLong();
    descriptor: ()J
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 6839
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            bipush 8
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            if_icmpgt 4
         1: .line 6840
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readLong:([BI)J
            lstore 1 /* value */
        start local 1 // long value
         2: .line 6841
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            bipush 8
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
         3: .line 6842
            lload 1 /* value */
            lreturn
        end local 1 // long value
         4: .line 6845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readWrappedBytes:(I)[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readLong:([BI)J
            lreturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2    4     1  value  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void readBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // byte[] value
        start local 2 // int valueOffset
        start local 3 // int valueLength
         0: .line 6849
            iconst_0
            istore 4 /* bytesRead */
        start local 4 // int bytesRead
         1: goto 12
         2: .line 6851
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.ensurePayload:()Z
            ifne 4
         3: .line 6852
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         4: .line 6856
      StackMap locals:
      StackMap stack:
            iload 3 /* valueLength */
            iload 4 /* bytesRead */
            isub
            istore 5 /* bytesToCopy */
        start local 5 // int bytesToCopy
         5: .line 6857
            iload 5 /* bytesToCopy */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            isub
            if_icmple 7
         6: .line 6858
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payloadLength:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            isub
            istore 5 /* bytesToCopy */
         7: .line 6861
      StackMap locals: int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 9
         8: .line 6862
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Reading "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* bytesToCopy */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes from offset "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         9: .line 6864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.currentPacket:Lcom/microsoft/sqlserver/jdbc/TDSPacket;
            getfield com.microsoft.sqlserver.jdbc.TDSPacket.payload:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            aload 1 /* value */
            iload 2 /* valueOffset */
            iload 4 /* bytesRead */
            iadd
            iload 5 /* bytesToCopy */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 6865
            iload 4 /* bytesRead */
            iload 5 /* bytesToCopy */
            iadd
            istore 4 /* bytesRead */
        11: .line 6866
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
            iload 5 /* bytesToCopy */
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSReader.payloadOffset:I
        end local 5 // int bytesToCopy
        12: .line 6849
      StackMap locals:
      StackMap stack:
            iload 4 /* bytesRead */
            iload 3 /* valueLength */
            if_icmplt 2
        end local 4 // int bytesRead
        13: .line 6868
            return
        end local 3 // int valueLength
        end local 2 // int valueOffset
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   14     1        value  [B
            0   14     2  valueOffset  I
            0   14     3  valueLength  I
            1   13     4    bytesRead  I
            5   12     5  bytesToCopy  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      value        
      valueOffset  
      valueLength  

  final byte[] readWrappedBytes(int);
    descriptor: (I)[B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
         0: .line 6871
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 1
            iload 1 /* valueLength */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            iconst_0
            iload 1 /* valueLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         2: .line 6873
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            areturn
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    3     1  valueLength  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  

  final java.lang.Object readDecimal(int, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 6878
            iload 1 /* valueLength */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            arraylength
            if_icmple 4
         1: .line 6879
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 3
         2: .line 6880
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Invalid value length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* valueLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
         3: .line 6882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         4: .line 6885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            iconst_0
            iload 1 /* valueLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         5: .line 6886
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSReader.valueBytes:[B
            iload 1 /* valueLength */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readBigDecimal:([BII)Ljava/math/BigDecimal;
         6: .line 6887
            aload 3 /* jdbcType */
            aload 4 /* streamType */
         7: .line 6886
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToObject:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    8     1  valueLength  I
            0    8     2     typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0    8     3     jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0    8     4   streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  
      typeInfo     
      jdbcType     
      streamType   

  final java.lang.Object readMoney(int, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 6892
            iload 1 /* valueLength */
            tableswitch { // 4 - 8
                    4: 10
                    5: 16
                    6: 16
                    7: 16
                    8: 1
              default: 16
          }
         1: .line 6895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 5 /* intBitsHi */
        start local 5 // int intBitsHi
         2: .line 6896
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 6 /* intBitsLo */
        start local 6 // int intBitsLo
         3: .line 6898
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 8
         4: .line 6899
            bipush 8
            newarray 8
            astore 7 /* value */
        start local 7 // byte[] value
         5: .line 6900
            iload 5 /* intBitsHi */
            aload 7 /* value */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeIntBigEndian:(I[BI)V
         6: .line 6901
            iload 6 /* intBitsLo */
            aload 7 /* value */
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeIntBigEndian:(I[BI)V
         7: .line 6902
            aload 7 /* value */
            areturn
        end local 7 // byte[] value
         8: .line 6905
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.StreamType top int int
      StackMap stack:
            iload 5 /* intBitsHi */
            i2l
            bipush 32
            lshl
            iload 6 /* intBitsLo */
            i2l
            ldc 4294967295
            land
            lor
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 4 /* bi */
        start local 4 // java.math.BigInteger bi
         9: .line 6906
            goto 18
        end local 6 // int intBitsLo
        end local 5 // int intBitsHi
        end local 4 // java.math.BigInteger bi
        10: .line 6910
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.StreamType
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 14
        11: .line 6911
            iconst_4
            newarray 8
            astore 5 /* value */
        start local 5 // byte[] value
        12: .line 6912
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            aload 5 /* value */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeIntBigEndian:(I[BI)V
        13: .line 6913
            aload 5 /* value */
            areturn
        end local 5 // byte[] value
        14: .line 6916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 4 /* bi */
        start local 4 // java.math.BigInteger bi
        15: .line 6917
            goto 18
        end local 4 // java.math.BigInteger bi
        16: .line 6920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        17: .line 6921
            aconst_null
            areturn
        start local 4 // java.math.BigInteger bi
        18: .line 6924
      StackMap locals: java.math.BigInteger
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 4 /* bi */
            iconst_4
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
            aload 2 /* jdbcType */
            aload 3 /* streamType */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToObject:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        end local 4 // java.math.BigInteger bi
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   19     1  valueLength  I
            0   19     2     jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   19     3   streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
            9   10     4           bi  Ljava/math/BigInteger;
           15   16     4           bi  Ljava/math/BigInteger;
           18   19     4           bi  Ljava/math/BigInteger;
            2   10     5    intBitsHi  I
            3   10     6    intBitsLo  I
            5    8     7        value  [B
           12   14     5        value  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  
      jdbcType     
      streamType   

  final java.lang.Object readReal(int, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 6928
            iconst_4
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 6929
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 6931
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            aload 2 /* jdbcType */
            aload 3 /* streamType */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertFloatToObject:(FLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    3     1  valueLength  I
            0    3     2     jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0    3     3   streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  
      jdbcType     
      streamType   

  final java.lang.Object readFloat(int, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 6935
            bipush 8
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 6936
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 6938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readLong:()J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            aload 2 /* jdbcType */
            aload 3 /* streamType */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertDoubleToObject:(DLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    3     1  valueLength  I
            0    3     2     jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0    3     3   streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  
      jdbcType     
      streamType   

  final java.lang.Object readDateTime(int, java.util.Calendar, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILjava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // java.util.Calendar appTimeZoneCalendar
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 6948
            iload 1 /* valueLength */
            tableswitch { // 4 - 8
                    4: 10
                    5: 19
                    6: 19
                    7: 19
                    8: 1
              default: 19
          }
         1: .line 6954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 5 /* daysSinceSQLBaseDate */
        start local 5 // int daysSinceSQLBaseDate
         2: .line 6955
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 6 /* ticksSinceMidnight */
        start local 6 // int ticksSinceMidnight
         3: .line 6957
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 3 /* jdbcType */
            if_acmpne 8
         4: .line 6958
            bipush 8
            newarray 8
            astore 8 /* value */
        start local 8 // byte[] value
         5: .line 6959
            iload 5 /* daysSinceSQLBaseDate */
            aload 8 /* value */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeIntBigEndian:(I[BI)V
         6: .line 6960
            iload 6 /* ticksSinceMidnight */
            aload 8 /* value */
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeIntBigEndian:(I[BI)V
         7: .line 6961
            aload 8 /* value */
            areturn
        end local 8 // byte[] value
         8: .line 6964
      StackMap locals: int int
      StackMap stack:
            iload 6 /* ticksSinceMidnight */
            bipush 10
            imul
            iconst_1
            iadd
            iconst_3
            idiv
            istore 7 /* msecSinceMidnight */
        start local 7 // int msecSinceMidnight
         9: .line 6966
            goto 21
        end local 7 // int msecSinceMidnight
        end local 6 // int ticksSinceMidnight
        end local 5 // int daysSinceSQLBaseDate
        10: .line 6972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 5 /* daysSinceSQLBaseDate */
        start local 5 // int daysSinceSQLBaseDate
        11: .line 6973
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 6 /* ticksSinceMidnight */
        start local 6 // int ticksSinceMidnight
        12: .line 6975
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 3 /* jdbcType */
            if_acmpne 17
        13: .line 6976
            iconst_4
            newarray 8
            astore 8 /* value */
        start local 8 // byte[] value
        14: .line 6977
            iload 5 /* daysSinceSQLBaseDate */
            i2s
            aload 8 /* value */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShortBigEndian:(S[BI)V
        15: .line 6978
            iload 6 /* ticksSinceMidnight */
            i2s
            aload 8 /* value */
            iconst_2
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShortBigEndian:(S[BI)V
        16: .line 6979
            aload 8 /* value */
            areturn
        end local 8 // byte[] value
        17: .line 6982
      StackMap locals: int int
      StackMap stack:
            iload 6 /* ticksSinceMidnight */
            bipush 60
            imul
            sipush 1000
            imul
            istore 7 /* msecSinceMidnight */
        start local 7 // int msecSinceMidnight
        18: .line 6983
            goto 21
        end local 7 // int msecSinceMidnight
        end local 6 // int ticksSinceMidnight
        end local 5 // int daysSinceSQLBaseDate
        19: .line 6986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        20: .line 6987
            aconst_null
            areturn
        start local 5 // int daysSinceSQLBaseDate
        start local 6 // int ticksSinceMidnight
        start local 7 // int msecSinceMidnight
        21: .line 6991
      StackMap locals: int int int
      StackMap stack:
            aload 3 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* appTimeZoneCalendar */
            iload 5 /* daysSinceSQLBaseDate */
        22: .line 6992
            iload 7 /* msecSinceMidnight */
            i2l
            iconst_0
        23: .line 6991
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 7 // int msecSinceMidnight
        end local 6 // int ticksSinceMidnight
        end local 5 // int daysSinceSQLBaseDate
        end local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // java.util.Calendar appTimeZoneCalendar
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   24     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   24     1           valueLength  I
            0   24     2   appTimeZoneCalendar  Ljava/util/Calendar;
            0   24     3              jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   24     4            streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
            2   10     5  daysSinceSQLBaseDate  I
           11   19     5  daysSinceSQLBaseDate  I
           21   24     5  daysSinceSQLBaseDate  I
            3   10     6    ticksSinceMidnight  I
           12   19     6    ticksSinceMidnight  I
           21   24     6    ticksSinceMidnight  I
            9   10     7     msecSinceMidnight  I
           18   19     7     msecSinceMidnight  I
           21   24     7     msecSinceMidnight  I
            5    8     8                 value  [B
           14   17     8                 value  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      valueLength          
      appTimeZoneCalendar  
      jdbcType             
      streamType           

  final java.lang.Object readDate(int, java.util.Calendar, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (ILjava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // java.util.Calendar appTimeZoneCalendar
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 7001
            iconst_3
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 7002
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 7005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDaysIntoCE:()I
            istore 4 /* localDaysIntoCE */
        start local 4 // int localDaysIntoCE
         3: .line 7008
            aload 3 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* appTimeZoneCalendar */
            iload 4 /* localDaysIntoCE */
            lconst_0
         4: .line 7012
            iconst_0
         5: .line 7008
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 4 // int localDaysIntoCE
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // java.util.Calendar appTimeZoneCalendar
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    6     1          valueLength  I
            0    6     2  appTimeZoneCalendar  Ljava/util/Calendar;
            0    6     3             jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            3    6     4      localDaysIntoCE  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      valueLength          
      appTimeZoneCalendar  
      jdbcType             

  final java.lang.Object readTime(int, com.microsoft.sqlserver.jdbc.TypeInfo, java.util.Calendar, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/TypeInfo;Ljava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 3 // java.util.Calendar appTimeZoneCalendar
        start local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 7017
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokestatic com.microsoft.sqlserver.jdbc.TDS.timeValueLength:(I)I
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 7018
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 7021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readNanosSinceMidnight:(I)J
            lstore 5 /* localNanosSinceMidnight */
        start local 5 // long localNanosSinceMidnight
         3: .line 7024
            aload 4 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* appTimeZoneCalendar */
            iconst_0
            lload 5 /* localNanosSinceMidnight */
         4: .line 7025
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
         5: .line 7024
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 5 // long localNanosSinceMidnight
        end local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 3 // java.util.Calendar appTimeZoneCalendar
        end local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0                     this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    6     1              valueLength  I
            0    6     2                 typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0    6     3      appTimeZoneCalendar  Ljava/util/Calendar;
            0    6     4                 jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            3    6     5  localNanosSinceMidnight  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      valueLength          
      typeInfo             
      appTimeZoneCalendar  
      jdbcType             

  final java.lang.Object readDateTime2(int, com.microsoft.sqlserver.jdbc.TypeInfo, java.util.Calendar, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/TypeInfo;Ljava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 3 // java.util.Calendar appTimeZoneCalendar
        start local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 7030
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokestatic com.microsoft.sqlserver.jdbc.TDS.datetime2ValueLength:(I)I
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 7031
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 7034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readNanosSinceMidnight:(I)J
            lstore 5 /* localNanosSinceMidnight */
        start local 5 // long localNanosSinceMidnight
         3: .line 7035
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDaysIntoCE:()I
            istore 7 /* localDaysIntoCE */
        start local 7 // int localDaysIntoCE
         4: .line 7038
            aload 4 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* appTimeZoneCalendar */
            iload 7 /* localDaysIntoCE */
         5: .line 7039
            lload 5 /* localNanosSinceMidnight */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
         6: .line 7038
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 7 // int localDaysIntoCE
        end local 5 // long localNanosSinceMidnight
        end local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 3 // java.util.Calendar appTimeZoneCalendar
        end local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    7     1              valueLength  I
            0    7     2                 typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0    7     3      appTimeZoneCalendar  Ljava/util/Calendar;
            0    7     4                 jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            3    7     5  localNanosSinceMidnight  J
            4    7     7          localDaysIntoCE  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      valueLength          
      typeInfo             
      appTimeZoneCalendar  
      jdbcType             

  final java.lang.Object readDateTimeOffset(int, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 7043
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokestatic com.microsoft.sqlserver.jdbc.TDS.datetimeoffsetValueLength:(I)I
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 7044
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 7048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readNanosSinceMidnight:(I)J
            lstore 4 /* utcNanosSinceMidnight */
        start local 4 // long utcNanosSinceMidnight
         3: .line 7049
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDaysIntoCE:()I
            istore 6 /* utcDaysIntoCE */
        start local 6 // int utcDaysIntoCE
         4: .line 7050
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readShort:()S
            istore 7 /* localMinutesOffset */
        start local 7 // int localMinutesOffset
         5: .line 7053
            aload 3 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
         6: .line 7054
            new java.util.GregorianCalendar
            dup
            new java.util.SimpleTimeZone
            dup
            iload 7 /* localMinutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            iload 6 /* utcDaysIntoCE */
         7: .line 7055
            lload 4 /* utcNanosSinceMidnight */
            aload 2 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
         8: .line 7053
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 7 // int localMinutesOffset
        end local 6 // int utcDaysIntoCE
        end local 4 // long utcNanosSinceMidnight
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 1 // int valueLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0    9     1            valueLength  I
            0    9     2               typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0    9     3               jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            3    9     4  utcNanosSinceMidnight  J
            4    9     6          utcDaysIntoCE  I
            5    9     7     localMinutesOffset  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      valueLength  
      typeInfo     
      jdbcType     

  private int readDaysIntoCE();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
         0: .line 7059
            iconst_3
            newarray 8
            astore 1 /* value */
        start local 1 // byte[] value
         1: .line 7060
            aload 0 /* this */
            aload 1 /* value */
            iconst_0
            aload 1 /* value */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         2: .line 7062
            iconst_0
            istore 2 /* daysIntoCE */
        start local 2 // int daysIntoCE
         3: .line 7063
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 7064
      StackMap locals: byte[] int int
      StackMap stack:
            iload 2 /* daysIntoCE */
            aload 1 /* value */
            iload 3 /* i */
            baload
            sipush 255
            iand
            bipush 8
            iload 3 /* i */
            imul
            ishl
            ior
            istore 2 /* daysIntoCE */
         6: .line 7063
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* value */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 7067
            iload 2 /* daysIntoCE */
            ifge 10
         9: .line 7068
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        10: .line 7070
      StackMap locals:
      StackMap stack:
            iload 2 /* daysIntoCE */
            ireturn
        end local 2 // int daysIntoCE
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            1   11     1       value  [B
            3   11     2  daysIntoCE  I
            4    8     3           i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private long readNanosSinceMidnight(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int scale
         0: .line 7079
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.$assertionsDisabled:Z
            ifne 2
            iload 1 /* scale */
            iflt 1
            iload 1 /* scale */
            bipush 7
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 7081
      StackMap locals:
      StackMap stack:
            iload 1 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.TDS.nanosSinceMidnightLength:(I)I
            newarray 8
            astore 2 /* value */
        start local 2 // byte[] value
         3: .line 7082
            aload 0 /* this */
            aload 2 /* value */
            iconst_0
            aload 2 /* value */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         4: .line 7084
            lconst_0
            lstore 3 /* hundredNanosSinceMidnight */
        start local 3 // long hundredNanosSinceMidnight
         5: .line 7085
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 7086
      StackMap locals: byte[] long int
      StackMap stack:
            lload 3 /* hundredNanosSinceMidnight */
            aload 2 /* value */
            iload 5 /* i */
            baload
            i2l
            ldc 255
            land
            bipush 8
            iload 5 /* i */
            imul
            lshl
            lor
            lstore 3 /* hundredNanosSinceMidnight */
         8: .line 7085
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            aload 2 /* value */
            arraylength
            if_icmplt 7
        end local 5 // int i
        10: .line 7088
            lload 3 /* hundredNanosSinceMidnight */
            getstatic com.microsoft.sqlserver.jdbc.TDSReader.SCALED_MULTIPLIERS:[I
            iload 1 /* scale */
            iaload
            i2l
            lmul
            lstore 3 /* hundredNanosSinceMidnight */
        11: .line 7090
            lconst_0
            lload 3 /* hundredNanosSinceMidnight */
            lcmp
            ifgt 12
            lload 3 /* hundredNanosSinceMidnight */
            ldc 864000000000
            lcmp
            iflt 13
        12: .line 7091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        13: .line 7093
      StackMap locals:
      StackMap stack:
            ldc 100
            lload 3 /* hundredNanosSinceMidnight */
            lmul
            lreturn
        end local 3 // long hundredNanosSinceMidnight
        end local 2 // byte[] value
        end local 1 // int scale
        end local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   14     0                       this  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   14     1                      scale  I
            3   14     2                      value  [B
            5   14     3  hundredNanosSinceMidnight  J
            6   10     5                          i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      scale  

  final java.lang.Object readGUID(int, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSReader this
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 7100
            bipush 16
            iload 1 /* valueLength */
            if_icmpeq 2
         1: .line 7101
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         2: .line 7104
      StackMap locals:
      StackMap stack:
            bipush 16
            newarray 8
            astore 4 /* guid */
        start local 4 // byte[] guid
         3: .line 7105
            aload 0 /* this */
            aload 4 /* guid */
            iconst_0
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         4: .line 7107
            invokestatic com.microsoft.sqlserver.jdbc.TDSReader.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 4
                    8: 5
                   21: 5
                   40: 5
                   46: 5
              default: 45
          }
         5: .line 7112
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN"
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuilder sb
         6: .line 7113
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 11
         8: .line 7114
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 5 /* sb */
            getstatic com.microsoft.sqlserver.jdbc.Util.hexChars:[C
            aload 4 /* guid */
            iconst_3
            iload 6 /* i */
            isub
            baload
            sipush 240
            iand
            iconst_4
            ishr
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 7115
            aload 5 /* sb */
            getstatic com.microsoft.sqlserver.jdbc.Util.hexChars:[C
            aload 4 /* guid */
            iconst_3
            iload 6 /* i */
            isub
            baload
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 7113
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iconst_4
            if_icmplt 8
        end local 6 // int i
        12: .line 7117
            aload 5 /* sb */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 7118
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 18
        15: .line 7119
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            getstatic com.microsoft.sqlserver.jdbc.Util.hexChars:[C
            aload 4 /* guid */
            iconst_5
            iload 6 /* i */
            isub
            baload
            sipush 240
            iand
            iconst_4
            ishr
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 7120
            aload 5 /* sb */
            getstatic com.microsoft.sqlserver.jdbc.Util.hexChars:[C
            aload 4 /* guid */
            iconst_5
            iload 6 /* i */
            isub
            baload
            bipush 15
            iand
            caload
            invokevirtual