public class com.sun.inputmethods.internal.thaiim.ThaiRules
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.inputmethods.internal.thaiim.ThaiRules
  super_class: java.lang.Object
{
  public static final char BASE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3584

  public static final byte NON;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final byte CONS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte LV;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final byte FV1;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final byte FV2;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final byte FV3;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final byte FV4;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final byte BV1;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final byte BV2;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final byte BD;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final byte TONE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final byte AD1;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final byte AD2;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final byte AD3;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final byte AV1;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  public static final byte AV2;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final byte AV3;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final byte STRICT;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final byte LOOSE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte NOREPLACE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final byte[] CHARTYPE;
    descriptor: [B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private java.awt.im.InputMethodRequests requests;
    descriptor: Ljava/awt/im/InputMethodRequests;
    flags: (0x0002) ACC_PRIVATE

  private static final int[] INPUTVALIDITY;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] COMPOSABLE;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] REPLACABLE;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] SWAPPABLE;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 64
            bipush 92
            newarray 8
            dup
            iconst_1
         1: .line 66
            iconst_1
            bastore
            dup
            iconst_2
         2: .line 67
            iconst_1
            bastore
            dup
            iconst_3
         3: .line 68
            iconst_1
            bastore
            dup
            iconst_4
         4: .line 69
            iconst_1
            bastore
            dup
            iconst_5
         5: .line 70
            iconst_1
            bastore
            dup
            bipush 6
         6: .line 71
            iconst_1
            bastore
            dup
            bipush 7
         7: .line 72
            iconst_1
            bastore
            dup
            bipush 8
         8: .line 73
            iconst_1
            bastore
            dup
            bipush 9
         9: .line 74
            iconst_1
            bastore
            dup
            bipush 10
        10: .line 75
            iconst_1
            bastore
            dup
            bipush 11
        11: .line 76
            iconst_1
            bastore
            dup
            bipush 12
        12: .line 77
            iconst_1
            bastore
            dup
            bipush 13
        13: .line 78
            iconst_1
            bastore
            dup
            bipush 14
        14: .line 79
            iconst_1
            bastore
            dup
            bipush 15
        15: .line 80
            iconst_1
            bastore
            dup
            bipush 16
        16: .line 81
            iconst_1
            bastore
            dup
            bipush 17
        17: .line 82
            iconst_1
            bastore
            dup
            bipush 18
        18: .line 83
            iconst_1
            bastore
            dup
            bipush 19
        19: .line 84
            iconst_1
            bastore
            dup
            bipush 20
        20: .line 85
            iconst_1
            bastore
            dup
            bipush 21
        21: .line 86
            iconst_1
            bastore
            dup
            bipush 22
        22: .line 87
            iconst_1
            bastore
            dup
            bipush 23
        23: .line 88
            iconst_1
            bastore
            dup
            bipush 24
        24: .line 89
            iconst_1
            bastore
            dup
            bipush 25
        25: .line 90
            iconst_1
            bastore
            dup
            bipush 26
        26: .line 91
            iconst_1
            bastore
            dup
            bipush 27
        27: .line 92
            iconst_1
            bastore
            dup
            bipush 28
        28: .line 93
            iconst_1
            bastore
            dup
            bipush 29
        29: .line 94
            iconst_1
            bastore
            dup
            bipush 30
        30: .line 95
            iconst_1
            bastore
            dup
            bipush 31
        31: .line 96
            iconst_1
            bastore
            dup
            bipush 32
        32: .line 97
            iconst_1
            bastore
            dup
            bipush 33
        33: .line 98
            iconst_1
            bastore
            dup
            bipush 34
        34: .line 99
            iconst_1
            bastore
            dup
            bipush 35
        35: .line 100
            iconst_1
            bastore
            dup
            bipush 36
        36: .line 101
            iconst_5
            bastore
            dup
            bipush 37
        37: .line 102
            iconst_1
            bastore
            dup
            bipush 38
        38: .line 103
            iconst_5
            bastore
            dup
            bipush 39
        39: .line 104
            iconst_1
            bastore
            dup
            bipush 40
        40: .line 105
            iconst_1
            bastore
            dup
            bipush 41
        41: .line 106
            iconst_1
            bastore
            dup
            bipush 42
        42: .line 107
            iconst_1
            bastore
            dup
            bipush 43
        43: .line 108
            iconst_1
            bastore
            dup
            bipush 44
        44: .line 109
            iconst_1
            bastore
            dup
            bipush 45
        45: .line 110
            iconst_1
            bastore
            dup
            bipush 46
        46: .line 111
            iconst_1
            bastore
            dup
            bipush 48
        47: .line 113
            iconst_3
            bastore
            dup
            bipush 49
        48: .line 114
            bipush 15
            bastore
            dup
            bipush 50
        49: .line 115
            iconst_3
            bastore
            dup
            bipush 51
        50: .line 116
            bipush 6
            bastore
            dup
            bipush 52
        51: .line 117
            bipush 14
            bastore
            dup
            bipush 53
        52: .line 118
            bipush 16
            bastore
            dup
            bipush 54
        53: .line 119
            bipush 15
            bastore
            dup
            bipush 55
        54: .line 120
            bipush 16
            bastore
            dup
            bipush 56
        55: .line 121
            bipush 7
            bastore
            dup
            bipush 57
        56: .line 122
            bipush 8
            bastore
            dup
            bipush 58
        57: .line 123
            bipush 9
            bastore
            dup
            bipush 64
        58: .line 129
            iconst_2
            bastore
            dup
            bipush 65
        59: .line 130
            iconst_2
            bastore
            dup
            bipush 66
        60: .line 131
            iconst_2
            bastore
            dup
            bipush 67
        61: .line 132
            iconst_2
            bastore
            dup
            bipush 68
        62: .line 133
            iconst_2
            bastore
            dup
            bipush 69
        63: .line 134
            iconst_4
            bastore
            dup
            bipush 71
        64: .line 136
            bipush 12
            bastore
            dup
            bipush 72
        65: .line 137
            bipush 10
            bastore
            dup
            bipush 73
        66: .line 138
            bipush 10
            bastore
            dup
            bipush 74
        67: .line 139
            bipush 10
            bastore
            dup
            bipush 75
        68: .line 140
            bipush 10
            bastore
            dup
            bipush 76
        69: .line 141
            bipush 11
            bastore
            dup
            bipush 77
        70: .line 142
            bipush 13
            bastore
            dup
            bipush 78
        71: .line 143
            bipush 13
            bastore
        72: .line 64
            putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
        73: .line 197
            bipush 17
            newarray 10
            dup
            iconst_0
        74: .line 198
            bipush 39
            iastore
            dup
            iconst_1
        75: .line 199
            ldc 131071
            iastore
            dup
            iconst_2
        76: .line 200
            iconst_2
            iastore
            dup
            iconst_3
        77: .line 201
            bipush 39
            iastore
            dup
            iconst_4
        78: .line 202
            bipush 39
            iastore
            dup
            iconst_5
        79: .line 203
            bipush 55
            iastore
            dup
            bipush 6
        80: .line 204
            bipush 39
            iastore
            dup
            bipush 7
        81: .line 205
            sipush 3111
            iastore
            dup
            bipush 8
        82: .line 206
            sipush 1063
            iastore
            dup
            bipush 9
        83: .line 207
            bipush 39
            iastore
            dup
            bipush 10
        84: .line 208
            bipush 111
            iastore
            dup
            bipush 11
        85: .line 209
            bipush 39
            iastore
            dup
            bipush 12
        86: .line 210
            bipush 39
            iastore
            dup
            bipush 13
        87: .line 211
            bipush 39
            iastore
            dup
            bipush 14
        88: .line 212
            sipush 3111
            iastore
            dup
            bipush 15
        89: .line 213
            sipush 1063
            iastore
            dup
            bipush 16
        90: .line 214
            sipush 9255
            iastore
        91: .line 197
            putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.INPUTVALIDITY:[I
        92: .line 217
            bipush 17
            newarray 10
            dup
            iconst_1
        93: .line 219
            ldc 131008
            iastore
            dup
            bipush 7
        94: .line 225
            sipush 3072
            iastore
            dup
            bipush 8
        95: .line 226
            sipush 1024
            iastore
            dup
            bipush 10
        96: .line 228
            bipush 64
            iastore
            dup
            bipush 14
        97: .line 232
            sipush 3072
            iastore
            dup
            bipush 15
        98: .line 233
            sipush 1024
            iastore
            dup
            bipush 16
        99: .line 234
            sipush 9216
            iastore
       100: .line 217
            putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.COMPOSABLE:[I
       101: .line 237
            bipush 17
            newarray 10
            dup
            bipush 6
       102: .line 244
            ldc 129472
            iastore
            dup
            bipush 7
       103: .line 245
            ldc 127936
            iastore
            dup
            bipush 8
       104: .line 246
            ldc 129984
            iastore
            dup
            bipush 9
       105: .line 247
            ldc 131008
            iastore
            dup
            bipush 10
       106: .line 248
            sipush 15872
            iastore
            dup
            bipush 11
       107: .line 249
            ldc 114496
            iastore
            dup
            bipush 12
       108: .line 250
            ldc 131008
            iastore
            dup
            bipush 13
       109: .line 251
            ldc 65472
            iastore
            dup
            bipush 14
       110: .line 252
            ldc 127936
            iastore
            dup
            bipush 15
       111: .line 253
            ldc 129984
            iastore
            dup
            bipush 16
       112: .line 254
            ldc 121792
            iastore
       113: .line 237
            putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.REPLACABLE:[I
       114: .line 257
            bipush 17
            newarray 10
            dup
            bipush 6
       115: .line 264
            sipush 1024
            iastore
            dup
            bipush 10
       116: .line 268
            ldc 115072
            iastore
            dup
            bipush 11
       117: .line 269
            sipush 16512
            iastore
            dup
            bipush 13
       118: .line 271
            ldc 65536
            iastore
       119: .line 257
            putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.SWAPPABLE:[I
       120: .line 275
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.awt.im.InputMethodRequests);
    descriptor: (Ljava/awt/im/InputMethodRequests;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.inputmethods.internal.thaiim.ThaiRules this
        start local 1 // java.awt.im.InputMethodRequests requests
         0: .line 161
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 162
            aload 0 /* this */
            aload 1 /* requests */
            putfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
         2: .line 163
            return
        end local 1 // java.awt.im.InputMethodRequests requests
        end local 0 // com.sun.inputmethods.internal.thaiim.ThaiRules this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/inputmethods/internal/thaiim/ThaiRules;
            0    3     1  requests  Ljava/awt/im/InputMethodRequests;
    MethodParameters:
          Name  Flags
      requests  

  public static byte getCharType(char);
    descriptor: (C)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // char c
         0: .line 167
            iload 0 /* c */
            sipush 3584
            isub
            istore 2 /* ci */
        start local 2 // int ci
         1: .line 168
            iload 2 /* ci */
            iflt 2
            iload 2 /* ci */
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
            arraylength
            if_icmplt 4
         2: .line 169
      StackMap locals: int top int
      StackMap stack:
            iconst_0
            istore 1 /* cType */
        start local 1 // byte cType
         3: goto 5
        end local 1 // byte cType
         4: .line 171
      StackMap locals:
      StackMap stack:
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
            iload 2 /* ci */
            baload
            istore 1 /* cType */
        start local 1 // byte cType
         5: .line 172
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* cType */
            ireturn
        end local 2 // int ci
        end local 1 // byte cType
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      c  C
            3    4     1  cType  B
            5    6     1  cType  B
            1    6     2     ci  I
    MethodParameters:
      Name  Flags
      c     

  private static boolean isValid(char, char, int[]);
    descriptor: (CC[I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // char c1
        start local 1 // char c2
        start local 2 // int[] validityArray
         0: .line 176
            aload 2 /* validityArray */
            iload 0 /* c1 */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            iaload
         1: .line 177
            iconst_1
            iload 1 /* c2 */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            ishl
         2: .line 176
            iand
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // int[] validityArray
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0             c1  C
            0    4     1             c2  C
            0    4     2  validityArray  [I
    MethodParameters:
               Name  Flags
      c1             
      c2             
      validityArray  

  public static boolean isInputValid(char, char);
    descriptor: (CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char c1
        start local 1 // char c2
         0: .line 278
            iload 0 /* c1 */
            iload 1 /* c2 */
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.INPUTVALIDITY:[I
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
            ireturn
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    c1  C
            0    1     1    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static boolean isComposable(char, char);
    descriptor: (CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char c1
        start local 1 // char c2
         0: .line 282
            iload 0 /* c1 */
            iload 1 /* c2 */
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.COMPOSABLE:[I
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
            ireturn
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    c1  C
            0    1     1    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static boolean isSwappable(char, char);
    descriptor: (CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char c1
        start local 1 // char c2
         0: .line 286
            iload 0 /* c1 */
            iload 1 /* c2 */
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.SWAPPABLE:[I
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
            ireturn
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    c1  C
            0    1     1    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static boolean isReplacable(char, char);
    descriptor: (CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char c1
        start local 1 // char c2
         0: .line 290
            iload 0 /* c1 */
            iload 1 /* c2 */
            getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.REPLACABLE:[I
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
            ireturn
        end local 1 // char c2
        end local 0 // char c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    c1  C
            0    1     1    c2  C
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static boolean isForward(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 294
            iload 0 /* c */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            bipush 6
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean isDead(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 298
            iload 0 /* c */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            iconst_5
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean isInputValid(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.inputmethods.internal.thaiim.ThaiRules this
        start local 1 // char current
         0: .line 302
            aload 0 /* this */
            getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
            invokeinterface java.awt.im.InputMethodRequests.getInsertPositionOffset:()I
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 303
            iload 2 /* offset */
            ifne 5
         2: .line 304
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            istore 3 /* charType */
        start local 3 // byte charType
         3: .line 305
            iload 3 /* charType */
            iconst_3
            if_icmplt 4
            iload 3 /* charType */
            iconst_5
            if_icmpeq 4
            iconst_0
            ireturn
      StackMap locals: int int
      StackMap stack:
         4: iconst_1
            ireturn
        end local 3 // byte charType
         5: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
            iload 2 /* offset */
            iconst_1
            isub
            iload 2 /* offset */
            aconst_null
            invokeinterface java.awt.im.InputMethodRequests.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 3 /* prev */
        start local 3 // char prev
         6: .line 310
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isForward:(C)Z
            ifeq 23
         7: .line 311
            iload 3 /* prev */
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
            ifeq 16
         8: .line 312
            iload 3 /* prev */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            bipush 10
            if_icmpne 15
         9: .line 313
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            iconst_3
            if_icmpne 15
        10: .line 314
            iload 2 /* offset */
            iconst_1
            if_icmpne 12
        11: .line 315
            iconst_1
            ireturn
        12: .line 318
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
            iload 2 /* offset */
            iconst_2
            isub
            iload 2 /* offset */
            iconst_1
            isub
            aconst_null
            invokeinterface java.awt.im.InputMethodRequests.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
        13: .line 317
            istore 4 /* pprev */
        start local 4 // char pprev
        14: .line 319
            iload 4 /* pprev */
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
            ireturn
        end local 4 // char pprev
        15: .line 322
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        16: .line 324
      StackMap locals:
      StackMap stack:
            iload 3 /* prev */
            sipush 3634
            if_icmpne 19
        17: .line 325
            iload 1 /* current */
            sipush 3632
            if_icmpne 19
        18: .line 326
            iconst_1
            ireturn
        19: .line 327
      StackMap locals:
      StackMap stack:
            iload 3 /* prev */
            sipush 3661
            if_icmpne 22
        20: .line 328
            iload 1 /* current */
            sipush 3634
            if_icmpne 22
        21: .line 330
            iconst_1
            ireturn
        22: .line 332
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        23: .line 335
      StackMap locals:
      StackMap stack:
            iload 3 /* prev */
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
            ifeq 29
        24: .line 336
            iload 3 /* prev */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            bipush 10
            if_icmpne 28
        25: .line 337
            iload 1 /* current */
            invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
            bipush 6
            if_icmpne 28
        26: .line 338
            iload 2 /* offset */
            iconst_1
            if_icmpeq 27
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        27: iconst_0
            ireturn
        28: .line 340
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        29: .line 343
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // char prev
        end local 2 // int offset
        end local 1 // char current
        end local 0 // com.sun.inputmethods.internal.thaiim.ThaiRules this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lcom/sun/inputmethods/internal/thaiim/ThaiRules;
            0   30     1   current  C
            1   30     2    offset  I
            3    5     3  charType  B
            6   30     3      prev  C
           14   15     4     pprev  C
    MethodParameters:
         Name  Flags
      current  
}
SourceFile: "ThaiRules.java"
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator