final class io.netty.buffer.ByteBufUtil$HexUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.ByteBufUtil$HexUtil
  super_class: java.lang.Object
{
  private static final char[] BYTE2CHAR;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] HEXDUMP_TABLE;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] HEXPADDING;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] HEXDUMP_ROWPREFIXES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] BYTE2HEX;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] BYTEPADDING;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 942
            sipush 256
            newarray 5
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
         1: .line 943
            sipush 1024
            newarray 5
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_TABLE:[C
         2: .line 944
            bipush 16
            anewarray java.lang.String
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXPADDING:[Ljava/lang/String;
         3: .line 945
            sipush 4096
            anewarray java.lang.String
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_ROWPREFIXES:[Ljava/lang/String;
         4: .line 946
            sipush 256
            anewarray java.lang.String
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2HEX:[Ljava/lang/String;
         5: .line 947
            bipush 16
            anewarray java.lang.String
            putstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTEPADDING:[Ljava/lang/String;
         6: .line 950
            ldc "0123456789abcdef"
            invokevirtual java.lang.String.toCharArray:()[C
            astore 0 /* DIGITS */
        start local 0 // char[] DIGITS
         7: .line 951
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         8: goto 12
         9: .line 952
      StackMap locals: char[] int
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_TABLE:[C
            iload 1 /* i */
            iconst_1
            ishl
            aload 0 /* DIGITS */
            iload 1 /* i */
            iconst_4
            iushr
            bipush 15
            iand
            caload
            castore
        10: .line 953
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_TABLE:[C
            iload 1 /* i */
            iconst_1
            ishl
            iconst_1
            iadd
            aload 0 /* DIGITS */
            iload 1 /* i */
            bipush 15
            iand
            caload
            castore
        11: .line 951
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 1 /* i */
            sipush 256
            if_icmplt 9
        end local 1 // int i
        13: .line 959
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        14: goto 24
        15: .line 960
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXPADDING:[Ljava/lang/String;
            arraylength
            iload 1 /* i */
            isub
            istore 2 /* padding */
        start local 2 // int padding
        16: .line 961
            new java.lang.StringBuilder
            dup
            iload 2 /* padding */
            iconst_3
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
        17: .line 962
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        18: goto 21
        19: .line 963
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* buf */
            ldc "   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 962
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* j */
            iload 2 /* padding */
            if_icmplt 19
        end local 4 // int j
        22: .line 965
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXPADDING:[Ljava/lang/String;
            iload 1 /* i */
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 3 // java.lang.StringBuilder buf
        end local 2 // int padding
        23: .line 959
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 1 /* i */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXPADDING:[Ljava/lang/String;
            arraylength
            if_icmplt 15
        25: .line 969
            iconst_0
            istore 1 /* i */
            goto 33
        26: .line 970
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 12
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
        27: .line 971
            aload 2 /* buf */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 972
            aload 2 /* buf */
            iload 1 /* i */
            iconst_4
            ishl
            i2l
            ldc 4294967295
            land
            ldc 4294967296
            lor
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 973
            aload 2 /* buf */
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            bipush 9
            isub
            bipush 124
            invokevirtual java.lang.StringBuilder.setCharAt:(IC)V
        30: .line 974
            aload 2 /* buf */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 975
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_ROWPREFIXES:[Ljava/lang/String;
            iload 1 /* i */
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 2 // java.lang.StringBuilder buf
        32: .line 969
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 1 /* i */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_ROWPREFIXES:[Ljava/lang/String;
            arraylength
            if_icmplt 26
        34: .line 979
            iconst_0
            istore 1 /* i */
            goto 37
        35: .line 980
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2HEX:[Ljava/lang/String;
            iload 1 /* i */
            new java.lang.StringBuilder
            dup
            bipush 32
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* i */
            invokestatic io.netty.util.internal.StringUtil.byteToHexStringPadded:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        36: .line 979
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 1 /* i */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2HEX:[Ljava/lang/String;
            arraylength
            if_icmplt 35
        38: .line 984
            iconst_0
            istore 1 /* i */
            goto 48
        39: .line 985
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTEPADDING:[Ljava/lang/String;
            arraylength
            iload 1 /* i */
            isub
            istore 2 /* padding */
        start local 2 // int padding
        40: .line 986
            new java.lang.StringBuilder
            dup
            iload 2 /* padding */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
        41: .line 987
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        42: goto 45
        43: .line 988
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        44: .line 987
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        45: iload 4 /* j */
            iload 2 /* padding */
            if_icmplt 43
        end local 4 // int j
        46: .line 990
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTEPADDING:[Ljava/lang/String;
            iload 1 /* i */
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 3 // java.lang.StringBuilder buf
        end local 2 // int padding
        47: .line 984
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 1 /* i */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTEPADDING:[Ljava/lang/String;
            arraylength
            if_icmplt 39
        49: .line 994
            iconst_0
            istore 1 /* i */
            goto 55
        50: .line 995
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            bipush 31
            if_icmple 51
            iload 1 /* i */
            bipush 127
            if_icmplt 53
        51: .line 996
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
            iload 1 /* i */
            bipush 46
            castore
        52: .line 997
            goto 54
        53: .line 998
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
            iload 1 /* i */
            iload 1 /* i */
            i2c
            castore
        54: .line 994
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 1 /* i */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
            arraylength
            if_icmplt 50
        end local 1 // int i
        end local 0 // char[] DIGITS
        56: .line 1001
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            7   56     0   DIGITS  [C
            8   13     1        i  I
           14   56     1        i  I
           16   23     2  padding  I
           17   23     3      buf  Ljava/lang/StringBuilder;
           18   22     4        j  I
           27   32     2      buf  Ljava/lang/StringBuilder;
           40   47     2  padding  I
           41   47     3      buf  Ljava/lang/StringBuilder;
           42   46     4        j  I

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBufUtil$HexUtil this
         0: .line 940
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.netty.buffer.ByteBufUtil$HexUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/ByteBufUtil$HexUtil;

  private static java.lang.String hexDump(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int fromIndex
        start local 2 // int length
         0: .line 1004
            iload 2 /* length */
            ifge 2
         1: .line 1005
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1007
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            ifne 4
         3: .line 1008
            ldc ""
            areturn
         4: .line 1011
      StackMap locals:
      StackMap stack:
            iload 1 /* fromIndex */
            iload 2 /* length */
            iadd
            istore 3 /* endIndex */
        start local 3 // int endIndex
         5: .line 1012
            iload 2 /* length */
            iconst_1
            ishl
            newarray 5
            astore 4 /* buf */
        start local 4 // char[] buf
         6: .line 1014
            iload 1 /* fromIndex */
            istore 5 /* srcIdx */
        start local 5 // int srcIdx
         7: .line 1015
            iconst_0
            istore 6 /* dstIdx */
        start local 6 // int dstIdx
         8: .line 1016
            goto 13
         9: .line 1018
      StackMap locals: io.netty.buffer.ByteBuf int int int char[] int int
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_TABLE:[C
            aload 0 /* buffer */
            iload 5 /* srcIdx */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            iconst_1
            ishl
        10: .line 1019
            aload 4 /* buf */
            iload 6 /* dstIdx */
            iconst_2
        11: .line 1017
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 1016
            iinc 5 /* srcIdx */ 1
            iinc 6 /* dstIdx */ 2
      StackMap locals:
      StackMap stack:
        13: iload 5 /* srcIdx */
            iload 3 /* endIndex */
            if_icmplt 9
        14: .line 1022
            new java.lang.String
            dup
            aload 4 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 6 // int dstIdx
        end local 5 // int srcIdx
        end local 4 // char[] buf
        end local 3 // int endIndex
        end local 2 // int length
        end local 1 // int fromIndex
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0     buffer  Lio/netty/buffer/ByteBuf;
            0   15     1  fromIndex  I
            0   15     2     length  I
            5   15     3   endIndex  I
            6   15     4        buf  [C
            7   15     5     srcIdx  I
            8   15     6     dstIdx  I
    MethodParameters:
           Name  Flags
      buffer     
      fromIndex  
      length     

  private static java.lang.String hexDump(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // byte[] array
        start local 1 // int fromIndex
        start local 2 // int length
         0: .line 1026
            iload 2 /* length */
            ifge 2
         1: .line 1027
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1029
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            ifne 4
         3: .line 1030
            ldc ""
            areturn
         4: .line 1033
      StackMap locals:
      StackMap stack:
            iload 1 /* fromIndex */
            iload 2 /* length */
            iadd
            istore 3 /* endIndex */
        start local 3 // int endIndex
         5: .line 1034
            iload 2 /* length */
            iconst_1
            ishl
            newarray 5
            astore 4 /* buf */
        start local 4 // char[] buf
         6: .line 1036
            iload 1 /* fromIndex */
            istore 5 /* srcIdx */
        start local 5 // int srcIdx
         7: .line 1037
            iconst_0
            istore 6 /* dstIdx */
        start local 6 // int dstIdx
         8: .line 1038
            goto 13
         9: .line 1040
      StackMap locals: byte[] int int int char[] int int
      StackMap stack:
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_TABLE:[C
            aload 0 /* array */
            iload 5 /* srcIdx */
            baload
            sipush 255
            iand
            iconst_1
            ishl
        10: .line 1041
            aload 4 /* buf */
            iload 6 /* dstIdx */
            iconst_2
        11: .line 1039
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 1038
            iinc 5 /* srcIdx */ 1
            iinc 6 /* dstIdx */ 2
      StackMap locals:
      StackMap stack:
        13: iload 5 /* srcIdx */
            iload 3 /* endIndex */
            if_icmplt 9
        14: .line 1044
            new java.lang.String
            dup
            aload 4 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 6 // int dstIdx
        end local 5 // int srcIdx
        end local 4 // char[] buf
        end local 3 // int endIndex
        end local 2 // int length
        end local 1 // int fromIndex
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0      array  [B
            0   15     1  fromIndex  I
            0   15     2     length  I
            5   15     3   endIndex  I
            6   15     4        buf  [C
            7   15     5     srcIdx  I
            8   15     6     dstIdx  I
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      length     

  private static java.lang.String prettyHexDump(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int offset
        start local 2 // int length
         0: .line 1048
            iload 2 /* length */
            ifne 2
         1: .line 1049
            ldc ""
            areturn
         2: .line 1051
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            bipush 16
            idiv
            iload 2 /* length */
            bipush 15
            irem
            ifne 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack: int
         3: iconst_1
      StackMap locals: io.netty.buffer.ByteBuf int int
      StackMap stack: int int
         4: iadd
            iconst_4
            iadd
            istore 3 /* rows */
        start local 3 // int rows
         5: .line 1052
            new java.lang.StringBuilder
            dup
            iload 3 /* rows */
            bipush 80
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         6: .line 1053
            aload 4 /* buf */
            aload 0 /* buffer */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.appendPrettyHexDump:(Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;II)V
         7: .line 1054
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // int rows
        end local 2 // int length
        end local 1 // int offset
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  buffer  Lio/netty/buffer/ByteBuf;
            0    8     1  offset  I
            0    8     2  length  I
            5    8     3    rows  I
            6    8     4     buf  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  private static void appendPrettyHexDump(java.lang.StringBuilder, io.netty.buffer.ByteBuf, int, int);
    descriptor: (Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // java.lang.StringBuilder dump
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // int offset
        start local 3 // int length
         0: .line 1059
            iload 2 /* offset */
            iload 3 /* length */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            invokestatic io.netty.util.internal.MathUtil.isOutOfBounds:(III)Z
            ifeq 6
         1: .line 1060
            new java.lang.IndexOutOfBoundsException
            dup
         2: .line 1061
            new java.lang.StringBuilder
            dup
            ldc "expected: 0 <= offset("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= offset + length("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 1062
            ldc ") <= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "buf.capacity("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 1061
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1060
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1064
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            ifne 8
         7: .line 1065
            return
         8: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* dump */
         9: .line 1068
            new java.lang.StringBuilder
            dup
            ldc "         +-------------------------------------------------+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1069
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1070
            getstatic io.netty.util.internal.StringUtil.NEWLINE: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;
        12: .line 1068
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1067
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1072
            iload 2 /* offset */
            istore 4 /* startIndex */
        start local 4 // int startIndex
        15: .line 1073
            iload 3 /* length */
            iconst_4
            iushr
            istore 5 /* fullRows */
        start local 5 // int fullRows
        16: .line 1074
            iload 3 /* length */
            bipush 15
            iand
            istore 6 /* remainder */
        start local 6 // int remainder
        17: .line 1077
            iconst_0
            istore 7 /* row */
        start local 7 // int row
        18: goto 35
        19: .line 1078
      StackMap locals: java.lang.StringBuilder io.netty.buffer.ByteBuf int int int int int int
      StackMap stack:
            iload 7 /* row */
            iconst_4
            ishl
            iload 4 /* startIndex */
            iadd
            istore 8 /* rowStartIndex */
        start local 8 // int rowStartIndex
        20: .line 1081
            aload 0 /* dump */
            iload 7 /* row */
            iload 8 /* rowStartIndex */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.appendHexDumpRowPrefix:(Ljava/lang/StringBuilder;II)V
        21: .line 1084
            iload 8 /* rowStartIndex */
            bipush 16
            iadd
            istore 9 /* rowEndIndex */
        start local 9 // int rowEndIndex
        22: .line 1085
            iload 8 /* rowStartIndex */
            istore 10 /* j */
        start local 10 // int j
        23: goto 26
        24: .line 1086
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2HEX:[Ljava/lang/String;
            aload 1 /* buf */
            iload 10 /* j */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1085
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 10 /* j */
            iload 9 /* rowEndIndex */
            if_icmplt 24
        end local 10 // int j
        27: .line 1088
            aload 0 /* dump */
            ldc " |"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1091
            iload 8 /* rowStartIndex */
            istore 10 /* j */
        start local 10 // int j
        29: goto 32
        30: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
            aload 1 /* buf */
            iload 10 /* j */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 1091
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        32: iload 10 /* j */
            iload 9 /* rowEndIndex */
            if_icmplt 30
        end local 10 // int j
        33: .line 1094
            aload 0 /* dump */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 9 // int rowEndIndex
        end local 8 // int rowStartIndex
        34: .line 1077
            iinc 7 /* row */ 1
      StackMap locals:
      StackMap stack:
        35: iload 7 /* row */
            iload 5 /* fullRows */
            if_icmplt 19
        end local 7 // int row
        36: .line 1098
            iload 6 /* remainder */
            ifeq 54
        37: .line 1099
            iload 5 /* fullRows */
            iconst_4
            ishl
            iload 4 /* startIndex */
            iadd
            istore 7 /* rowStartIndex */
        start local 7 // int rowStartIndex
        38: .line 1100
            aload 0 /* dump */
            iload 5 /* fullRows */
            iload 7 /* rowStartIndex */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.appendHexDumpRowPrefix:(Ljava/lang/StringBuilder;II)V
        39: .line 1103
            iload 7 /* rowStartIndex */
            iload 6 /* remainder */
            iadd
            istore 8 /* rowEndIndex */
        start local 8 // int rowEndIndex
        40: .line 1104
            iload 7 /* rowStartIndex */
            istore 9 /* j */
        start local 9 // int j
        41: goto 44
        42: .line 1105
      StackMap locals: int int
      StackMap stack:
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2HEX:[Ljava/lang/String;
            aload 1 /* buf */
            iload 9 /* j */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 1104
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        44: iload 9 /* j */
            iload 8 /* rowEndIndex */
            if_icmplt 42
        end local 9 // int j
        45: .line 1107
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXPADDING:[Ljava/lang/String;
            iload 6 /* remainder */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1108
            aload 0 /* dump */
            ldc " |"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 1111
            iload 7 /* rowStartIndex */
            istore 9 /* j */
        start local 9 // int j
        48: goto 51
        49: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTE2CHAR:[C
            aload 1 /* buf */
            iload 9 /* j */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        50: .line 1111
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        51: iload 9 /* j */
            iload 8 /* rowEndIndex */
            if_icmplt 49
        end local 9 // int j
        52: .line 1114
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.BYTEPADDING:[Ljava/lang/String;
            iload 6 /* remainder */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 1115
            aload 0 /* dump */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // int rowEndIndex
        end local 7 // int rowStartIndex
        54: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* dump */
            new java.lang.StringBuilder
            dup
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        55: .line 1119
            ldc "+--------+-------------------------------------------------+----------------+"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 1118
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 1120
            return
        end local 6 // int remainder
        end local 5 // int fullRows
        end local 4 // int startIndex
        end local 3 // int length
        end local 2 // int offset
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // java.lang.StringBuilder dump
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   58     0           dump  Ljava/lang/StringBuilder;
            0   58     1            buf  Lio/netty/buffer/ByteBuf;
            0   58     2         offset  I
            0   58     3         length  I
           15   58     4     startIndex  I
           16   58     5       fullRows  I
           17   58     6      remainder  I
           18   36     7            row  I
           20   34     8  rowStartIndex  I
           22   34     9    rowEndIndex  I
           23   27    10              j  I
           29   33    10              j  I
           38   54     7  rowStartIndex  I
           40   54     8    rowEndIndex  I
           41   45     9              j  I
           48   52     9              j  I
    MethodParameters:
        Name  Flags
      dump    
      buf     
      offset  
      length  

  private static void appendHexDumpRowPrefix(java.lang.StringBuilder, int, int);
    descriptor: (Ljava/lang/StringBuilder;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.StringBuilder dump
        start local 1 // int row
        start local 2 // int rowStartIndex
         0: .line 1123
            iload 1 /* row */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_ROWPREFIXES:[Ljava/lang/String;
            arraylength
            if_icmpge 3
         1: .line 1124
            aload 0 /* dump */
            getstatic io.netty.buffer.ByteBufUtil$HexUtil.HEXDUMP_ROWPREFIXES:[Ljava/lang/String;
            iload 1 /* row */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1125
            goto 7
         3: .line 1126
      StackMap locals:
      StackMap stack:
            aload 0 /* dump */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1127
            aload 0 /* dump */
            iload 2 /* rowStartIndex */
            i2l
            ldc 4294967295
            land
            ldc 4294967296
            lor
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1128
            aload 0 /* dump */
            aload 0 /* dump */
            invokevirtual java.lang.StringBuilder.length:()I
            bipush 9
            isub
            bipush 124
            invokevirtual java.lang.StringBuilder.setCharAt:(IC)V
         6: .line 1129
            aload 0 /* dump */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 1131
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int rowStartIndex
        end local 1 // int row
        end local 0 // java.lang.StringBuilder dump
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           dump  Ljava/lang/StringBuilder;
            0    8     1            row  I
            0    8     2  rowStartIndex  I
    MethodParameters:
               Name  Flags
      dump           
      row            
      rowStartIndex  
}
SourceFile: "ByteBufUtil.java"
NestHost: io.netty.buffer.ByteBufUtil
InnerClasses:
  private final HexUtil = io.netty.buffer.ByteBufUtil$HexUtil of io.netty.buffer.ByteBufUtil