final class com.google.common.hash.LittleEndianByteArray
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.hash.LittleEndianByteArray
  super_class: java.lang.Object
{
  private static final com.google.common.hash.LittleEndianByteArray$LittleEndianBytes byteArray;
    descriptor: Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 27
            ldc Lcom/google/common/hash/LittleEndianByteArray;
            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.google.common.hash.LittleEndianByteArray.$assertionsDisabled:Z
         3: .line 232
            getstatic com.google.common.hash.LittleEndianByteArray$JavaLittleEndianBytes.INSTANCE:Lcom/google/common/hash/LittleEndianByteArray$JavaLittleEndianBytes;
            astore 0 /* theGetter */
        start local 0 // com.google.common.hash.LittleEndianByteArray$LittleEndianBytes theGetter
         4: .line 245
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* arch */
        start local 1 // java.lang.String arch
         5: .line 246
            ldc "amd64"
            aload 1 /* arch */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 248
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 249
            getstatic com.google.common.hash.LittleEndianByteArray$UnsafeByteArray.UNSAFE_LITTLE_ENDIAN:Lcom/google/common/hash/LittleEndianByteArray$UnsafeByteArray;
            goto 9
         8: .line 250
      StackMap locals: com.google.common.hash.LittleEndianByteArray$LittleEndianBytes java.lang.String
      StackMap stack:
            getstatic com.google.common.hash.LittleEndianByteArray$UnsafeByteArray.UNSAFE_BIG_ENDIAN:Lcom/google/common/hash/LittleEndianByteArray$UnsafeByteArray;
         9: .line 247
      StackMap locals:
      StackMap stack: com.google.common.hash.LittleEndianByteArray$UnsafeByteArray
            astore 0 /* theGetter */
        end local 1 // java.lang.String arch
        10: .line 252
            goto 12
      StackMap locals: com.google.common.hash.LittleEndianByteArray$LittleEndianBytes
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* theGetter */
            putstatic com.google.common.hash.LittleEndianByteArray.byteArray:Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
        end local 0 // com.google.common.hash.LittleEndianByteArray$LittleEndianBytes theGetter
        13: .line 256
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            4   13     0  theGetter  Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
            5   10     1       arch  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4    10      11  Class java.lang.Throwable

  static long load64(byte[], int);
    descriptor: ([BI)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // byte[] input
        start local 1 // int offset
         0: .line 42
            getstatic com.google.common.hash.LittleEndianByteArray.$assertionsDisabled:Z
            ifne 1
            aload 0 /* input */
            arraylength
            iload 1 /* offset */
            bipush 8
            iadd
            if_icmpge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 44
      StackMap locals:
      StackMap stack:
            getstatic com.google.common.hash.LittleEndianByteArray.byteArray:Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
            aload 0 /* input */
            iload 1 /* offset */
            invokeinterface com.google.common.hash.LittleEndianByteArray$LittleEndianBytes.getLongLittleEndian:([BI)J
            lreturn
        end local 1 // int offset
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   input  [B
            0    2     1  offset  I
    MethodParameters:
        Name  Flags
      input   
      offset  

  static long load64Safely(byte[], int, int);
    descriptor: ([BII)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // byte[] input
        start local 1 // int offset
        start local 2 // int length
         0: .line 58
            lconst_0
            lstore 3 /* result */
        start local 3 // long result
         1: .line 63
            iload 2 /* length */
            bipush 8
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* limit */
        start local 5 // int limit
         2: .line 64
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 66
      StackMap locals: long int int
      StackMap stack:
            lload 3 /* result */
            aload 0 /* input */
            iload 1 /* offset */
            iload 6 /* i */
            iadd
            baload
            i2l
            ldc 255
            land
            iload 6 /* i */
            bipush 8
            imul
            lshl
            lor
            lstore 3 /* result */
         5: .line 64
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 5 /* limit */
            if_icmplt 4
        end local 6 // int i
         7: .line 68
            lload 3 /* result */
            lreturn
        end local 5 // int limit
        end local 3 // long result
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0   input  [B
            0    8     1  offset  I
            0    8     2  length  I
            1    8     3  result  J
            2    8     5   limit  I
            3    7     6       i  I
    MethodParameters:
        Name  Flags
      input   
      offset  
      length  

  static void store64(byte[], int, long);
    descriptor: ([BIJ)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // byte[] sink
        start local 1 // int offset
        start local 2 // long value
         0: .line 80
            getstatic com.google.common.hash.LittleEndianByteArray.$assertionsDisabled:Z
            ifne 2
            iload 1 /* offset */
            iflt 1
            iload 1 /* offset */
            bipush 8
            iadd
            aload 0 /* sink */
            arraylength
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 82
      StackMap locals:
      StackMap stack:
            getstatic com.google.common.hash.LittleEndianByteArray.byteArray:Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
            aload 0 /* sink */
            iload 1 /* offset */
            lload 2 /* value */
            invokeinterface com.google.common.hash.LittleEndianByteArray$LittleEndianBytes.putLongLittleEndian:([BIJ)V
         3: .line 83
            return
        end local 2 // long value
        end local 1 // int offset
        end local 0 // byte[] sink
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    sink  [B
            0    4     1  offset  I
            0    4     2   value  J
    MethodParameters:
        Name  Flags
      sink    
      offset  
      value   

  static int load32(byte[], int);
    descriptor: ([BI)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] source
        start local 1 // int offset
         0: .line 94
            aload 0 /* source */
            iload 1 /* offset */
            baload
            sipush 255
            iand
         1: .line 95
            aload 0 /* source */
            iload 1 /* offset */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
         2: .line 94
            ior
         3: .line 96
            aload 0 /* source */
            iload 1 /* offset */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 16
            ishl
         4: .line 94
            ior
         5: .line 97
            aload 0 /* source */
            iload 1 /* offset */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
         6: .line 94
            ior
            ireturn
        end local 1 // int offset
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  source  [B
            0    7     1  offset  I
    MethodParameters:
        Name  Flags
      source  
      offset  

  static boolean usingUnsafe();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 106
            getstatic com.google.common.hash.LittleEndianByteArray.byteArray:Lcom/google/common/hash/LittleEndianByteArray$LittleEndianBytes;
            instanceof com.google.common.hash.LittleEndianByteArray$UnsafeByteArray
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.hash.LittleEndianByteArray this
         0: .line 259
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.hash.LittleEndianByteArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/hash/LittleEndianByteArray;
}
SourceFile: "LittleEndianByteArray.java"
NestMembers:
  com.google.common.hash.LittleEndianByteArray$JavaLittleEndianBytes  com.google.common.hash.LittleEndianByteArray$JavaLittleEndianBytes$1  com.google.common.hash.LittleEndianByteArray$LittleEndianBytes  com.google.common.hash.LittleEndianByteArray$UnsafeByteArray  com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$1  com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$2  com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$3
InnerClasses:
  private abstract JavaLittleEndianBytes = com.google.common.hash.LittleEndianByteArray$JavaLittleEndianBytes of com.google.common.hash.LittleEndianByteArray
  private abstract LittleEndianBytes = com.google.common.hash.LittleEndianByteArray$LittleEndianBytes of com.google.common.hash.LittleEndianByteArray
  private abstract UnsafeByteArray = com.google.common.hash.LittleEndianByteArray$UnsafeByteArray of com.google.common.hash.LittleEndianByteArray