public final class org.bouncycastle.util.Arrays
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.bouncycastle.util.Arrays
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.util.Arrays this
         0: .line 8
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 11
            return
        end local 0 // org.bouncycastle.util.Arrays this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/util/Arrays;

  public static boolean areEqual(boolean[], boolean[]);
    descriptor: ([Z[Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // boolean[] a
        start local 1 // boolean[] b
         0: .line 17
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 19
            iconst_1
            ireturn
         2: .line 22
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 24
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 27
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            if_icmpeq 6
         5: .line 29
            iconst_0
            ireturn
         6: .line 32
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 34
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            baload
            aload 1 /* b */
            iload 2 /* i */
            baload
            if_icmpeq 10
         9: .line 36
            iconst_0
            ireturn
        10: .line 32
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* a */
            arraylength
            if_icmpne 8
        end local 2 // int i
        12: .line 40
            iconst_1
            ireturn
        end local 1 // boolean[] b
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [Z
            0   13     1     b  [Z
            7   12     2     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean areEqual(char[], char[]);
    descriptor: ([C[C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char[] a
        start local 1 // char[] b
         0: .line 47
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 49
            iconst_1
            ireturn
         2: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 54
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            if_icmpeq 6
         5: .line 59
            iconst_0
            ireturn
         6: .line 62
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 64
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            caload
            aload 1 /* b */
            iload 2 /* i */
            caload
            if_icmpeq 10
         9: .line 66
            iconst_0
            ireturn
        10: .line 62
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* a */
            arraylength
            if_icmpne 8
        end local 2 // int i
        12: .line 70
            iconst_1
            ireturn
        end local 1 // char[] b
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [C
            0   13     1     b  [C
            7   12     2     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean areEqual(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] a
        start local 1 // byte[] b
         0: .line 77
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 79
            iconst_1
            ireturn
         2: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 84
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            if_icmpeq 6
         5: .line 89
            iconst_0
            ireturn
         6: .line 92
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 94
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            baload
            aload 1 /* b */
            iload 2 /* i */
            baload
            if_icmpeq 10
         9: .line 96
            iconst_0
            ireturn
        10: .line 92
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* a */
            arraylength
            if_icmpne 8
        end local 2 // int i
        12: .line 100
            iconst_1
            ireturn
        end local 1 // byte[] b
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [B
            0   13     1     b  [B
            7   12     2     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean constantTimeAreEqual(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // byte[] a
        start local 1 // byte[] b
         0: .line 115
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 117
            iconst_1
            ireturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            if_icmpeq 6
         5: .line 127
            iconst_0
            ireturn
         6: .line 130
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* nonEqual */
        start local 2 // int nonEqual
         7: .line 132
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 11
         9: .line 134
      StackMap locals: int int
      StackMap stack:
            iload 2 /* nonEqual */
            aload 0 /* a */
            iload 3 /* i */
            baload
            aload 1 /* b */
            iload 3 /* i */
            baload
            ixor
            ior
            istore 2 /* nonEqual */
        10: .line 132
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* a */
            arraylength
            if_icmpne 9
        end local 3 // int i
        12: .line 137
            iload 2 /* nonEqual */
            ifne 13
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 2 // int nonEqual
        end local 1 // byte[] b
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0         a  [B
            0   14     1         b  [B
            7   14     2  nonEqual  I
            8   12     3         i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean areEqual(int[], int[]);
    descriptor: ([I[I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int[] a
        start local 1 // int[] b
         0: .line 144
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 146
            iconst_1
            ireturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 151
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            if_icmpeq 6
         5: .line 156
            iconst_0
            ireturn
         6: .line 159
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 161
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iaload
            aload 1 /* b */
            iload 2 /* i */
            iaload
            if_icmpeq 10
         9: .line 163
            iconst_0
            ireturn
        10: .line 159
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* a */
            arraylength
            if_icmpne 8
        end local 2 // int i
        12: .line 167
            iconst_1
            ireturn
        end local 1 // int[] b
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [I
            0   13     1     b  [I
            7   12     2     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static void fill(byte[], byte);
    descriptor: ([BB)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] array
        start local 1 // byte value
         0: .line 174
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 176
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            iload 1 /* value */
            bastore
         3: .line 174
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 178
            return
        end local 1 // byte value
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  array  [B
            0    6     1  value  B
            1    5     2      i  I
    MethodParameters:
       Name  Flags
      array  
      value  

  public static void fill(long[], long);
    descriptor: ([JJ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long[] array
        start local 1 // long value
         0: .line 184
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 186
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 3 /* i */
            lload 1 /* value */
            lastore
         3: .line 184
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 188
            return
        end local 1 // long value
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  array  [J
            0    6     1  value  J
            1    5     3      i  I
    MethodParameters:
       Name  Flags
      array  
      value  

  public static void fill(short[], short);
    descriptor: ([SS)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // short[] array
        start local 1 // short value
         0: .line 194
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 196
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            iload 1 /* value */
            sastore
         3: .line 194
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 198
            return
        end local 1 // short value
        end local 0 // short[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  array  [S
            0    6     1  value  S
            1    5     2      i  I
    MethodParameters:
       Name  Flags
      array  
      value  

  public static int hashCode(byte[]);
    descriptor: ([B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // byte[] data
         0: .line 202
            aload 0 /* data */
            ifnonnull 2
         1: .line 204
            iconst_0
            ireturn
         2: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            istore 1 /* i */
        start local 1 // int i
         3: .line 208
            iload 1 /* i */
            iconst_1
            iadd
            istore 2 /* hc */
        start local 2 // int hc
         4: .line 210
            goto 7
         5: .line 212
      StackMap locals: int int
      StackMap stack:
            iload 2 /* hc */
            sipush 257
            imul
            istore 2 /* hc */
         6: .line 213
            iload 2 /* hc */
            aload 0 /* data */
            iload 1 /* i */
            baload
            ixor
            istore 2 /* hc */
         7: .line 210
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
            iload 1 /* i */
            ifge 5
         8: .line 216
            iload 2 /* hc */
            ireturn
        end local 2 // int hc
        end local 1 // int i
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  data  [B
            3    9     1     i  I
            4    9     2    hc  I
    MethodParameters:
      Name  Flags
      data  

  public static byte[] clone(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // byte[] data
         0: .line 221
            aload 0 /* data */
            ifnonnull 2
         1: .line 223
            aconst_null
            areturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            newarray 8
            astore 1 /* copy */
        start local 1 // byte[] copy
         3: .line 227
            aload 0 /* data */
            iconst_0
            aload 1 /* copy */
            iconst_0
            aload 0 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 229
            aload 1 /* copy */
            areturn
        end local 1 // byte[] copy
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  data  [B
            3    5     1  copy  [B
    MethodParameters:
      Name  Flags
      data  

  public static int[] clone(int[]);
    descriptor: ([I)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int[] data
         0: .line 234
            aload 0 /* data */
            ifnonnull 2
         1: .line 236
            aconst_null
            areturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            newarray 10
            astore 1 /* copy */
        start local 1 // int[] copy
         3: .line 240
            aload 0 /* data */
            iconst_0
            aload 1 /* copy */
            iconst_0
            aload 0 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 242
            aload 1 /* copy */
            areturn
        end local 1 // int[] copy
        end local 0 // int[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  data  [I
            3    5     1  copy  [I
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "Arrays.java"