public final class android.net.IpSecAlgorithm implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.net.IpSecAlgorithm
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "IpSecAlgorithm"

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

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

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

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

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

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

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

  public static final java.lang.String AUTH_CRYPT_AES_GCM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "rfc4106(gcm(aes))"

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

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

  private final int mTruncLenBits;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final android.os.Parcelable$Creator<android.net.IpSecAlgorithm> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/net/IpSecAlgorithm;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 195
            new android.net.IpSecAlgorithm$1
            dup
            invokespecial android.net.IpSecAlgorithm$1.<init>:()V
         1: .line 194
            putstatic android.net.IpSecAlgorithm.CREATOR:Landroid/os/Parcelable$Creator;
         2: .line 207
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.net.IpSecAlgorithm this
        start local 1 // java.lang.String algorithm
        start local 2 // byte[] key
         0: .line 142
            aload 0 /* this */
            aload 1 /* algorithm */
            aload 2 /* key */
            iconst_0
            invokespecial android.net.IpSecAlgorithm.<init>:(Ljava/lang/String;[BI)V
         1: .line 143
            return
        end local 2 // byte[] key
        end local 1 // java.lang.String algorithm
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/net/IpSecAlgorithm;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2        key  [B
    MethodParameters:
           Name  Flags
      algorithm  
      key        

  public void <init>(java.lang.String, byte[], int);
    descriptor: (Ljava/lang/String;[BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.net.IpSecAlgorithm this
        start local 1 // java.lang.String algorithm
        start local 2 // byte[] key
        start local 3 // int truncLenBits
         0: .line 156
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 158
            aload 0 /* this */
            aload 1 /* algorithm */
            putfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
         2: .line 159
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield android.net.IpSecAlgorithm.mKey:[B
         3: .line 160
            aload 0 /* this */
            iload 3 /* truncLenBits */
            putfield android.net.IpSecAlgorithm.mTruncLenBits:I
         4: .line 161
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mKey:[B
            arraylength
            bipush 8
            imul
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            invokestatic android.net.IpSecAlgorithm.checkValidOrThrow:(Ljava/lang/String;II)V
         5: .line 162
            return
        end local 3 // int truncLenBits
        end local 2 // byte[] key
        end local 1 // java.lang.String algorithm
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/net/IpSecAlgorithm;
            0    6     1     algorithm  Ljava/lang/String;
            0    6     2           key  [B
            0    6     3  truncLenBits  I
    MethodParameters:
              Name  Flags
      algorithm     
      key           
      truncLenBits  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 167
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            areturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  public byte[] getKey();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 173
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mKey:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  public int getTruncationLengthBits();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 178
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            ireturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 183
            iconst_0
            ireturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.net.IpSecAlgorithm this
        start local 1 // android.os.Parcel out
        start local 2 // int flags
         0: .line 188
            aload 1 /* out */
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         1: .line 189
            aload 1 /* out */
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mKey:[B
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         2: .line 190
            aload 1 /* out */
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         3: .line 191
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel out
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/net/IpSecAlgorithm;
            0    4     1    out  Landroid/os/Parcel;
            0    4     2  flags  I
    MethodParameters:
       Name  Flags
      out    
      flags  

  private static void checkValidOrThrow(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String name
        start local 1 // int keyLen
        start local 2 // int truncLen
         0: .line 210
            iconst_1
            istore 3 /* isValidLen */
        start local 3 // boolean isValidLen
         1: .line 211
            iconst_1
            istore 4 /* isValidTruncLen */
        start local 4 // boolean isValidTruncLen
         2: .line 213
            aload 0 /* name */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1137603038: 3
            394796030: 4
            559425185: 5
            559457797: 6
            559510590: 7
            759177996: 8
           2065384259: 9
              default: 56
          }
      StackMap locals: int int java.lang.String
      StackMap stack:
         3: aload 5
            ldc "rfc4106(gcm(aes))"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 49
            goto 56
      StackMap locals:
      StackMap stack:
         4: aload 5
            ldc "cbc(aes)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 56
      StackMap locals:
      StackMap stack:
         5: aload 5
            ldc "hmac(sha256)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
            goto 56
      StackMap locals:
      StackMap stack:
         6: aload 5
            ldc "hmac(sha384)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 35
            goto 56
      StackMap locals:
      StackMap stack:
         7: aload 5
            ldc "hmac(sha512)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 42
            goto 56
      StackMap locals:
      StackMap stack:
         8: aload 5
            ldc "hmac(md5)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 56
      StackMap locals:
      StackMap stack:
         9: aload 5
            ldc "hmac(sha1)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 56
        10: .line 215
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 128
            if_icmpeq 11
            iload 1 /* keyLen */
            sipush 192
            if_icmpeq 11
            iload 1 /* keyLen */
            sipush 256
            if_icmpeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 3 /* isValidLen */
        13: .line 216
            goto 57
        14: .line 218
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 128
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 3 /* isValidLen */
        17: .line 219
            iload 2 /* truncLen */
            bipush 96
            if_icmplt 18
            iload 2 /* truncLen */
            sipush 128
            if_icmpgt 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 4 /* isValidTruncLen */
        20: .line 220
            goto 57
        21: .line 222
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 160
            if_icmpne 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: istore 3 /* isValidLen */
        24: .line 223
            iload 2 /* truncLen */
            bipush 96
            if_icmplt 25
            iload 2 /* truncLen */
            sipush 160
            if_icmpgt 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 4 /* isValidTruncLen */
        27: .line 224
            goto 57
        28: .line 226
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 256
            if_icmpne 29
            iconst_1
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_0
      StackMap locals:
      StackMap stack: int
        30: istore 3 /* isValidLen */
        31: .line 227
            iload 2 /* truncLen */
            bipush 96
            if_icmplt 32
            iload 2 /* truncLen */
            sipush 256
            if_icmpgt 32
            iconst_1
            goto 33
      StackMap locals:
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 4 /* isValidTruncLen */
        34: .line 228
            goto 57
        35: .line 230
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 384
            if_icmpne 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: istore 3 /* isValidLen */
        38: .line 231
            iload 2 /* truncLen */
            sipush 192
            if_icmplt 39
            iload 2 /* truncLen */
            sipush 384
            if_icmpgt 39
            iconst_1
            goto 40
      StackMap locals:
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: istore 4 /* isValidTruncLen */
        41: .line 232
            goto 57
        42: .line 234
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 512
            if_icmpne 43
            iconst_1
            goto 44
      StackMap locals:
      StackMap stack:
        43: iconst_0
      StackMap locals:
      StackMap stack: int
        44: istore 3 /* isValidLen */
        45: .line 235
            iload 2 /* truncLen */
            sipush 256
            if_icmplt 46
            iload 2 /* truncLen */
            sipush 512
            if_icmpgt 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack:
        46: iconst_0
      StackMap locals:
      StackMap stack: int
        47: istore 4 /* isValidTruncLen */
        48: .line 236
            goto 57
        49: .line 239
      StackMap locals:
      StackMap stack:
            iload 1 /* keyLen */
            sipush 160
            if_icmpeq 50
            iload 1 /* keyLen */
            sipush 224
            if_icmpeq 50
            iload 1 /* keyLen */
            sipush 288
            if_icmpeq 50
            iconst_0
            goto 51
      StackMap locals:
      StackMap stack:
        50: iconst_1
      StackMap locals:
      StackMap stack: int
        51: istore 3 /* isValidLen */
        52: .line 240
            iload 2 /* truncLen */
            bipush 64
            if_icmpeq 53
            iload 2 /* truncLen */
            bipush 96
            if_icmpeq 53
            iload 2 /* truncLen */
            sipush 128
            if_icmpeq 53
            iconst_0
            goto 54
      StackMap locals:
      StackMap stack:
        53: iconst_1
      StackMap locals:
      StackMap stack: int
        54: istore 4 /* isValidTruncLen */
        55: .line 241
            goto 57
        56: .line 243
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find an algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 246
      StackMap locals:
      StackMap stack:
            iload 3 /* isValidLen */
            ifne 59
        58: .line 247
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid key material keyLength: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* keyLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 249
      StackMap locals:
      StackMap stack:
            iload 4 /* isValidTruncLen */
            ifne 61
        60: .line 250
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid truncation keyLength: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* truncLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        61: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean isValidTruncLen
        end local 3 // boolean isValidLen
        end local 2 // int truncLen
        end local 1 // int keyLen
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   62     0             name  Ljava/lang/String;
            0   62     1           keyLen  I
            0   62     2         truncLen  I
            1   62     3       isValidLen  Z
            2   62     4  isValidTruncLen  Z
    MethodParameters:
          Name  Flags
      name      
      keyLen    
      truncLen  

  public boolean isAuthentication();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 256
            aload 0 /* this */
            invokevirtual android.net.IpSecAlgorithm.getName:()Ljava/lang/String;
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 5
            559425185: 1
            559457797: 2
            559510590: 3
            759177996: 4
           2065384259: 5
              default: 7
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 1
            ldc "hmac(sha256)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
      StackMap locals:
      StackMap stack:
         2: aload 1
            ldc "hmac(sha384)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "hmac(sha512)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "hmac(md5)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 1
            ldc "hmac(sha1)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
         6: .line 263
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         7: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/net/IpSecAlgorithm;

  public boolean isEncryption();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 271
            aload 0 /* this */
            invokevirtual android.net.IpSecAlgorithm.getName:()Ljava/lang/String;
            ldc "cbc(aes)"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  public boolean isAead();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 276
            aload 0 /* this */
            invokevirtual android.net.IpSecAlgorithm.getName:()Ljava/lang/String;
            ldc "rfc4106(gcm(aes))"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/IpSecAlgorithm;

  private static boolean isUnsafeBuild();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 282
            getstatic android.os.Build.IS_DEBUGGABLE:Z
            ifeq 1
            getstatic android.os.Build.IS_ENG:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.IpSecAlgorithm this
         0: .line 288
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         1: .line 289
            ldc "{mName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 290
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 291
            ldc ", mKey="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 292
            invokestatic android.net.IpSecAlgorithm.isUnsafeBuild:()Z
            ifeq 5
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mKey:[B
            invokestatic com.android.internal.util.HexDump.toHexString:([B)Ljava/lang/String;
            goto 6
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         5: ldc "<hidden>"
      StackMap locals: android.net.IpSecAlgorithm
      StackMap stack: java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 293
            ldc ", mTruncLenBits="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 294
            aload 0 /* this */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 295
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 296
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 288
            areturn
        end local 0 // android.net.IpSecAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Landroid/net/IpSecAlgorithm;

  public static boolean equals(android.net.IpSecAlgorithm, android.net.IpSecAlgorithm);
    descriptor: (Landroid/net/IpSecAlgorithm;Landroid/net/IpSecAlgorithm;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.IpSecAlgorithm lhs
        start local 1 // android.net.IpSecAlgorithm rhs
         0: .line 302
            aload 0 /* lhs */
            ifnull 1
            aload 1 /* rhs */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* lhs */
            aload 1 /* rhs */
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* lhs */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            aload 1 /* rhs */
            getfield android.net.IpSecAlgorithm.mName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 304
            aload 0 /* lhs */
            getfield android.net.IpSecAlgorithm.mKey:[B
            aload 1 /* rhs */
            getfield android.net.IpSecAlgorithm.mKey:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 7
         5: .line 305
            aload 0 /* lhs */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            aload 1 /* rhs */
            getfield android.net.IpSecAlgorithm.mTruncLenBits:I
            if_icmpne 7
         6: .line 303
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 1 // android.net.IpSecAlgorithm rhs
        end local 0 // android.net.IpSecAlgorithm lhs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   lhs  Landroid/net/IpSecAlgorithm;
            0    8     1   rhs  Landroid/net/IpSecAlgorithm;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      lhs   
      rhs   
}
SourceFile: "IpSecAlgorithm.java"
NestMembers:
  android.net.IpSecAlgorithm$1  android.net.IpSecAlgorithm$AlgorithmName
InnerClasses:
  android.net.IpSecAlgorithm$1
  public abstract AlgorithmName = android.net.IpSecAlgorithm$AlgorithmName of android.net.IpSecAlgorithm
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable