final class io.netty.handler.codec.http.websocketx.Utf8Validator implements io.netty.util.ByteProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.http.websocketx.Utf8Validator
  super_class: java.lang.Object
{
  private static final int UTF8_ACCEPT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

  private static final byte[] TYPES;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] STATES;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int state;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int codep;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean checking;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 49
            sipush 256
            newarray 8
            dup
            sipush 128
         1: .line 53
            iconst_1
            bastore
            dup
            sipush 129
            iconst_1
            bastore
            dup
            sipush 130
            iconst_1
            bastore
            dup
            sipush 131
            iconst_1
            bastore
            dup
            sipush 132
            iconst_1
            bastore
            dup
            sipush 133
            iconst_1
            bastore
            dup
            sipush 134
            iconst_1
            bastore
            dup
            sipush 135
         2: .line 54
            iconst_1
            bastore
            dup
            sipush 136
            iconst_1
            bastore
            dup
            sipush 137
            iconst_1
            bastore
            dup
            sipush 138
            iconst_1
            bastore
            dup
            sipush 139
            iconst_1
            bastore
            dup
            sipush 140
            iconst_1
            bastore
            dup
            sipush 141
            iconst_1
            bastore
            dup
            sipush 142
            iconst_1
            bastore
            dup
            sipush 143
            iconst_1
            bastore
            dup
            sipush 144
            bipush 9
            bastore
            dup
            sipush 145
            bipush 9
            bastore
            dup
            sipush 146
            bipush 9
            bastore
            dup
            sipush 147
            bipush 9
            bastore
            dup
            sipush 148
            bipush 9
            bastore
            dup
            sipush 149
            bipush 9
            bastore
            dup
            sipush 150
            bipush 9
            bastore
            dup
            sipush 151
            bipush 9
            bastore
            dup
            sipush 152
            bipush 9
            bastore
            dup
            sipush 153
            bipush 9
            bastore
            dup
            sipush 154
            bipush 9
            bastore
            dup
            sipush 155
            bipush 9
            bastore
            dup
            sipush 156
            bipush 9
            bastore
            dup
            sipush 157
            bipush 9
            bastore
            dup
            sipush 158
            bipush 9
            bastore
            dup
            sipush 159
            bipush 9
            bastore
            dup
            sipush 160
            bipush 7
            bastore
            dup
            sipush 161
            bipush 7
            bastore
            dup
            sipush 162
            bipush 7
            bastore
            dup
            sipush 163
            bipush 7
            bastore
            dup
            sipush 164
         3: .line 55
            bipush 7
            bastore
            dup
            sipush 165
            bipush 7
            bastore
            dup
            sipush 166
            bipush 7
            bastore
            dup
            sipush 167
            bipush 7
            bastore
            dup
            sipush 168
            bipush 7
            bastore
            dup
            sipush 169
            bipush 7
            bastore
            dup
            sipush 170
            bipush 7
            bastore
            dup
            sipush 171
            bipush 7
            bastore
            dup
            sipush 172
            bipush 7
            bastore
            dup
            sipush 173
            bipush 7
            bastore
            dup
            sipush 174
            bipush 7
            bastore
            dup
            sipush 175
            bipush 7
            bastore
            dup
            sipush 176
            bipush 7
            bastore
            dup
            sipush 177
            bipush 7
            bastore
            dup
            sipush 178
            bipush 7
            bastore
            dup
            sipush 179
            bipush 7
            bastore
            dup
            sipush 180
            bipush 7
            bastore
            dup
            sipush 181
            bipush 7
            bastore
            dup
            sipush 182
            bipush 7
            bastore
            dup
            sipush 183
            bipush 7
            bastore
            dup
            sipush 184
            bipush 7
            bastore
            dup
            sipush 185
            bipush 7
            bastore
            dup
            sipush 186
            bipush 7
            bastore
            dup
            sipush 187
            bipush 7
            bastore
            dup
            sipush 188
            bipush 7
            bastore
            dup
            sipush 189
            bipush 7
            bastore
            dup
            sipush 190
            bipush 7
            bastore
            dup
            sipush 191
            bipush 7
            bastore
            dup
            sipush 192
            bipush 8
            bastore
            dup
            sipush 193
         4: .line 56
            bipush 8
            bastore
            dup
            sipush 194
            iconst_2
            bastore
            dup
            sipush 195
            iconst_2
            bastore
            dup
            sipush 196
            iconst_2
            bastore
            dup
            sipush 197
            iconst_2
            bastore
            dup
            sipush 198
            iconst_2
            bastore
            dup
            sipush 199
            iconst_2
            bastore
            dup
            sipush 200
            iconst_2
            bastore
            dup
            sipush 201
            iconst_2
            bastore
            dup
            sipush 202
            iconst_2
            bastore
            dup
            sipush 203
            iconst_2
            bastore
            dup
            sipush 204
            iconst_2
            bastore
            dup
            sipush 205
            iconst_2
            bastore
            dup
            sipush 206
            iconst_2
            bastore
            dup
            sipush 207
            iconst_2
            bastore
            dup
            sipush 208
            iconst_2
            bastore
            dup
            sipush 209
            iconst_2
            bastore
            dup
            sipush 210
            iconst_2
            bastore
            dup
            sipush 211
            iconst_2
            bastore
            dup
            sipush 212
            iconst_2
            bastore
            dup
            sipush 213
            iconst_2
            bastore
            dup
            sipush 214
            iconst_2
            bastore
            dup
            sipush 215
            iconst_2
            bastore
            dup
            sipush 216
            iconst_2
            bastore
            dup
            sipush 217
            iconst_2
            bastore
            dup
            sipush 218
            iconst_2
            bastore
            dup
            sipush 219
            iconst_2
            bastore
            dup
            sipush 220
            iconst_2
            bastore
            dup
            sipush 221
            iconst_2
            bastore
            dup
            sipush 222
         5: .line 57
            iconst_2
            bastore
            dup
            sipush 223
            iconst_2
            bastore
            dup
            sipush 224
            bipush 10
            bastore
            dup
            sipush 225
            iconst_3
            bastore
            dup
            sipush 226
            iconst_3
            bastore
            dup
            sipush 227
            iconst_3
            bastore
            dup
            sipush 228
            iconst_3
            bastore
            dup
            sipush 229
            iconst_3
            bastore
            dup
            sipush 230
            iconst_3
            bastore
            dup
            sipush 231
            iconst_3
            bastore
            dup
            sipush 232
            iconst_3
            bastore
            dup
            sipush 233
            iconst_3
            bastore
            dup
            sipush 234
            iconst_3
            bastore
            dup
            sipush 235
            iconst_3
            bastore
            dup
            sipush 236
            iconst_3
            bastore
            dup
            sipush 237
            iconst_4
            bastore
            dup
            sipush 238
            iconst_3
            bastore
            dup
            sipush 239
            iconst_3
            bastore
            dup
            sipush 240
            bipush 11
            bastore
            dup
            sipush 241
            bipush 6
            bastore
            dup
            sipush 242
            bipush 6
            bastore
            dup
            sipush 243
            bipush 6
            bastore
            dup
            sipush 244
            iconst_5
            bastore
            dup
            sipush 245
            bipush 8
            bastore
            dup
            sipush 246
            bipush 8
            bastore
            dup
            sipush 247
            bipush 8
            bastore
            dup
            sipush 248
            bipush 8
            bastore
            dup
            sipush 249
            bipush 8
            bastore
            dup
            sipush 250
         6: .line 58
            bipush 8
            bastore
            dup
            sipush 251
            bipush 8
            bastore
            dup
            sipush 252
            bipush 8
            bastore
            dup
            sipush 253
            bipush 8
            bastore
            dup
            sipush 254
            bipush 8
            bastore
            dup
            sipush 255
            bipush 8
            bastore
         7: .line 49
            putstatic io.netty.handler.codec.http.websocketx.Utf8Validator.TYPES:[B
         8: .line 60
            bipush 108
            newarray 8
            dup
            iconst_1
            bipush 12
            bastore
            dup
            iconst_2
            bipush 24
            bastore
            dup
            iconst_3
            bipush 36
            bastore
            dup
            iconst_4
            bipush 60
            bastore
            dup
            iconst_5
            bipush 96
            bastore
            dup
            bipush 6
            bipush 84
            bastore
            dup
            bipush 7
            bipush 12
            bastore
            dup
            bipush 8
            bipush 12
            bastore
            dup
            bipush 9
            bipush 12
            bastore
            dup
            bipush 10
            bipush 48
            bastore
            dup
            bipush 11
            bipush 72
            bastore
            dup
            bipush 12
            bipush 12
            bastore
            dup
            bipush 13
            bipush 12
            bastore
            dup
            bipush 14
         9: .line 61
            bipush 12
            bastore
            dup
            bipush 15
            bipush 12
            bastore
            dup
            bipush 16
            bipush 12
            bastore
            dup
            bipush 17
            bipush 12
            bastore
            dup
            bipush 18
            bipush 12
            bastore
            dup
            bipush 19
            bipush 12
            bastore
            dup
            bipush 20
            bipush 12
            bastore
            dup
            bipush 21
            bipush 12
            bastore
            dup
            bipush 22
            bipush 12
            bastore
            dup
            bipush 23
            bipush 12
            bastore
            dup
            bipush 24
            bipush 12
            bastore
            dup
            bipush 26
            bipush 12
            bastore
            dup
            bipush 27
            bipush 12
            bastore
            dup
            bipush 28
            bipush 12
            bastore
            dup
            bipush 29
            bipush 12
            bastore
            dup
            bipush 30
            bipush 12
            bastore
            dup
            bipush 32
            bipush 12
            bastore
            dup
            bipush 34
            bipush 12
            bastore
            dup
            bipush 35
            bipush 12
            bastore
            dup
            bipush 36
        10: .line 62
            bipush 12
            bastore
            dup
            bipush 37
            bipush 24
            bastore
            dup
            bipush 38
            bipush 12
            bastore
            dup
            bipush 39
            bipush 12
            bastore
            dup
            bipush 40
            bipush 12
            bastore
            dup
            bipush 41
            bipush 12
            bastore
            dup
            bipush 42
            bipush 12
            bastore
            dup
            bipush 43
            bipush 24
            bastore
            dup
            bipush 44
            bipush 12
            bastore
            dup
            bipush 45
            bipush 24
            bastore
            dup
            bipush 46
            bipush 12
            bastore
            dup
            bipush 47
            bipush 12
            bastore
            dup
            bipush 48
            bipush 12
            bastore
            dup
            bipush 49
            bipush 12
            bastore
            dup
            bipush 50
            bipush 12
            bastore
            dup
            bipush 51
            bipush 12
            bastore
            dup
            bipush 52
            bipush 12
            bastore
            dup
            bipush 53
            bipush 12
            bastore
            dup
            bipush 54
            bipush 12
            bastore
            dup
            bipush 55
            bipush 24
            bastore
            dup
            bipush 56
            bipush 12
            bastore
            dup
            bipush 57
            bipush 12
            bastore
            dup
            bipush 58
        11: .line 63
            bipush 12
            bastore
            dup
            bipush 59
            bipush 12
            bastore
            dup
            bipush 60
            bipush 12
            bastore
            dup
            bipush 61
            bipush 24
            bastore
            dup
            bipush 62
            bipush 12
            bastore
            dup
            bipush 63
            bipush 12
            bastore
            dup
            bipush 64
            bipush 12
            bastore
            dup
            bipush 65
            bipush 12
            bastore
            dup
            bipush 66
            bipush 12
            bastore
            dup
            bipush 67
            bipush 12
            bastore
            dup
            bipush 68
            bipush 12
            bastore
            dup
            bipush 69
            bipush 24
            bastore
            dup
            bipush 70
            bipush 12
            bastore
            dup
            bipush 71
            bipush 12
            bastore
            dup
            bipush 72
            bipush 12
            bastore
            dup
            bipush 73
            bipush 12
            bastore
            dup
            bipush 74
            bipush 12
            bastore
            dup
            bipush 75
            bipush 12
            bastore
            dup
            bipush 76
            bipush 12
            bastore
            dup
            bipush 77
            bipush 12
            bastore
            dup
            bipush 78
            bipush 12
            bastore
            dup
            bipush 79
            bipush 36
            bastore
            dup
            bipush 80
        12: .line 64
            bipush 12
            bastore
            dup
            bipush 81
            bipush 36
            bastore
            dup
            bipush 82
            bipush 12
            bastore
            dup
            bipush 83
            bipush 12
            bastore
            dup
            bipush 84
            bipush 12
            bastore
            dup
            bipush 85
            bipush 36
            bastore
            dup
            bipush 86
            bipush 12
            bastore
            dup
            bipush 87
            bipush 12
            bastore
            dup
            bipush 88
            bipush 12
            bastore
            dup
            bipush 89
            bipush 12
            bastore
            dup
            bipush 90
            bipush 12
            bastore
            dup
            bipush 91
            bipush 36
            bastore
            dup
            bipush 92
            bipush 12
            bastore
            dup
            bipush 93
            bipush 36
            bastore
            dup
            bipush 94
            bipush 12
            bastore
            dup
            bipush 95
            bipush 12
            bastore
            dup
            bipush 96
            bipush 12
            bastore
            dup
            bipush 97
            bipush 36
            bastore
            dup
            bipush 98
            bipush 12
            bastore
            dup
            bipush 99
            bipush 12
            bastore
            dup
            bipush 100
            bipush 12
            bastore
            dup
            bipush 101
            bipush 12
            bastore
            dup
            bipush 102
        13: .line 65
            bipush 12
            bastore
            dup
            bipush 103
            bipush 12
            bastore
            dup
            bipush 104
            bipush 12
            bastore
            dup
            bipush 105
            bipush 12
            bastore
            dup
            bipush 106
            bipush 12
            bastore
            dup
            bipush 107
            bipush 12
            bastore
        14: .line 60
            putstatic io.netty.handler.codec.http.websocketx.Utf8Validator.STATES:[B
        15: .line 65
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
         2: .line 45
            return
        end local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http/websocketx/Utf8Validator;

  public void check(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
        start local 1 // io.netty.buffer.ByteBuf buffer
         0: .line 73
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.checking:Z
         1: .line 74
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual io.netty.buffer.ByteBuf.forEachByte:(Lio/netty/util/ByteProcessor;)I
            pop
         2: .line 75
            return
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/netty/handler/codec/http/websocketx/Utf8Validator;
            0    3     1  buffer  Lio/netty/buffer/ByteBuf;
    MethodParameters:
        Name  Flags
      buffer  

  public void finish();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
         0: .line 78
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.checking:Z
         1: .line 79
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.codep:I
         2: .line 80
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
            ifeq 5
         3: .line 81
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
         4: .line 82
            new io.netty.handler.codec.CorruptedFrameException
            dup
            ldc "bytes are not UTF-8"
            invokespecial io.netty.handler.codec.CorruptedFrameException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/handler/codec/http/websocketx/Utf8Validator;

  public boolean process(byte);
    descriptor: (B)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
        start local 1 // byte b
         0: .line 88
            getstatic io.netty.handler.codec.http.websocketx.Utf8Validator.TYPES:[B
            iload 1 /* b */
            sipush 255
            iand
            baload
            istore 2 /* type */
        start local 2 // byte type
         1: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
            ifeq 2
            iload 1 /* b */
            bipush 63
            iand
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.codep:I
            bipush 6
            ishl
            ior
            goto 3
      StackMap locals: io.netty.handler.codec.http.websocketx.Utf8Validator int int
      StackMap stack: io.netty.handler.codec.http.websocketx.Utf8Validator
         2: sipush 255
            iload 2 /* type */
            ishr
            iload 1 /* b */
            iand
      StackMap locals: io.netty.handler.codec.http.websocketx.Utf8Validator int int
      StackMap stack: io.netty.handler.codec.http.websocketx.Utf8Validator int
         3: putfield io.netty.handler.codec.http.websocketx.Utf8Validator.codep:I
         4: .line 92
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.websocketx.Utf8Validator.STATES:[B
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
            iload 2 /* type */
            iadd
            baload
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
         5: .line 94
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.state:I
            bipush 12
            if_icmpne 8
         6: .line 95
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.websocketx.Utf8Validator.checking:Z
         7: .line 96
            new io.netty.handler.codec.CorruptedFrameException
            dup
            ldc "bytes are not UTF-8"
            invokespecial io.netty.handler.codec.CorruptedFrameException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 98
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // byte type
        end local 1 // byte b
        end local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/netty/handler/codec/http/websocketx/Utf8Validator;
            0    9     1     b  B
            1    9     2  type  B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      b     

  public boolean isChecking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
         0: .line 102
            aload 0 /* this */
            getfield io.netty.handler.codec.http.websocketx.Utf8Validator.checking:Z
            ireturn
        end local 0 // io.netty.handler.codec.http.websocketx.Utf8Validator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http/websocketx/Utf8Validator;
}
SourceFile: "Utf8Validator.java"