public final class com.google.common.net.InetAddresses
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.net.InetAddresses
  super_class: java.lang.Object
{
  private static final int IPV4_PART_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int IPV6_PART_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final char IPV4_DELIMITER;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 46

  private static final char IPV6_DELIMITER;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 58

  private static final com.google.common.base.CharMatcher IPV4_DELIMITER_MATCHER;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.base.CharMatcher IPV6_DELIMITER_MATCHER;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.Inet4Address LOOPBACK4;
    descriptor: Ljava/net/Inet4Address;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.Inet4Address ANY4;
    descriptor: Ljava/net/Inet4Address;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 105
            bipush 46
            invokestatic com.google.common.base.CharMatcher.is:(C)Lcom/google/common/base/CharMatcher;
            putstatic com.google.common.net.InetAddresses.IPV4_DELIMITER_MATCHER:Lcom/google/common/base/CharMatcher;
         1: .line 106
            bipush 58
            invokestatic com.google.common.base.CharMatcher.is:(C)Lcom/google/common/base/CharMatcher;
            putstatic com.google.common.net.InetAddresses.IPV6_DELIMITER_MATCHER:Lcom/google/common/base/CharMatcher;
         2: .line 107
            ldc "127.0.0.1"
            invokestatic com.google.common.net.InetAddresses.forString:(Ljava/lang/String;)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            putstatic com.google.common.net.InetAddresses.LOOPBACK4:Ljava/net/Inet4Address;
         3: .line 108
            ldc "0.0.0.0"
            invokestatic com.google.common.net.InetAddresses.forString:(Ljava/lang/String;)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            putstatic com.google.common.net.InetAddresses.ANY4:Ljava/net/Inet4Address;
            return
      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.net.InetAddresses this
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.net.InetAddresses this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/net/InetAddresses;

  private static java.net.Inet4Address getInet4Address(byte[]);
    descriptor: ([B)Ljava/net/Inet4Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 121
            aload 0 /* bytes */
            arraylength
            iconst_4
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: .line 122
      StackMap locals:
      StackMap stack: int
            ldc "Byte array has invalid length for an IPv4 address: %s != 4."
         3: .line 123
            aload 0 /* bytes */
            arraylength
         4: .line 120
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         5: .line 126
            aload 0 /* bytes */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static java.net.InetAddress forString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 142
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 145
            aload 1 /* addr */
            ifnonnull 3
         2: .line 146
            ldc "'%s' is not an IP string literal."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ipString */
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 149
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 1 // byte[] addr
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  ipString  Ljava/lang/String;
            1    4     1      addr  [B
    MethodParameters:
          Name  Flags
      ipString  

  public static boolean isInetAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 160
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  ipString  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] ipStringToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 166
            iconst_0
            istore 1 /* hasColon */
        start local 1 // boolean hasColon
         1: .line 167
            iconst_0
            istore 2 /* hasDot */
        start local 2 // boolean hasDot
         2: .line 168
            iconst_m1
            istore 3 /* percentIndex */
        start local 3 // int percentIndex
         3: .line 169
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 20
         5: .line 170
      StackMap locals: java.lang.String int int int int
      StackMap stack:
            aload 0 /* ipString */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 171
            iload 5 /* c */
            bipush 46
            if_icmpne 9
         7: .line 172
            iconst_1
            istore 2 /* hasDot */
         8: .line 173
            goto 19
      StackMap locals: int
      StackMap stack:
         9: iload 5 /* c */
            bipush 58
            if_icmpne 14
        10: .line 174
            iload 2 /* hasDot */
            ifeq 12
        11: .line 175
            aconst_null
            areturn
        12: .line 177
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* hasColon */
        13: .line 178
            goto 19
      StackMap locals:
      StackMap stack:
        14: iload 5 /* c */
            bipush 37
            if_icmpne 17
        15: .line 179
            iload 4 /* i */
            istore 3 /* percentIndex */
        16: .line 180
            goto 21
        17: .line 181
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            iconst_m1
            if_icmpne 19
        18: .line 182
            aconst_null
            areturn
        end local 5 // char c
        19: .line 169
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            if_icmplt 5
        end local 4 // int i
        21: .line 187
      StackMap locals:
      StackMap stack:
            iload 1 /* hasColon */
            ifeq 29
        22: .line 188
            iload 2 /* hasDot */
            ifeq 26
        23: .line 189
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.convertDottedQuadToHex:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* ipString */
        24: .line 190
            aload 0 /* ipString */
            ifnonnull 26
        25: .line 191
            aconst_null
            areturn
        26: .line 194
      StackMap locals:
      StackMap stack:
            iload 3 /* percentIndex */
            iconst_m1
            if_icmpeq 28
        27: .line 195
            aload 0 /* ipString */
            iconst_0
            iload 3 /* percentIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* ipString */
        28: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV6:(Ljava/lang/String;)[B
            areturn
        29: .line 198
      StackMap locals:
      StackMap stack:
            iload 2 /* hasDot */
            ifeq 33
        30: .line 199
            iload 3 /* percentIndex */
            iconst_m1
            if_icmpeq 32
        31: .line 200
            aconst_null
            areturn
        32: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV4:(Ljava/lang/String;)[B
            areturn
        33: .line 204
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int percentIndex
        end local 2 // boolean hasDot
        end local 1 // boolean hasColon
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0      ipString  Ljava/lang/String;
            1   34     1      hasColon  Z
            2   34     2        hasDot  Z
            3   34     3  percentIndex  I
            4   21     4             i  I
            6   19     5             c  C
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] textToNumericFormatV4(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 208
            getstatic com.google.common.net.InetAddresses.IPV4_DELIMITER_MATCHER:Lcom/google/common/base/CharMatcher;
            aload 0 /* ipString */
            invokevirtual com.google.common.base.CharMatcher.countIn:(Ljava/lang/CharSequence;)I
            iconst_1
            iadd
            iconst_4
            if_icmpeq 2
         1: .line 209
            aconst_null
            areturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            iconst_4
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 213
            iconst_0
            istore 2 /* start */
        start local 2 // int start
         4: .line 216
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 15
         6: .line 217
      StackMap locals: byte[] int int
      StackMap stack:
            aload 0 /* ipString */
            bipush 46
            iload 2 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* end */
        start local 4 // int end
         7: .line 218
            iload 4 /* end */
            iconst_m1
            if_icmpne 9
         8: .line 219
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            istore 4 /* end */
         9: .line 222
      StackMap locals: int
      StackMap stack:
            aload 1 /* bytes */
            iload 3 /* i */
            aload 0 /* ipString */
            iload 2 /* start */
            iload 4 /* end */
            invokestatic com.google.common.net.InetAddresses.parseOctet:(Ljava/lang/String;II)B
            bastore
        10: .line 223
            goto 13
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        11: pop
        12: .line 224
            aconst_null
            areturn
        13: .line 226
      StackMap locals:
      StackMap stack:
            iload 4 /* end */
            iconst_1
            iadd
            istore 2 /* start */
        end local 4 // int end
        14: .line 216
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iconst_4
            if_icmplt 6
        end local 3 // int i
        16: .line 229
            aload 1 /* bytes */
            areturn
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0  ipString  Ljava/lang/String;
            3   17     1     bytes  [B
            4   17     2     start  I
            5   16     3         i  I
            7   14     4       end  I
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.NumberFormatException
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] textToNumericFormatV6(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 234
            getstatic com.google.common.net.InetAddresses.IPV6_DELIMITER_MATCHER:Lcom/google/common/base/CharMatcher;
            aload 0 /* ipString */
            invokevirtual com.google.common.base.CharMatcher.countIn:(Ljava/lang/CharSequence;)I
            istore 1 /* delimiterCount */
        start local 1 // int delimiterCount
         1: .line 235
            iload 1 /* delimiterCount */
            iconst_2
            if_icmplt 2
            iload 1 /* delimiterCount */
            bipush 8
            if_icmple 3
         2: .line 236
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
         3: .line 238
      StackMap locals:
      StackMap stack:
            bipush 8
            iload 1 /* delimiterCount */
            iconst_1
            iadd
            isub
            istore 2 /* partsSkipped */
        start local 2 // int partsSkipped
         4: .line 239
            iconst_0
            istore 3 /* hasSkip */
        start local 3 // boolean hasSkip
         5: .line 242
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 243
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* ipString */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 16
            aload 0 /* ipString */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 16
         8: .line 244
            iload 3 /* hasSkip */
            ifeq 10
         9: .line 245
            aconst_null
            areturn
        10: .line 247
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* hasSkip */
        11: .line 248
            iinc 2 /* partsSkipped */ 1
        12: .line 249
            iload 4 /* i */
            ifne 14
        13: .line 250
            iinc 2 /* partsSkipped */ 1
        14: .line 252
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            if_icmpne 16
        15: .line 253
            iinc 2 /* partsSkipped */ 1
        16: .line 242
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmplt 7
        end local 4 // int i
        18: .line 257
            aload 0 /* ipString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 20
            aload 0 /* ipString */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpeq 20
        19: .line 258
            aconst_null
            areturn
        20: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* ipString */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 23
        21: .line 261
            aload 0 /* ipString */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpeq 23
        22: .line 262
            aconst_null
            areturn
        23: .line 264
      StackMap locals:
      StackMap stack:
            iload 3 /* hasSkip */
            ifeq 25
            iload 2 /* partsSkipped */
            ifgt 25
        24: .line 265
            aconst_null
            areturn
        25: .line 267
      StackMap locals:
      StackMap stack:
            iload 3 /* hasSkip */
            ifne 27
            iload 1 /* delimiterCount */
            iconst_1
            iadd
            bipush 8
            if_icmpeq 27
        26: .line 268
            aconst_null
            areturn
        27: .line 271
      StackMap locals:
      StackMap stack:
            bipush 16
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 4 /* rawBytes */
        start local 4 // java.nio.ByteBuffer rawBytes
        28: .line 276
            iconst_0
            istore 5 /* start */
        start local 5 // int start
        29: .line 277
            aload 0 /* ipString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 44
        30: .line 278
            iconst_1
            istore 5 /* start */
        31: .line 280
            goto 44
        32: .line 281
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            aload 0 /* ipString */
            bipush 58
            iload 5 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* end */
        start local 6 // int end
        33: .line 282
            iload 6 /* end */
            iconst_m1
            if_icmpne 35
        34: .line 283
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            istore 6 /* end */
        35: .line 285
      StackMap locals: int
      StackMap stack:
            aload 0 /* ipString */
            iload 5 /* start */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 42
        36: .line 287
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        37: goto 40
        38: .line 288
      StackMap locals: int
      StackMap stack:
            aload 4 /* rawBytes */
            iconst_0
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        39: .line 287
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            iload 2 /* partsSkipped */
            if_icmplt 38
        end local 7 // int i
        41: .line 291
            goto 43
        42: .line 292
      StackMap locals:
      StackMap stack:
            aload 4 /* rawBytes */
            aload 0 /* ipString */
            iload 5 /* start */
            iload 6 /* end */
            invokestatic com.google.common.net.InetAddresses.parseHextet:(Ljava/lang/String;II)S
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        43: .line 294
      StackMap locals:
      StackMap stack:
            iload 6 /* end */
            iconst_1
            iadd
            istore 5 /* start */
        end local 6 // int end
        44: .line 280
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            if_icmplt 32
        end local 5 // int start
        45: .line 296
            goto 48
      StackMap locals: java.lang.String int int int java.nio.ByteBuffer
      StackMap stack: java.lang.NumberFormatException
        46: pop
        47: .line 297
            aconst_null
            areturn
        48: .line 299
      StackMap locals:
      StackMap stack:
            aload 4 /* rawBytes */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
        end local 4 // java.nio.ByteBuffer rawBytes
        end local 3 // boolean hasSkip
        end local 2 // int partsSkipped
        end local 1 // int delimiterCount
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0        ipString  Ljava/lang/String;
            1   49     1  delimiterCount  I
            4   49     2    partsSkipped  I
            5   49     3         hasSkip  Z
            6   18     4               i  I
           28   49     4        rawBytes  Ljava/nio/ByteBuffer;
           29   45     5           start  I
           33   44     6             end  I
           37   41     7               i  I
      Exception table:
        from    to  target  type
          28    45      46  Class java.lang.NumberFormatException
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static java.lang.String convertDottedQuadToHex(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 303
            aload 0 /* ipString */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* lastColon */
        start local 1 // int lastColon
         1: .line 304
            aload 0 /* ipString */
            iconst_0
            iload 1 /* lastColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* initialPart */
        start local 2 // java.lang.String initialPart
         2: .line 305
            aload 0 /* ipString */
            iload 1 /* lastColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* dottedQuad */
        start local 3 // java.lang.String dottedQuad
         3: .line 306
            aload 3 /* dottedQuad */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV4:(Ljava/lang/String;)[B
            astore 4 /* quad */
        start local 4 // byte[] quad
         4: .line 307
            aload 4 /* quad */
            ifnonnull 6
         5: .line 308
            aconst_null
            areturn
         6: .line 310
      StackMap locals: java.lang.String int java.lang.String java.lang.String byte[]
      StackMap stack:
            aload 4 /* quad */
            iconst_0
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 4 /* quad */
            iconst_1
            baload
            sipush 255
            iand
            ior
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 5 /* penultimate */
        start local 5 // java.lang.String penultimate
         7: .line 311
            aload 4 /* quad */
            iconst_2
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 4 /* quad */
            iconst_3
            baload
            sipush 255
            iand
            ior
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 6 /* ultimate */
        start local 6 // java.lang.String ultimate
         8: .line 312
            new java.lang.StringBuilder
            dup
            aload 2 /* initialPart */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* penultimate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ultimate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.String ultimate
        end local 5 // java.lang.String penultimate
        end local 4 // byte[] quad
        end local 3 // java.lang.String dottedQuad
        end local 2 // java.lang.String initialPart
        end local 1 // int lastColon
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0     ipString  Ljava/lang/String;
            1    9     1    lastColon  I
            2    9     2  initialPart  Ljava/lang/String;
            3    9     3   dottedQuad  Ljava/lang/String;
            4    9     4         quad  [B
            7    9     5  penultimate  Ljava/lang/String;
            8    9     6     ultimate  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte parseOctet(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // java.lang.String ipString
        start local 1 // int start
        start local 2 // int end
         0: .line 318
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 3 /* length */
        start local 3 // int length
         1: .line 319
            iload 3 /* length */
            ifle 2
            iload 3 /* length */
            iconst_3
            if_icmple 3
         2: .line 320
      StackMap locals: int
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         3: .line 324
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iconst_1
            if_icmple 5
            aload 0 /* ipString */
            iload 1 /* start */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 5
         4: .line 325
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         5: .line 327
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* octet */
        start local 4 // int octet
         6: .line 328
            iload 1 /* start */
            istore 5 /* i */
        start local 5 // int i
         7: goto 14
         8: .line 329
      StackMap locals: int int
      StackMap stack:
            iload 4 /* octet */
            bipush 10
            imul
            istore 4 /* octet */
         9: .line 330
            aload 0 /* ipString */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            istore 6 /* digit */
        start local 6 // int digit
        10: .line 331
            iload 6 /* digit */
            ifge 12
        11: .line 332
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
        12: .line 334
      StackMap locals: int
      StackMap stack:
            iload 4 /* octet */
            iload 6 /* digit */
            iadd
            istore 4 /* octet */
        end local 6 // int digit
        13: .line 328
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 2 /* end */
            if_icmplt 8
        end local 5 // int i
        15: .line 336
            iload 4 /* octet */
            sipush 255
            if_icmple 17
        16: .line 337
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
        17: .line 339
      StackMap locals:
      StackMap stack:
            iload 4 /* octet */
            i2b
            ireturn
        end local 4 // int octet
        end local 3 // int length
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0  ipString  Ljava/lang/String;
            0   18     1     start  I
            0   18     2       end  I
            1   18     3    length  I
            6   18     4     octet  I
            7   15     5         i  I
           10   13     6     digit  I
    MethodParameters:
          Name  Flags
      ipString  
      start     
      end       

  private static short parseHextet(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.String ipString
        start local 1 // int start
        start local 2 // int end
         0: .line 345
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 3 /* length */
        start local 3 // int length
         1: .line 346
            iload 3 /* length */
            ifle 2
            iload 3 /* length */
            iconst_4
            if_icmple 3
         2: .line 347
      StackMap locals: int
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         3: .line 349
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* hextet */
        start local 4 // int hextet
         4: .line 350
            iload 1 /* start */
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 351
      StackMap locals: int int
      StackMap stack:
            iload 4 /* hextet */
            iconst_4
            ishl
            istore 4 /* hextet */
         7: .line 352
            iload 4 /* hextet */
            aload 0 /* ipString */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            ior
            istore 4 /* hextet */
         8: .line 350
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 2 /* end */
            if_icmplt 6
        end local 5 // int i
        10: .line 354
            iload 4 /* hextet */
            i2s
            ireturn
        end local 4 // int hextet
        end local 3 // int length
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0  ipString  Ljava/lang/String;
            0   11     1     start  I
            0   11     2       end  I
            1   11     3    length  I
            4   11     4    hextet  I
            5   10     5         i  I
    MethodParameters:
          Name  Flags
      ipString  
      start     
      end       

  private static java.net.InetAddress bytesToInetAddress(byte[]);
    descriptor: ([B)Ljava/net/InetAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte[] addr
         0: .line 369
            aload 0 /* addr */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
         1: areturn
         2: .line 370
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            astore 1 /* e */
        start local 1 // java.net.UnknownHostException e
         3: .line 371
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.net.UnknownHostException e
        end local 0 // byte[] addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  addr  [B
            3    4     1     e  Ljava/net/UnknownHostException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      addr  

  public static java.lang.String toAddrString(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 391
            aload 0 /* ip */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 392
            aload 0 /* ip */
            instanceof java.net.Inet4Address
            ifeq 3
         2: .line 394
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            areturn
         3: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            instanceof java.net.Inet6Address
            invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         4: .line 397
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         5: .line 398
            bipush 8
            newarray 10
            astore 2 /* hextets */
        start local 2 // int[] hextets
         6: .line 399
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 10
         8: .line 400
      StackMap locals: byte[] int[] int
      StackMap stack:
            aload 2 /* hextets */
            iload 3 /* i */
            iconst_0
            iconst_0
            aload 1 /* bytes */
            iconst_2
            iload 3 /* i */
            imul
            baload
            aload 1 /* bytes */
            iconst_2
            iload 3 /* i */
            imul
            iconst_1
            iadd
            baload
            invokestatic com.google.common.primitives.Ints.fromBytes:(BBBB)I
            iastore
         9: .line 399
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* hextets */
            arraylength
            if_icmplt 8
        end local 3 // int i
        11: .line 402
            aload 2 /* hextets */
            invokestatic com.google.common.net.InetAddresses.compressLongestRunOfZeroes:([I)V
        12: .line 403
            aload 2 /* hextets */
            invokestatic com.google.common.net.InetAddresses.hextetsToIPv6String:([I)Ljava/lang/String;
            areturn
        end local 2 // int[] hextets
        end local 1 // byte[] bytes
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0       ip  Ljava/net/InetAddress;
            5   13     1    bytes  [B
            6   13     2  hextets  [I
            7   11     3        i  I
    MethodParameters:
      Name  Flags
      ip    

  private static void compressLongestRunOfZeroes(int[]);
    descriptor: ([I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // int[] hextets
         0: .line 415
            iconst_m1
            istore 1 /* bestRunStart */
        start local 1 // int bestRunStart
         1: .line 416
            iconst_m1
            istore 2 /* bestRunLength */
        start local 2 // int bestRunLength
         2: .line 417
            iconst_m1
            istore 3 /* runStart */
        start local 3 // int runStart
         3: .line 418
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 16
         5: .line 419
      StackMap locals: int[] int int int int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* hextets */
            arraylength
            if_icmpge 9
            aload 0 /* hextets */
            iload 4 /* i */
            iaload
            ifne 9
         6: .line 420
            iload 3 /* runStart */
            ifge 15
         7: .line 421
            iload 4 /* i */
            istore 3 /* runStart */
         8: .line 423
            goto 15
      StackMap locals:
      StackMap stack:
         9: iload 3 /* runStart */
            iflt 15
        10: .line 424
            iload 4 /* i */
            iload 3 /* runStart */
            isub
            istore 5 /* runLength */
        start local 5 // int runLength
        11: .line 425
            iload 5 /* runLength */
            iload 2 /* bestRunLength */
            if_icmple 14
        12: .line 426
            iload 3 /* runStart */
            istore 1 /* bestRunStart */
        13: .line 427
            iload 5 /* runLength */
            istore 2 /* bestRunLength */
        14: .line 429
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 3 /* runStart */
        end local 5 // int runLength
        15: .line 418
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* hextets */
            arraylength
            iconst_1
            iadd
            if_icmplt 5
        end local 4 // int i
        17: .line 432
            iload 2 /* bestRunLength */
            iconst_2
            if_icmplt 19
        18: .line 433
            aload 0 /* hextets */
            iload 1 /* bestRunStart */
            iload 1 /* bestRunStart */
            iload 2 /* bestRunLength */
            iadd
            iconst_m1
            invokestatic java.util.Arrays.fill:([IIII)V
        19: .line 435
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int runStart
        end local 2 // int bestRunLength
        end local 1 // int bestRunStart
        end local 0 // int[] hextets
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0        hextets  [I
            1   20     1   bestRunStart  I
            2   20     2  bestRunLength  I
            3   20     3       runStart  I
            4   17     4              i  I
           11   15     5      runLength  I
    MethodParameters:
         Name  Flags
      hextets  

  private static java.lang.String hextetsToIPv6String(int[]);
    descriptor: ([I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // int[] hextets
         0: .line 450
            new java.lang.StringBuilder
            dup
            bipush 39
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 451
            iconst_0
            istore 2 /* lastWasNumber */
        start local 2 // boolean lastWasNumber
         2: .line 452
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 16
         4: .line 453
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* hextets */
            iload 3 /* i */
            iaload
            iflt 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* thisIsNumber */
        start local 4 // boolean thisIsNumber
         7: .line 454
            iload 4 /* thisIsNumber */
            ifeq 12
         8: .line 455
            iload 2 /* lastWasNumber */
            ifeq 10
         9: .line 456
            aload 1 /* buf */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 458
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* hextets */
            iload 3 /* i */
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 459
            goto 14
        12: .line 460
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifeq 13
            iload 2 /* lastWasNumber */
            ifeq 14
        13: .line 461
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 464
      StackMap locals:
      StackMap stack:
            iload 4 /* thisIsNumber */
            istore 2 /* lastWasNumber */
        end local 4 // boolean thisIsNumber
        15: .line 452
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 0 /* hextets */
            arraylength
            if_icmplt 4
        end local 3 // int i
        17: .line 466
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // boolean lastWasNumber
        end local 1 // java.lang.StringBuilder buf
        end local 0 // int[] hextets
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0        hextets  [I
            1   18     1            buf  Ljava/lang/StringBuilder;
            2   18     2  lastWasNumber  Z
            3   17     3              i  I
            7   15     4   thisIsNumber  Z
    MethodParameters:
         Name  Flags
      hextets  

  public static java.lang.String toUriString(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 489
            aload 0 /* ip */
            instanceof java.net.Inet6Address
            ifeq 2
         1: .line 490
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)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;
            areturn
         2: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            areturn
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ip  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.InetAddress forUriString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String hostAddr
         0: .line 510
            aload 0 /* hostAddr */
            invokestatic com.google.common.net.InetAddresses.forUriStringNoThrow:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 1 /* addr */
        start local 1 // java.net.InetAddress addr
         1: .line 511
            aload 1 /* addr */
            ifnonnull 3
         2: .line 512
            ldc "Not a valid URI IP literal: '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* hostAddr */
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 515
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 1 /* addr */
            areturn
        end local 1 // java.net.InetAddress addr
        end local 0 // java.lang.String hostAddr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  hostAddr  Ljava/lang/String;
            1    4     1      addr  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      hostAddr  

  private static java.net.InetAddress forUriStringNoThrow(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String hostAddr
         0: .line 519
            aload 0 /* hostAddr */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 524
            aload 0 /* hostAddr */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
            aload 0 /* hostAddr */
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 525
            aload 0 /* hostAddr */
            iconst_1
            aload 0 /* hostAddr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* ipString */
        start local 1 // java.lang.String ipString
         3: .line 526
            bipush 16
            istore 2 /* expectBytes */
        start local 2 // int expectBytes
         4: .line 527
            goto 7
        end local 2 // int expectBytes
        end local 1 // java.lang.String ipString
         5: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* hostAddr */
            astore 1 /* ipString */
        start local 1 // java.lang.String ipString
         6: .line 529
            iconst_4
            istore 2 /* expectBytes */
        start local 2 // int expectBytes
         7: .line 533
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 3 /* addr */
        start local 3 // byte[] addr
         8: .line 534
            aload 3 /* addr */
            ifnull 9
            aload 3 /* addr */
            arraylength
            iload 2 /* expectBytes */
            if_icmpeq 10
         9: .line 535
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            areturn
        10: .line 538
      StackMap locals:
      StackMap stack:
            aload 3 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 3 // byte[] addr
        end local 2 // int expectBytes
        end local 1 // java.lang.String ipString
        end local 0 // java.lang.String hostAddr
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0     hostAddr  Ljava/lang/String;
            3    5     1     ipString  Ljava/lang/String;
            6   11     1     ipString  Ljava/lang/String;
            4    5     2  expectBytes  I
            7   11     2  expectBytes  I
            8   11     3         addr  [B
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      hostAddr  

  public static boolean isUriInetAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 549
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.forUriStringNoThrow:(Ljava/lang/String;)Ljava/net/InetAddress;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  ipString  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ipString  

  public static boolean isCompatIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 571
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.isIPv4CompatibleAddress:()Z
            ifne 2
         1: .line 572
            iconst_0
            ireturn
         2: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 576
            aload 1 /* bytes */
            bipush 12
            baload
            ifne 8
         4: .line 577
            aload 1 /* bytes */
            bipush 13
            baload
            ifne 8
         5: .line 578
            aload 1 /* bytes */
            bipush 14
            baload
            ifne 8
         6: .line 579
            aload 1 /* bytes */
            bipush 15
            baload
            ifeq 7
            aload 1 /* bytes */
            bipush 15
            baload
            iconst_1
            if_icmpne 8
         7: .line 580
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            ireturn
         8: .line 583
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0     ip  Ljava/net/Inet6Address;
            3    9     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getCompatIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 595
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not IPv4-compatible."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
         1: .line 594
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         2: .line 597
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean is6to4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 613
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 614
            aload 1 /* bytes */
            iconst_0
            baload
            bipush 32
            if_icmpne 2
            aload 1 /* bytes */
            iconst_1
            baload
            iconst_2
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: byte[]
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     ip  Ljava/net/Inet6Address;
            1    3     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address get6to4IPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 625
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not a 6to4 address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 627
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            iconst_2
            bipush 6
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isTeredoAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 701
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 702
            aload 1 /* bytes */
            iconst_0
            baload
            bipush 32
            if_icmpne 6
         2: .line 703
            aload 1 /* bytes */
            iconst_1
            baload
            iconst_1
            if_icmpne 6
         3: .line 704
            aload 1 /* bytes */
            iconst_2
            baload
            ifne 6
         4: .line 705
            aload 1 /* bytes */
            iconst_3
            baload
            ifne 6
         5: .line 702
            iconst_1
            ireturn
      StackMap locals: byte[]
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0     ip  Ljava/net/Inet6Address;
            1    7     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static com.google.common.net.InetAddresses$TeredoInfo getTeredoInfo(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Lcom/google/common/net/InetAddresses$TeredoInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 716
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not a Teredo address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 718
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         2: .line 719
            aload 1 /* bytes */
            iconst_4
            bipush 8
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            astore 2 /* server */
        start local 2 // java.net.Inet4Address server
         3: .line 721
            aload 1 /* bytes */
            bipush 8
            invokestatic com.google.common.io.ByteStreams.newDataInput:([BI)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readShort:()S
            ldc 65535
            iand
            istore 3 /* flags */
        start local 3 // int flags
         4: .line 724
            aload 1 /* bytes */
            bipush 10
            invokestatic com.google.common.io.ByteStreams.newDataInput:([BI)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readShort:()S
            iconst_m1
            ixor
            ldc 65535
            iand
            istore 4 /* port */
        start local 4 // int port
         5: .line 726
            aload 1 /* bytes */
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 5 /* clientBytes */
        start local 5 // byte[] clientBytes
         6: .line 727
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 729
      StackMap locals: java.net.Inet6Address byte[] java.net.Inet4Address int int byte[] int
      StackMap stack:
            aload 5 /* clientBytes */
            iload 6 /* i */
            aload 5 /* clientBytes */
            iload 6 /* i */
            baload
            iconst_m1
            ixor
            i2b
            bastore
         9: .line 727
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* clientBytes */
            arraylength
            if_icmplt 8
        end local 6 // int i
        11: .line 731
            aload 5 /* clientBytes */
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            astore 6 /* client */
        start local 6 // java.net.Inet4Address client
        12: .line 733
            new com.google.common.net.InetAddresses$TeredoInfo
            dup
            aload 2 /* server */
            aload 6 /* client */
            iload 4 /* port */
            iload 3 /* flags */
            invokespecial com.google.common.net.InetAddresses$TeredoInfo.<init>:(Ljava/net/Inet4Address;Ljava/net/Inet4Address;II)V
            areturn
        end local 6 // java.net.Inet4Address client
        end local 5 // byte[] clientBytes
        end local 4 // int port
        end local 3 // int flags
        end local 2 // java.net.Inet4Address server
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0           ip  Ljava/net/Inet6Address;
            2   13     1        bytes  [B
            3   13     2       server  Ljava/net/Inet4Address;
            4   13     3        flags  I
            5   13     4         port  I
            6   13     5  clientBytes  [B
            7   11     6            i  I
           12   13     6       client  Ljava/net/Inet4Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isIsatapAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 753
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifeq 2
         1: .line 754
            iconst_0
            ireturn
         2: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 759
            aload 1 /* bytes */
            bipush 8
            baload
            iconst_3
            ior
            iconst_3
            if_icmpeq 5
         4: .line 763
            iconst_0
            ireturn
         5: .line 766
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* bytes */
            bipush 9
            baload
            ifne 6
            aload 1 /* bytes */
            bipush 10
            baload
            bipush 94
            if_icmpne 6
            aload 1 /* bytes */
            bipush 11
            baload
            bipush -2
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0     ip  Ljava/net/Inet6Address;
            3    7     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getIsatapIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 777
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isIsatapAddress:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not an ISATAP address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 779
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean hasEmbeddedIPv4ClientAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 795
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ifne 1
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ifne 1
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getEmbeddedIPv4ClientAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 811
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ifeq 2
         1: .line 812
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getCompatIPv4Address:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            areturn
         2: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ifeq 4
         3: .line 816
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.get6to4IPv4Address:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            areturn
         4: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifeq 6
         5: .line 820
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getTeredoInfo:(Ljava/net/Inet6Address;)Lcom/google/common/net/InetAddresses$TeredoInfo;
            invokevirtual com.google.common.net.InetAddresses$TeredoInfo.getClient:()Ljava/net/Inet4Address;
            areturn
         6: .line 823
      StackMap locals:
      StackMap stack:
            ldc "'%s' has no embedded IPv4 address."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isMappedIPv4Address(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 845
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 846
            aload 1 /* bytes */
            ifnull 15
            aload 1 /* bytes */
            arraylength
            bipush 16
            if_icmpne 15
         2: .line 847
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 848
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* i */
            baload
            ifeq 6
         5: .line 849
            iconst_0
            ireturn
         6: .line 847
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            bipush 10
            if_icmplt 4
        end local 2 // int i
         8: .line 852
            bipush 10
            istore 2 /* i */
        start local 2 // int i
         9: goto 13
        10: .line 853
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 12
        11: .line 854
            iconst_0
            ireturn
        12: .line 852
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            bipush 12
            if_icmplt 10
        end local 2 // int i
        14: .line 857
            iconst_1
            ireturn
        15: .line 859
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0  ipString  Ljava/lang/String;
            1   16     1     bytes  [B
            3    8     2         i  I
            9   14     2         i  I
    MethodParameters:
          Name  Flags
      ipString  

  public static java.net.Inet4Address getCoercedIPv4Address(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 886
            aload 0 /* ip */
            instanceof java.net.Inet4Address
            ifeq 2
         1: .line 887
            aload 0 /* ip */
            checkcast java.net.Inet4Address
            areturn
         2: .line 891
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 892
            iconst_1
            istore 2 /* leadingBytesOfZero */
        start local 2 // boolean leadingBytesOfZero
         4: .line 893
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 10
         6: .line 894
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* bytes */
            iload 3 /* i */
            baload
            ifeq 9
         7: .line 895
            iconst_0
            istore 2 /* leadingBytesOfZero */
         8: .line 896
            goto 11
         9: .line 893
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            bipush 15
            if_icmplt 6
        end local 3 // int i
        11: .line 899
      StackMap locals:
      StackMap stack:
            iload 2 /* leadingBytesOfZero */
            ifeq 13
            aload 1 /* bytes */
            bipush 15
            baload
            iconst_1
            if_icmpne 13
        12: .line 900
            getstatic com.google.common.net.InetAddresses.LOOPBACK4:Ljava/net/Inet4Address;
            areturn
        13: .line 901
      StackMap locals:
      StackMap stack:
            iload 2 /* leadingBytesOfZero */
            ifeq 15
            aload 1 /* bytes */
            bipush 15
            baload
            ifne 15
        14: .line 902
            getstatic com.google.common.net.InetAddresses.ANY4:Ljava/net/Inet4Address;
            areturn
        15: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            checkcast java.net.Inet6Address
            astore 3 /* ip6 */
        start local 3 // java.net.Inet6Address ip6
        16: .line 906
            lconst_0
            lstore 4 /* addressAsLong */
        start local 4 // long addressAsLong
        17: .line 907
            aload 3 /* ip6 */
            invokestatic com.google.common.net.InetAddresses.hasEmbeddedIPv4ClientAddress:(Ljava/net/Inet6Address;)Z
            ifeq 20
        18: .line 908
            aload 3 /* ip6 */
            invokestatic com.google.common.net.InetAddresses.getEmbeddedIPv4ClientAddress:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            invokevirtual java.net.Inet4Address.hashCode:()I
            i2l
            lstore 4 /* addressAsLong */
        19: .line 909
            goto 21
        20: .line 911
      StackMap locals: java.net.Inet6Address long
      StackMap stack:
            aload 3 /* ip6 */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            iconst_0
            bipush 8
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 4 /* addressAsLong */
        21: .line 915
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.hash.Hashing.murmur3_32:()Lcom/google/common/hash/HashFunction;
            lload 4 /* addressAsLong */
            invokeinterface com.google.common.hash.HashFunction.hashLong:(J)Lcom/google/common/hash/HashCode;
            invokevirtual com.google.common.hash.HashCode.asInt:()I
            istore 6 /* coercedHash */
        start local 6 // int coercedHash
        22: .line 918
            iload 6 /* coercedHash */
            ldc -536870912
            ior
            istore 6 /* coercedHash */
        23: .line 922
            iload 6 /* coercedHash */
            iconst_m1
            if_icmpne 25
        24: .line 923
            bipush -2
            istore 6 /* coercedHash */
        25: .line 926
      StackMap locals: int
      StackMap stack:
            iload 6 /* coercedHash */
            invokestatic com.google.common.primitives.Ints.toByteArray:(I)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 6 // int coercedHash
        end local 4 // long addressAsLong
        end local 3 // java.net.Inet6Address ip6
        end local 2 // boolean leadingBytesOfZero
        end local 1 // byte[] bytes
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                  ip  Ljava/net/InetAddress;
            3   26     1               bytes  [B
            4   26     2  leadingBytesOfZero  Z
            5   11     3                   i  I
           16   26     3                 ip6  Ljava/net/Inet6Address;
           17   26     4       addressAsLong  J
           22   26     6         coercedHash  I
    MethodParameters:
      Name  Flags
      ip    

  public static int coerceToInteger(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 948
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getCoercedIPv4Address:(Ljava/net/InetAddress;)Ljava/net/Inet4Address;
            invokevirtual java.net.Inet4Address.getAddress:()[B
            invokestatic com.google.common.io.ByteStreams.newDataInput:([B)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readInt:()I
            ireturn
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      ip    

  public static java.math.BigInteger toBigInteger(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/math/BigInteger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 961
            new java.math.BigInteger
            dup
            iconst_1
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            invokespecial java.math.BigInteger.<init>:(I[B)V
            areturn
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  address  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      address  

  public static java.net.Inet4Address fromInteger(int);
    descriptor: (I)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int address
         0: .line 971
            iload 0 /* address */
            invokestatic com.google.common.primitives.Ints.toByteArray:(I)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // int address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  address  I
    MethodParameters:
         Name  Flags
      address  

  public static java.net.Inet4Address fromIPv4BigInteger(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.BigInteger address
         0: .line 983
            aload 0 /* address */
            iconst_0
            invokestatic com.google.common.net.InetAddresses.fromBigInteger:(Ljava/math/BigInteger;Z)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            areturn
        end local 0 // java.math.BigInteger address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  address  Ljava/math/BigInteger;
    MethodParameters:
         Name  Flags
      address  

  public static java.net.Inet6Address fromIPv6BigInteger(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Ljava/net/Inet6Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.math.BigInteger address
         0: .line 994
            aload 0 /* address */
            iconst_1
            invokestatic com.google.common.net.InetAddresses.fromBigInteger:(Ljava/math/BigInteger;Z)Ljava/net/InetAddress;
            checkcast java.net.Inet6Address
            areturn
        end local 0 // java.math.BigInteger address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  address  Ljava/math/BigInteger;
    MethodParameters:
         Name  Flags
      address  

  private static java.net.InetAddress fromBigInteger(java.math.BigInteger, boolean);
    descriptor: (Ljava/math/BigInteger;Z)Ljava/net/InetAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.math.BigInteger address
        start local 1 // boolean isIpv6
         0: .line 1008
            aload 0 /* address */
            invokevirtual java.math.BigInteger.signum:()I
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "BigInteger must be greater than or equal to 0"
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
         3: .line 1010
            iload 1 /* isIpv6 */
            ifeq 4
            bipush 16
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_4
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* numBytes */
        start local 2 // int numBytes
         6: .line 1012
            aload 0 /* address */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 3 /* addressBytes */
        start local 3 // byte[] addressBytes
         7: .line 1013
            iload 2 /* numBytes */
            newarray 8
            astore 4 /* targetCopyArray */
        start local 4 // byte[] targetCopyArray
         8: .line 1015
            iconst_0
            aload 3 /* addressBytes */
            arraylength
            iload 2 /* numBytes */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* srcPos */
        start local 5 // int srcPos
         9: .line 1016
            aload 3 /* addressBytes */
            arraylength
            iload 5 /* srcPos */
            isub
            istore 6 /* copyLength */
        start local 6 // int copyLength
        10: .line 1017
            iload 2 /* numBytes */
            iload 6 /* copyLength */
            isub
            istore 7 /* destPos */
        start local 7 // int destPos
        11: .line 1020
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        12: goto 18
        13: .line 1021
      StackMap locals: java.math.BigInteger int int byte[] byte[] int int int int
      StackMap stack:
            aload 3 /* addressBytes */
            iload 8 /* i */
            baload
            ifeq 17
        14: .line 1023
            ldc "BigInteger cannot be converted to InetAddress because it has more than %d bytes: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 1025
            iload 2 /* numBytes */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* address */
            aastore
        16: .line 1022
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
        17: .line 1020
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* i */
            iload 5 /* srcPos */
            if_icmplt 13
        end local 8 // int i
        19: .line 1030
            aload 3 /* addressBytes */
            iload 5 /* srcPos */
            aload 4 /* targetCopyArray */
            iload 7 /* destPos */
            iload 6 /* copyLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 1033
            aload 4 /* targetCopyArray */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
        21: areturn
        22: .line 1034
      StackMap locals: java.math.BigInteger int int byte[] byte[] int int int
      StackMap stack: java.net.UnknownHostException
            astore 8 /* impossible */
        start local 8 // java.net.UnknownHostException impossible
        23: .line 1035
            new java.lang.AssertionError
            dup
            aload 8 /* impossible */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 8 // java.net.UnknownHostException impossible
        end local 7 // int destPos
        end local 6 // int copyLength
        end local 5 // int srcPos
        end local 4 // byte[] targetCopyArray
        end local 3 // byte[] addressBytes
        end local 2 // int numBytes
        end local 1 // boolean isIpv6
        end local 0 // java.math.BigInteger address
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0          address  Ljava/math/BigInteger;
            0   24     1           isIpv6  Z
            6   24     2         numBytes  I
            7   24     3     addressBytes  [B
            8   24     4  targetCopyArray  [B
            9   24     5           srcPos  I
           10   24     6       copyLength  I
           11   24     7          destPos  I
           12   19     8                i  I
           23   24     8       impossible  Ljava/net/UnknownHostException;
      Exception table:
        from    to  target  type
          20    21      22  Class java.net.UnknownHostException
    MethodParameters:
         Name  Flags
      address  
      isIpv6   

  public static java.net.InetAddress fromLittleEndianByteArray(byte[]);
    descriptor: ([B)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // byte[] addr
         0: .line 1050
            aload 0 /* addr */
            arraylength
            newarray 8
            astore 1 /* reversed */
        start local 1 // byte[] reversed
         1: .line 1051
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1052
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* reversed */
            iload 2 /* i */
            aload 0 /* addr */
            aload 0 /* addr */
            arraylength
            iload 2 /* i */
            isub
            iconst_1
            isub
            baload
            bastore
         4: .line 1051
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* addr */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 1054
            aload 1 /* reversed */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 1 // byte[] reversed
        end local 0 // byte[] addr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      addr  [B
            1    7     1  reversed  [B
            2    6     2         i  I
    Exceptions:
      throws java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      addr  

  public static java.net.InetAddress decrement(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 1067
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 1068
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 1069
            goto 5
         3: .line 1070
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            iconst_m1
            bastore
         4: .line 1071
            iinc 2 /* i */ -1
         5: .line 1069
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 6
            aload 1 /* addr */
            iload 2 /* i */
            baload
            ifeq 3
         6: .line 1074
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "Decrementing %s would wrap."
            aload 0 /* address */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         9: .line 1076
            aload 1 /* addr */
            iload 2 /* i */
            dup2
            baload
            iconst_1
            isub
            i2b
            bastore
        10: .line 1077
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 2 // int i
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  address  Ljava/net/InetAddress;
            1   11     1     addr  [B
            2   11     2        i  I
    MethodParameters:
         Name  Flags
      address  

  public static java.net.InetAddress increment(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 1090
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 1091
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 1092
            goto 5
         3: .line 1093
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            iconst_0
            bastore
         4: .line 1094
            iinc 2 /* i */ -1
         5: .line 1092
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 6
            aload 1 /* addr */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 3
         6: .line 1097
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "Incrementing %s would wrap."
            aload 0 /* address */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         9: .line 1099
            aload 1 /* addr */
            iload 2 /* i */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        10: .line 1100
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 2 // int i
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  address  Ljava/net/InetAddress;
            1   11     1     addr  [B
            2   11     2        i  I
    MethodParameters:
         Name  Flags
      address  

  public static boolean isMaximum(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 1112
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 1113
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1114
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 5
         4: .line 1115
            iconst_0
            ireturn
         5: .line 1113
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* addr */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 1118
            iconst_1
            ireturn
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  address  Ljava/net/InetAddress;
            1    8     1     addr  [B
            2    7     2        i  I
    MethodParameters:
         Name  Flags
      address  

  private static java.lang.IllegalArgumentException formatIllegalArgumentException(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String format
        start local 1 // java.lang.Object[] args
         0: .line 1123
            new java.lang.IllegalArgumentException
            dup
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            aload 0 /* format */
            aload 1 /* args */
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  format  Ljava/lang/String;
            0    1     1    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      format  
      args    
}
SourceFile: "InetAddresses.java"
NestMembers:
  com.google.common.net.InetAddresses$TeredoInfo
InnerClasses:
  public final TeredoInfo = com.google.common.net.InetAddresses$TeredoInfo of com.google.common.net.InetAddresses
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtIncompatible()