public class freemarker.template.utility.StringUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.utility.StringUtil
  super_class: java.lang.Object
{
  private static final char[] ESCAPES;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 45
            invokestatic freemarker.template.utility.StringUtil.createEscapes:()[C
            putstatic freemarker.template.utility.StringUtil.ESCAPES:[C
         1: .line 47
            iconst_4
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 108
            castore
            dup
            iconst_2
            bipush 116
            castore
            dup
            iconst_3
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.LT:[C
         2: .line 48
            iconst_4
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 103
            castore
            dup
            iconst_2
            bipush 116
            castore
            dup
            iconst_3
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.GT:[C
         3: .line 49
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 97
            castore
            dup
            iconst_2
            bipush 109
            castore
            dup
            iconst_3
            bipush 112
            castore
            dup
            iconst_4
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.AMP:[C
         4: .line 50
            bipush 6
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 113
            castore
            dup
            iconst_2
            bipush 117
            castore
            dup
            iconst_3
            bipush 111
            castore
            dup
            iconst_4
            bipush 116
            castore
            dup
            iconst_5
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.QUOT:[C
         5: .line 51
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 35
            castore
            dup
            iconst_2
            bipush 51
            castore
            dup
            iconst_3
            bipush 57
            castore
            dup
            iconst_4
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.HTML_APOS:[C
         6: .line 52
            bipush 6
            newarray 5
            dup
            iconst_0
            bipush 38
            castore
            dup
            iconst_1
            bipush 97
            castore
            dup
            iconst_2
            bipush 112
            castore
            dup
            iconst_3
            bipush 111
            castore
            dup
            iconst_4
            bipush 115
            castore
            dup
            iconst_5
            bipush 59
            castore
            putstatic freemarker.template.utility.StringUtil.XML_APOS:[C
         7: .line 1349
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.utility.StringUtil this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // freemarker.template.utility.StringUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/utility/StringUtil;

  public static java.lang.String HTMLEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 68
            aload 0 /* s */
            invokestatic freemarker.template.utility.StringUtil.XMLEncNA:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String XMLEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 76
            aload 0 /* s */
            iconst_1
            iconst_1
            getstatic freemarker.template.utility.StringUtil.XML_APOS:[C
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;ZZ[C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static void XMLEnc(java.lang.String, java.io.Writer);
    descriptor: (Ljava/lang/String;Ljava/io/Writer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.io.Writer out
         0: .line 85
            aload 0 /* s */
            getstatic freemarker.template.utility.StringUtil.XML_APOS:[C
            aload 1 /* out */
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;[CLjava/io/Writer;)V
         1: .line 86
            return
        end local 1 // java.io.Writer out
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
            0    2     1   out  Ljava/io/Writer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      out   

  public static java.lang.String XHTMLEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 96
            aload 0 /* s */
            iconst_1
            iconst_1
            getstatic freemarker.template.utility.StringUtil.HTML_APOS:[C
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;ZZ[C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static void XHTMLEnc(java.lang.String, java.io.Writer);
    descriptor: (Ljava/lang/String;Ljava/io/Writer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.io.Writer out
         0: .line 105
            aload 0 /* s */
            getstatic freemarker.template.utility.StringUtil.HTML_APOS:[C
            aload 1 /* out */
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;[CLjava/io/Writer;)V
         1: .line 106
            return
        end local 1 // java.io.Writer out
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
            0    2     1   out  Ljava/io/Writer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      out   

  private static java.lang.String XMLOrHTMLEnc(java.lang.String, boolean, boolean, char[]);
    descriptor: (Ljava/lang/String;ZZ[C)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // java.lang.String s
        start local 1 // boolean escGT
        start local 2 // boolean escQuot
        start local 3 // char[] apos
         0: .line 109
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* ln */
        start local 4 // int ln
         1: .line 112
            iconst_m1
            istore 5 /* firstEscIdx */
        start local 5 // int firstEscIdx
         2: .line 113
            iconst_0
            istore 6 /* lastEscIdx */
        start local 6 // int lastEscIdx
         3: .line 114
            iconst_0
            istore 7 /* plusOutLn */
        start local 7 // int plusOutLn
         4: .line 115
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 29
         6: .line 117
      StackMap locals: java.lang.String int int char[] int int int int int
      StackMap stack:
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* c */
        start local 9 // char c
         7: .line 118
            iload 9 /* c */
            lookupswitch { // 5
                   34: 16
                   38: 14
                   39: 20
                   60: 8
                   62: 10
              default: 24
          }
         8: .line 120
      StackMap locals: int
      StackMap stack:
            iload 7 /* plusOutLn */
            getstatic freemarker.template.utility.StringUtil.LT:[C
            arraylength
            iconst_1
            isub
            iadd
            istore 7 /* plusOutLn */
         9: .line 121
            goto 25
        10: .line 123
      StackMap locals:
      StackMap stack:
            iload 1 /* escGT */
            ifne 12
            aload 0 /* s */
            iload 8 /* i */
            invokestatic freemarker.template.utility.StringUtil.maybeCDataEndGT:(Ljava/lang/String;I)Z
            ifne 12
        11: .line 124
            goto 28
        12: .line 126
      StackMap locals:
      StackMap stack:
            iload 7 /* plusOutLn */
            getstatic freemarker.template.utility.StringUtil.GT:[C
            arraylength
            iconst_1
            isub
            iadd
            istore 7 /* plusOutLn */
        13: .line 127
            goto 25
        14: .line 129
      StackMap locals:
      StackMap stack:
            iload 7 /* plusOutLn */
            getstatic freemarker.template.utility.StringUtil.AMP:[C
            arraylength
            iconst_1
            isub
            iadd
            istore 7 /* plusOutLn */
        15: .line 130
            goto 25
        16: .line 132
      StackMap locals:
      StackMap stack:
            iload 2 /* escQuot */
            ifne 18
        17: .line 133
            goto 28
        18: .line 135
      StackMap locals:
      StackMap stack:
            iload 7 /* plusOutLn */
            getstatic freemarker.template.utility.StringUtil.QUOT:[C
            arraylength
            iconst_1
            isub
            iadd
            istore 7 /* plusOutLn */
        19: .line 136
            goto 25
        20: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* apos */
            ifnonnull 22
        21: .line 139
            goto 28
        22: .line 141
      StackMap locals:
      StackMap stack:
            iload 7 /* plusOutLn */
            aload 3 /* apos */
            arraylength
            iconst_1
            isub
            iadd
            istore 7 /* plusOutLn */
        23: .line 142
            goto 25
        24: .line 144
      StackMap locals:
      StackMap stack:
            goto 28
        25: .line 147
      StackMap locals:
      StackMap stack:
            iload 5 /* firstEscIdx */
            iconst_m1
            if_icmpne 27
        26: .line 148
            iload 8 /* i */
            istore 5 /* firstEscIdx */
        27: .line 150
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            istore 6 /* lastEscIdx */
        end local 9 // char c
        28: .line 115
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 8 /* i */
            iload 4 /* ln */
            if_icmplt 6
        end local 8 // int i
        30: .line 154
            iload 5 /* firstEscIdx */
            iconst_m1
            if_icmpne 32
        31: .line 155
            aload 0 /* s */
            areturn
        32: .line 157
      StackMap locals:
      StackMap stack:
            iload 4 /* ln */
            iload 7 /* plusOutLn */
            iadd
            newarray 5
            astore 8 /* esced */
        start local 8 // char[] esced
        33: .line 158
            iload 5 /* firstEscIdx */
            ifeq 35
        34: .line 159
            aload 0 /* s */
            iconst_0
            iload 5 /* firstEscIdx */
            aload 8 /* esced */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        35: .line 161
      StackMap locals: char[]
      StackMap stack:
            iload 5 /* firstEscIdx */
            istore 9 /* dst */
        start local 9 // int dst
        36: .line 162
            iload 5 /* firstEscIdx */
            istore 10 /* i */
        start local 10 // int i
        37: goto 58
        38: .line 163
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 10 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 11 /* c */
        start local 11 // char c
        39: .line 164
            iload 11 /* c */
            lookupswitch { // 5
                   34: 48
                   38: 46
                   39: 52
                   60: 40
                   62: 42
              default: 56
          }
        40: .line 166
      StackMap locals: int
      StackMap stack:
            getstatic freemarker.template.utility.StringUtil.LT:[C
            aload 8 /* esced */
            iload 9 /* dst */
            invokestatic freemarker.template.utility.StringUtil.shortArrayCopy:([C[CI)I
            istore 9 /* dst */
        41: .line 167
            goto 57
        42: .line 169
      StackMap locals:
      StackMap stack:
            iload 1 /* escGT */
            ifne 44
            aload 0 /* s */
            iload 10 /* i */
            invokestatic freemarker.template.utility.StringUtil.maybeCDataEndGT:(Ljava/lang/String;I)Z
            ifne 44
        43: .line 170
            goto 56
        44: .line 172
      StackMap locals:
      StackMap stack:
            getstatic freemarker.template.utility.StringUtil.GT:[C
            aload 8 /* esced */
            iload 9 /* dst */
            invokestatic freemarker.template.utility.StringUtil.shortArrayCopy:([C[CI)I
            istore 9 /* dst */
        45: .line 173
            goto 57
        46: .line 175
      StackMap locals:
      StackMap stack:
            getstatic freemarker.template.utility.StringUtil.AMP:[C
            aload 8 /* esced */
            iload 9 /* dst */
            invokestatic freemarker.template.utility.StringUtil.shortArrayCopy:([C[CI)I
            istore 9 /* dst */
        47: .line 176
            goto 57
        48: .line 178
      StackMap locals:
      StackMap stack:
            iload 2 /* escQuot */
            ifne 50
        49: .line 179
            goto 56
        50: .line 181
      StackMap locals:
      StackMap stack:
            getstatic freemarker.template.utility.StringUtil.QUOT:[C
            aload 8 /* esced */
            iload 9 /* dst */
            invokestatic freemarker.template.utility.StringUtil.shortArrayCopy:([C[CI)I
            istore 9 /* dst */
        51: .line 182
            goto 57
        52: .line 184
      StackMap locals:
      StackMap stack:
            aload 3 /* apos */
            ifnonnull 54
        53: .line 185
            goto 56
        54: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* apos */
            aload 8 /* esced */
            iload 9 /* dst */
            invokestatic freemarker.template.utility.StringUtil.shortArrayCopy:([C[CI)I
            istore 9 /* dst */
        55: .line 188
            goto 57
        56: .line 190
      StackMap locals:
      StackMap stack:
            aload 8 /* esced */
            iload 9 /* dst */
            iinc 9 /* dst */ 1
            iload 11 /* c */
            castore
        end local 11 // char c
        57: .line 162
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 10 /* i */
            iload 6 /* lastEscIdx */
            if_icmple 38
        end local 10 // int i
        59: .line 192
            iload 6 /* lastEscIdx */
            iload 4 /* ln */
            iconst_1
            isub
            if_icmpeq 61
        60: .line 193
            aload 0 /* s */
            iload 6 /* lastEscIdx */
            iconst_1
            iadd
            iload 4 /* ln */
            aload 8 /* esced */
            iload 9 /* dst */
            invokevirtual java.lang.String.getChars:(II[CI)V
        61: .line 196
      StackMap locals:
      StackMap stack:
            aload 8 /* esced */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            areturn
        end local 9 // int dst
        end local 8 // char[] esced
        end local 7 // int plusOutLn
        end local 6 // int lastEscIdx
        end local 5 // int firstEscIdx
        end local 4 // int ln
        end local 3 // char[] apos
        end local 2 // boolean escQuot
        end local 1 // boolean escGT
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   62     0            s  Ljava/lang/String;
            0   62     1        escGT  Z
            0   62     2      escQuot  Z
            0   62     3         apos  [C
            1   62     4           ln  I
            2   62     5  firstEscIdx  I
            3   62     6   lastEscIdx  I
            4   62     7    plusOutLn  I
            5   30     8            i  I
            7   28     9            c  C
           33   62     8        esced  [C
           36   62     9          dst  I
           37   59    10            i  I
           39   57    11            c  C
    MethodParameters:
         Name  Flags
      s        
      escGT    
      escQuot  
      apos     

  private static boolean maybeCDataEndGT(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int i
         0: .line 201
            iload 1 /* i */
            ifne 1
            iconst_1
            ireturn
         1: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 93
            if_icmpeq 2
            iconst_0
            ireturn
         2: .line 203
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            if_icmpeq 3
            aload 0 /* s */
            iload 1 /* i */
            iconst_2
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 93
            if_icmpne 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
         4: .line 204
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int i
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     s  Ljava/lang/String;
            0    5     1     i  I
    MethodParameters:
      Name  Flags
      s     
      i     

  private static void XMLOrHTMLEnc(java.lang.String, char[], java.io.Writer);
    descriptor: (Ljava/lang/String;[CLjava/io/Writer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String s
        start local 1 // char[] apos
        start local 2 // java.io.Writer out
         0: .line 208
            iconst_0
            istore 3 /* writtenEnd */
        start local 3 // int writtenEnd
         1: .line 209
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* ln */
        start local 4 // int ln
         2: .line 210
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 17
         4: .line 211
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         5: .line 212
            iload 6 /* c */
            bipush 60
            if_icmpeq 6
            iload 6 /* c */
            bipush 62
            if_icmpeq 6
            iload 6 /* c */
            bipush 38
            if_icmpeq 6
            iload 6 /* c */
            bipush 34
            if_icmpeq 6
            iload 6 /* c */
            bipush 39
            if_icmpne 16
         6: .line 213
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            iload 3 /* writtenEnd */
            isub
            istore 7 /* flushLn */
        start local 7 // int flushLn
         7: .line 214
            iload 7 /* flushLn */
            ifeq 9
         8: .line 215
            aload 2 /* out */
            aload 0 /* s */
            iload 3 /* writtenEnd */
            iload 7 /* flushLn */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;II)V
         9: .line 217
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iadd
            istore 3 /* writtenEnd */
        10: .line 219
            iload 6 /* c */
            lookupswitch { // 4
                   34: 14
                   38: 13
                   60: 11
                   62: 12
              default: 15
          }
        11: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic freemarker.template.utility.StringUtil.LT:[C
            invokevirtual java.io.Writer.write:([C)V
            goto 16
        12: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic freemarker.template.utility.StringUtil.GT:[C
            invokevirtual java.io.Writer.write:([C)V
            goto 16
        13: .line 222
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic freemarker.template.utility.StringUtil.AMP:[C
            invokevirtual java.io.Writer.write:([C)V
            goto 16
        14: .line 223
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic freemarker.template.utility.StringUtil.QUOT:[C
            invokevirtual java.io.Writer.write:([C)V
            goto 16
        15: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 1 /* apos */
            invokevirtual java.io.Writer.write:([C)V
        end local 7 // int flushLn
        end local 6 // char c
        16: .line 210
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 4 /* ln */
            if_icmplt 4
        end local 5 // int i
        18: .line 228
            iload 3 /* writtenEnd */
            iload 4 /* ln */
            if_icmpge 20
        19: .line 229
            aload 2 /* out */
            aload 0 /* s */
            iload 3 /* writtenEnd */
            iload 4 /* ln */
            iload 3 /* writtenEnd */
            isub
            invokevirtual java.io.Writer.write:(Ljava/lang/String;II)V
        20: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int ln
        end local 3 // int writtenEnd
        end local 2 // java.io.Writer out
        end local 1 // char[] apos
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0           s  Ljava/lang/String;
            0   21     1        apos  [C
            0   21     2         out  Ljava/io/Writer;
            1   21     3  writtenEnd  I
            2   21     4          ln  I
            3   18     5           i  I
            5   16     6           c  C
            7   16     7     flushLn  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      apos  
      out   

  private static int shortArrayCopy(char[], char[], int);
    descriptor: ([C[CI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // char[] src
        start local 1 // char[] dst
        start local 2 // int dstOffset
         0: .line 237
            aload 0 /* src */
            arraylength
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 238
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 239
      StackMap locals: int int
      StackMap stack:
            aload 1 /* dst */
            iload 2 /* dstOffset */
            iinc 2 /* dstOffset */ 1
            aload 0 /* src */
            iload 4 /* i */
            caload
            castore
         4: .line 238
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* ln */
            if_icmplt 3
        end local 4 // int i
         6: .line 241
            iload 2 /* dstOffset */
            ireturn
        end local 3 // int ln
        end local 2 // int dstOffset
        end local 1 // char[] dst
        end local 0 // char[] src
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0        src  [C
            0    7     1        dst  [C
            0    7     2  dstOffset  I
            1    7     3         ln  I
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      src        
      dst        
      dstOffset  

  public static java.lang.String XMLEncNA(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 249
            aload 0 /* s */
            iconst_1
            iconst_1
            aconst_null
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;ZZ[C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String XMLEncQAttr(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 258
            aload 0 /* s */
            iconst_0
            iconst_1
            aconst_null
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;ZZ[C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String XMLEncNQG(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 267
            aload 0 /* s */
            iconst_0
            iconst_0
            aconst_null
            invokestatic freemarker.template.utility.StringUtil.XMLOrHTMLEnc:(Ljava/lang/String;ZZ[C)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String RTFEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.lang.String s
         0: .line 275
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* ln */
        start local 1 // int ln
         1: .line 278
            iconst_m1
            istore 2 /* firstEscIdx */
        start local 2 // int firstEscIdx
         2: .line 279
            iconst_0
            istore 3 /* lastEscIdx */
        start local 3 // int lastEscIdx
         3: .line 280
            iconst_0
            istore 4 /* plusOutLn */
        start local 4 // int plusOutLn
         4: .line 281
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 13
         6: .line 282
      StackMap locals: java.lang.String int int int int int
      StackMap stack:
            aload 0 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         7: .line 283
            iload 6 /* c */
            bipush 123
            if_icmpeq 8
            iload 6 /* c */
            bipush 125
            if_icmpeq 8
            iload 6 /* c */
            bipush 92
            if_icmpne 12
         8: .line 284
      StackMap locals: int
      StackMap stack:
            iload 2 /* firstEscIdx */
            iconst_m1
            if_icmpne 10
         9: .line 285
            iload 5 /* i */
            istore 2 /* firstEscIdx */
        10: .line 287
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            istore 3 /* lastEscIdx */
        11: .line 288
            iinc 4 /* plusOutLn */ 1
        end local 6 // char c
        12: .line 281
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 1 /* ln */
            if_icmplt 6
        end local 5 // int i
        14: .line 292
            iload 2 /* firstEscIdx */
            iconst_m1
            if_icmpne 16
        15: .line 293
            aload 0 /* s */
            areturn
        16: .line 295
      StackMap locals:
      StackMap stack:
            iload 1 /* ln */
            iload 4 /* plusOutLn */
            iadd
            newarray 5
            astore 5 /* esced */
        start local 5 // char[] esced
        17: .line 296
            iload 2 /* firstEscIdx */
            ifeq 19
        18: .line 297
            aload 0 /* s */
            iconst_0
            iload 2 /* firstEscIdx */
            aload 5 /* esced */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        19: .line 299
      StackMap locals: char[]
      StackMap stack:
            iload 2 /* firstEscIdx */
            istore 6 /* dst */
        start local 6 // int dst
        20: .line 300
            iload 2 /* firstEscIdx */
            istore 7 /* i */
        start local 7 // int i
        21: goto 27
        22: .line 301
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
        23: .line 302
            iload 8 /* c */
            bipush 123
            if_icmpeq 24
            iload 8 /* c */
            bipush 125
            if_icmpeq 24
            iload 8 /* c */
            bipush 92
            if_icmpne 25
        24: .line 303
      StackMap locals: int
      StackMap stack:
            aload 5 /* esced */
            iload 6 /* dst */
            iinc 6 /* dst */ 1
            bipush 92
            castore
        25: .line 305
      StackMap locals:
      StackMap stack:
            aload 5 /* esced */
            iload 6 /* dst */
            iinc 6 /* dst */ 1
            iload 8 /* c */
            castore
        end local 8 // char c
        26: .line 300
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 7 /* i */
            iload 3 /* lastEscIdx */
            if_icmple 22
        end local 7 // int i
        28: .line 307
            iload 3 /* lastEscIdx */
            iload 1 /* ln */
            iconst_1
            isub
            if_icmpeq 30
        29: .line 308
            aload 0 /* s */
            iload 3 /* lastEscIdx */
            iconst_1
            iadd
            iload 1 /* ln */
            aload 5 /* esced */
            iload 6 /* dst */
            invokevirtual java.lang.String.getChars:(II[CI)V
        30: .line 311
      StackMap locals:
      StackMap stack:
            aload 5 /* esced */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            areturn
        end local 6 // int dst
        end local 5 // char[] esced
        end local 4 // int plusOutLn
        end local 3 // int lastEscIdx
        end local 2 // int firstEscIdx
        end local 1 // int ln
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0            s  Ljava/lang/String;
            1   31     1           ln  I
            2   31     2  firstEscIdx  I
            3   31     3   lastEscIdx  I
            4   31     4    plusOutLn  I
            5   14     5            i  I
            7   12     6            c  C
           17   31     5        esced  [C
           20   31     6          dst  I
           21   28     7            i  I
           23   26     8            c  C
    MethodParameters:
      Name  Flags
      s     

  public static void RTFEnc(java.lang.String, java.io.Writer);
    descriptor: (Ljava/lang/String;Ljava/io/Writer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.io.Writer out
         0: .line 321
            iconst_0
            istore 2 /* writtenEnd */
        start local 2 // int writtenEnd
         1: .line 322
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         2: .line 323
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 12
         4: .line 324
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 325
            iload 5 /* c */
            bipush 123
            if_icmpeq 6
            iload 5 /* c */
            bipush 125
            if_icmpeq 6
            iload 5 /* c */
            bipush 92
            if_icmpne 11
         6: .line 326
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            iload 2 /* writtenEnd */
            isub
            istore 6 /* flushLn */
        start local 6 // int flushLn
         7: .line 327
            iload 6 /* flushLn */
            ifeq 9
         8: .line 328
            aload 1 /* out */
            aload 0 /* s */
            iload 2 /* writtenEnd */
            iload 6 /* flushLn */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;II)V
         9: .line 330
      StackMap locals: int
      StackMap stack:
            aload 1 /* out */
            bipush 92
            invokevirtual java.io.Writer.write:(I)V
        10: .line 331
            iload 4 /* i */
            istore 2 /* writtenEnd */
        end local 6 // int flushLn
        end local 5 // char c
        11: .line 323
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* ln */
            if_icmplt 4
        end local 4 // int i
        13: .line 334
            iload 2 /* writtenEnd */
            iload 3 /* ln */
            if_icmpge 15
        14: .line 335
            aload 1 /* out */
            aload 0 /* s */
            iload 2 /* writtenEnd */
            iload 3 /* ln */
            iload 2 /* writtenEnd */
            isub
            invokevirtual java.io.Writer.write:(Ljava/lang/String;II)V
        15: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int ln
        end local 2 // int writtenEnd
        end local 1 // java.io.Writer out
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0           s  Ljava/lang/String;
            0   16     1         out  Ljava/io/Writer;
            1   16     2  writtenEnd  I
            2   16     3          ln  I
            3   13     4           i  I
            5   11     5           c  C
            7   11     6     flushLn  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      out   

  public static java.lang.String URLEnc(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String charset
         0: .line 345
            aload 0 /* s */
            aload 1 /* charset */
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.URLEnc:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String charset
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0        s  Ljava/lang/String;
            0    1     1  charset  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
         Name  Flags
      s        
      charset  

  public static java.lang.String URLPathEnc(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String charset
         0: .line 357
            aload 0 /* s */
            aload 1 /* charset */
            iconst_1
            invokestatic freemarker.template.utility.StringUtil.URLEnc:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String charset
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0        s  Ljava/lang/String;
            0    1     1  charset  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
         Name  Flags
      s        
      charset  

  private static java.lang.String URLEnc(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.lang.String s
        start local 1 // java.lang.String charset
        start local 2 // boolean keepSlash
         0: .line 362
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 364
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 365
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         4: .line 366
            iload 5 /* c */
            iload 2 /* keepSlash */
            invokestatic freemarker.template.utility.StringUtil.safeInURL:(CZ)Z
            ifne 6
         5: .line 367
            goto 8
        end local 5 // char c
         6: .line 364
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* ln */
            if_icmplt 3
         8: .line 370
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* ln */
            if_icmpne 10
         9: .line 372
            aload 0 /* s */
            areturn
        10: .line 375
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 3 /* ln */
            iload 3 /* ln */
            iconst_3
            idiv
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* b */
        start local 5 // java.lang.StringBuilder b
        11: .line 376
            aload 5 /* b */
            aload 0 /* s */
            iconst_0
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 378
            iload 4 /* i */
            istore 6 /* encStart */
        start local 6 // int encStart
        13: .line 379
            iinc 4 /* i */ 1
            goto 38
        14: .line 380
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
        15: .line 381
            iload 7 /* c */
            iload 2 /* keepSlash */
            invokestatic freemarker.template.utility.StringUtil.safeInURL:(CZ)Z
            ifeq 35
        16: .line 382
            iload 6 /* encStart */
            iconst_m1
            if_icmpeq 33
        17: .line 383
            aload 0 /* s */
            iload 6 /* encStart */
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 1 /* charset */
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 8 /* o */
        start local 8 // byte[] o
        18: .line 384
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        19: goto 31
        20: .line 385
      StackMap locals: int byte[] int
      StackMap stack:
            aload 5 /* b */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 386
            aload 8 /* o */
            iload 9 /* j */
            baload
            istore 10 /* bc */
        start local 10 // byte bc
        22: .line 387
            iload 10 /* bc */
            bipush 15
            iand
            istore 11 /* c1 */
        start local 11 // int c1
        23: .line 388
            iload 10 /* bc */
            iconst_4
            ishr
            bipush 15
            iand
            istore 12 /* c2 */
        start local 12 // int c2
        24: .line 389
            aload 5 /* b */
            iload 12 /* c2 */
            bipush 10
            if_icmpge 25
            iload 12 /* c2 */
            bipush 48
            iadd
            goto 26
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int int byte[] int int int int
      StackMap stack: java.lang.StringBuilder
        25: iload 12 /* c2 */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int int byte[] int int int int
      StackMap stack: java.lang.StringBuilder int
        26: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 390
            aload 5 /* b */
            iload 11 /* c1 */
            bipush 10
            if_icmpge 28
            iload 11 /* c1 */
            bipush 48
            iadd
            goto 29
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        28: iload 11 /* c1 */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int int byte[] int int int int
      StackMap stack: java.lang.StringBuilder int
        29: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 12 // int c2
        end local 11 // int c1
        end local 10 // byte bc
        30: .line 384
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        31: iload 9 /* j */
            aload 8 /* o */
            arraylength
            if_icmplt 20
        end local 9 // int j
        32: .line 392
            iconst_m1
            istore 6 /* encStart */
        end local 8 // byte[] o
        33: .line 394
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            iload 7 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        34: .line 395
            goto 37
        35: .line 396
      StackMap locals:
      StackMap stack:
            iload 6 /* encStart */
            iconst_m1
            if_icmpne 37
        36: .line 397
            iload 4 /* i */
            istore 6 /* encStart */
        end local 7 // char c
        37: .line 379
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 4 /* i */
            iload 3 /* ln */
            if_icmplt 14
        39: .line 401
            iload 6 /* encStart */
            iconst_m1
            if_icmpeq 55
        40: .line 402
            aload 0 /* s */
            iload 6 /* encStart */
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 1 /* charset */
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 7 /* o */
        start local 7 // byte[] o
        41: .line 403
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        42: goto 54
        43: .line 404
      StackMap locals: byte[] int
      StackMap stack:
            aload 5 /* b */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        44: .line 405
            aload 7 /* o */
            iload 8 /* j */
            baload
            istore 9 /* bc */
        start local 9 // byte bc
        45: .line 406
            iload 9 /* bc */
            bipush 15
            iand
            istore 10 /* c1 */
        start local 10 // int c1
        46: .line 407
            iload 9 /* bc */
            iconst_4
            ishr
            bipush 15
            iand
            istore 11 /* c2 */
        start local 11 // int c2
        47: .line 408
            aload 5 /* b */
            iload 11 /* c2 */
            bipush 10
            if_icmpge 48
            iload 11 /* c2 */
            bipush 48
            iadd
            goto 49
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int byte[] int int int int
      StackMap stack: java.lang.StringBuilder
        48: iload 11 /* c2 */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int byte[] int int int int
      StackMap stack: java.lang.StringBuilder int
        49: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        50: .line 409
            aload 5 /* b */
            iload 10 /* c1 */
            bipush 10
            if_icmpge 51
            iload 10 /* c1 */
            bipush 48
            iadd
            goto 52
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        51: iload 10 /* c1 */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String java.lang.String int int int java.lang.StringBuilder int byte[] int int int int
      StackMap stack: java.lang.StringBuilder int
        52: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 11 // int c2
        end local 10 // int c1
        end local 9 // byte bc
        53: .line 403
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        54: iload 8 /* j */
            aload 7 /* o */
            arraylength
            if_icmplt 43
        end local 8 // int j
        end local 7 // byte[] o
        55: .line 413
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int encStart
        end local 5 // java.lang.StringBuilder b
        end local 4 // int i
        end local 3 // int ln
        end local 2 // boolean keepSlash
        end local 1 // java.lang.String charset
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   56     0          s  Ljava/lang/String;
            0   56     1    charset  Ljava/lang/String;
            0   56     2  keepSlash  Z
            1   56     3         ln  I
            2   56     4          i  I
            4    6     5          c  C
           11   56     5          b  Ljava/lang/StringBuilder;
           13   56     6   encStart  I
           15   37     7          c  C
           18   33     8          o  [B
           19   32     9          j  I
           22   30    10         bc  B
           23   30    11         c1  I
           24   30    12         c2  I
           41   55     7          o  [B
           42   55     8          j  I
           45   53     9         bc  B
           46   53    10         c1  I
           47   53    11         c2  I
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
           Name  Flags
      s          
      charset    
      keepSlash  

  private static boolean safeInURL(char, boolean);
    descriptor: (CZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char c
        start local 1 // boolean keepSlash
         0: .line 417
            iload 0 /* c */
            bipush 97
            if_icmplt 1
            iload 0 /* c */
            bipush 122
            if_icmple 7
      StackMap locals:
      StackMap stack:
         1: iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 90
            if_icmple 7
         2: .line 418
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 48
            if_icmplt 3
            iload 0 /* c */
            bipush 57
            if_icmple 7
         3: .line 419
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 95
            if_icmpeq 7
            iload 0 /* c */
            bipush 45
            if_icmpeq 7
            iload 0 /* c */
            bipush 46
            if_icmpeq 7
            iload 0 /* c */
            bipush 33
            if_icmpeq 7
            iload 0 /* c */
            bipush 126
            if_icmpeq 7
         4: .line 420
            iload 0 /* c */
            bipush 39
            if_icmplt 5
            iload 0 /* c */
            bipush 42
            if_icmple 7
         5: .line 421
      StackMap locals:
      StackMap stack:
            iload 1 /* keepSlash */
            ifeq 6
            iload 0 /* c */
            bipush 47
            if_icmpeq 7
         6: .line 417
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 1 // boolean keepSlash
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0          c  C
            0    8     1  keepSlash  Z
    MethodParameters:
           Name  Flags
      c          
      keepSlash  

  private static char[] createEscapes();
    descriptor: ()[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 425
            bipush 93
            newarray 5
            astore 0 /* escapes */
        start local 0 // char[] escapes
         1: .line 426
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 427
      StackMap locals: char[] int
      StackMap stack:
            aload 0 /* escapes */
            iload 1 /* i */
            iconst_1
            castore
         4: .line 426
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            bipush 32
            if_icmplt 3
        end local 1 // int i
         6: .line 429
            aload 0 /* escapes */
            bipush 92
            bipush 92
            castore
         7: .line 430
            aload 0 /* escapes */
            bipush 39
            bipush 39
            castore
         8: .line 431
            aload 0 /* escapes */
            bipush 34
            bipush 34
            castore
         9: .line 432
            aload 0 /* escapes */
            bipush 60
            bipush 108
            castore
        10: .line 434
            aload 0 /* escapes */
            bipush 62
            bipush 103
            castore
        11: .line 435
            aload 0 /* escapes */
            bipush 38
            bipush 97
            castore
        12: .line 436
            aload 0 /* escapes */
            bipush 8
            bipush 98
            castore
        13: .line 437
            aload 0 /* escapes */
            bipush 9
            bipush 116
            castore
        14: .line 438
            aload 0 /* escapes */
            bipush 10
            bipush 110
            castore
        15: .line 439
            aload 0 /* escapes */
            bipush 12
            bipush 102
            castore
        16: .line 440
            aload 0 /* escapes */
            bipush 13
            bipush 114
            castore
        17: .line 441
            aload 0 /* escapes */
            areturn
        end local 0 // char[] escapes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1   18     0  escapes  [C
            2    6     1        i  I

  public static java.lang.String FTLStringLiteralEnc(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // char quotation
         0: .line 456
            aload 0 /* s */
            iload 1 /* quotation */
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.FTLStringLiteralEnc:(Ljava/lang/String;CZ)Ljava/lang/String;
            areturn
        end local 1 // char quotation
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          s  Ljava/lang/String;
            0    1     1  quotation  C
    MethodParameters:
           Name  Flags
      s          
      quotation  

  public static java.lang.String FTLStringLiteralEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 467
            aload 0 /* s */
            iconst_0
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.FTLStringLiteralEnc:(Ljava/lang/String;CZ)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String FTLStringLiteralEnc(java.lang.String, char, boolean);
    descriptor: (Ljava/lang/String;CZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.lang.String s
        start local 1 // char quotation
        start local 2 // boolean addQuotation
         0: .line 471
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 474
            iload 1 /* quotation */
            ifne 4
         2: .line 475
            iconst_0
            istore 4 /* otherQuotation */
        start local 4 // char otherQuotation
         3: .line 476
            goto 11
        end local 4 // char otherQuotation
      StackMap locals: int
      StackMap stack:
         4: iload 1 /* quotation */
            bipush 34
            if_icmpne 7
         5: .line 477
            bipush 39
            istore 4 /* otherQuotation */
        start local 4 // char otherQuotation
         6: .line 478
            goto 11
        end local 4 // char otherQuotation
      StackMap locals:
      StackMap stack:
         7: iload 1 /* quotation */
            bipush 39
            if_icmpne 10
         8: .line 479
            bipush 34
            istore 4 /* otherQuotation */
        start local 4 // char otherQuotation
         9: .line 480
            goto 11
        end local 4 // char otherQuotation
        10: .line 481
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported quotation character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* quotation */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // char otherQuotation
        11: .line 484
      StackMap locals: int
      StackMap stack:
            getstatic freemarker.template.utility.StringUtil.ESCAPES:[C
            arraylength
            istore 5 /* escLn */
        start local 5 // int escLn
        12: .line 485
            aconst_null
            astore 6 /* buf */
        start local 6 // java.lang.StringBuilder buf
        13: .line 486
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: goto 53
        15: .line 487
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
        16: .line 489
            iload 8 /* c */
            bipush 61
            if_icmpne 21
        17: .line 490
            iload 7 /* i */
            ifle 18
            aload 0 /* s */
            iload 7 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 18
            bipush 61
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 9 /* escape */
        start local 9 // char escape
        20: .line 491
            goto 28
        end local 9 // char escape
      StackMap locals:
      StackMap stack:
        21: iload 8 /* c */
            iload 5 /* escLn */
            if_icmpge 24
        22: .line 492
            getstatic freemarker.template.utility.StringUtil.ESCAPES:[C
            iload 8 /* c */
            caload
            istore 9 /* escape */
        start local 9 // char escape
        23: .line 493
            goto 28
        end local 9 // char escape
      StackMap locals:
      StackMap stack:
        24: iload 8 /* c */
            bipush 123
            if_icmpne 27
            iload 7 /* i */
            ifle 27
            aload 0 /* s */
            iload 7 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic freemarker.template.utility.StringUtil.isInterpolationStart:(C)Z
            ifeq 27
        25: .line 494
            bipush 123
            istore 9 /* escape */
        start local 9 // char escape
        26: .line 495
            goto 28
        end local 9 // char escape
        27: .line 496
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* escape */
        start local 9 // char escape
        28: .line 498
      StackMap locals: int
      StackMap stack:
            iload 9 /* escape */
            ifeq 29
            iload 9 /* escape */
            iload 4 /* otherQuotation */
            if_icmpne 32
        29: .line 499
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            ifnull 52
        30: .line 500
            aload 6 /* buf */
            iload 8 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 502
            goto 52
        32: .line 503
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            ifnonnull 39
        33: .line 504
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_4
            iadd
            iload 2 /* addQuotation */
            ifeq 34
            iconst_2
            goto 35
      StackMap locals: java.lang.String int int int int int java.lang.StringBuilder int int int
      StackMap stack: new 33 new 33 int
        34: iconst_0
      StackMap locals: java.lang.String int int int int int java.lang.StringBuilder int int int
      StackMap stack: new 33 new 33 int int
        35: iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 6 /* buf */
        36: .line 505
            iload 2 /* addQuotation */
            ifeq 38
        37: .line 506
            aload 6 /* buf */
            iload 1 /* quotation */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        38: .line 508
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            aload 0 /* s */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 510
      StackMap locals:
      StackMap stack:
            iload 9 /* escape */
            iconst_1
            if_icmpne 50
        40: .line 513
            aload 6 /* buf */
            ldc "\\x00"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 514
            iload 8 /* c */
            iconst_4
            ishr
            bipush 15
            iand
            istore 10 /* c2 */
        start local 10 // int c2
        42: .line 515
            iload 8 /* c */
            bipush 15
            iand
            i2c
            istore 8 /* c */
        43: .line 516
            aload 6 /* buf */
            iload 10 /* c2 */
            bipush 10
            if_icmpge 44
            iload 10 /* c2 */
            bipush 48
            iadd
            goto 45
      StackMap locals: java.lang.String int int int int int java.lang.StringBuilder int int int int
      StackMap stack: java.lang.StringBuilder
        44: iload 10 /* c2 */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String int int int int int java.lang.StringBuilder int int int int
      StackMap stack: java.lang.StringBuilder int
        45: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        46: .line 517
            aload 6 /* buf */
            iload 8 /* c */
            bipush 10
            if_icmpge 47
            iload 8 /* c */
            bipush 48
            iadd
            goto 48
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        47: iload 8 /* c */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals: java.lang.String int int int int int java.lang.StringBuilder int int int int
      StackMap stack: java.lang.StringBuilder int
        48: i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 10 // int c2
        49: .line 518
            goto 52
        50: .line 519
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        51: .line 520
            aload 6 /* buf */
            iload 9 /* escape */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 9 // char escape
        end local 8 // char c
        52: .line 486
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 7 /* i */
            iload 3 /* ln */
            if_icmplt 15
        end local 7 // int i
        54: .line 525
            aload 6 /* buf */
            ifnonnull 58
        55: .line 526
            iload 2 /* addQuotation */
            ifeq 56
            new java.lang.StringBuilder
            dup
            iload 1 /* quotation */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* quotation */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 0 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
        57: areturn
        58: .line 528
      StackMap locals:
      StackMap stack:
            iload 2 /* addQuotation */
            ifeq 60
        59: .line 529
            aload 6 /* buf */
            iload 1 /* quotation */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 531
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder buf
        end local 5 // int escLn
        end local 4 // char otherQuotation
        end local 3 // int ln
        end local 2 // boolean addQuotation
        end local 1 // char quotation
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   61     0               s  Ljava/lang/String;
            0   61     1       quotation  C
            0   61     2    addQuotation  Z
            1   61     3              ln  I
            3    4     4  otherQuotation  C
            6    7     4  otherQuotation  C
            9   10     4  otherQuotation  C
           11   61     4  otherQuotation  C
           12   61     5           escLn  I
           13   61     6             buf  Ljava/lang/StringBuilder;
           14   54     7               i  I
           16   52     8               c  C
           20   21     9          escape  C
           23   24     9          escape  C
           26   27     9          escape  C
           28   52     9          escape  C
           42   49    10              c2  I
    MethodParameters:
              Name  Flags
      s             
      quotation     
      addQuotation  

  private static boolean isInterpolationStart(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 536
            iload 0 /* c */
            bipush 36
            if_icmpeq 1
            iload 0 /* c */
            bipush 35
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static java.lang.String FTLStringLiteralDec(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.lang.String s
         0: .line 559
            aload 0 /* s */
            bipush 92
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 560
            iload 1 /* idx */
            iconst_m1
            if_icmpne 3
         2: .line 561
            aload 0 /* s */
            areturn
         3: .line 564
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* lidx */
        start local 2 // int lidx
         4: .line 565
            iconst_0
            istore 3 /* bidx */
        start local 3 // int bidx
         5: .line 566
            new java.lang.StringBuilder
            dup
            iload 2 /* lidx */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         6: .line 568
      StackMap locals: int int java.lang.StringBuilder
      StackMap stack:
            aload 4 /* buf */
            aload 0 /* s */
            iload 3 /* bidx */
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 569
            iload 1 /* idx */
            iload 2 /* lidx */
            if_icmplt 9
         8: .line 570
            new freemarker.core.ParseException
            dup
            ldc "The last character of string literal is backslash"
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
         9: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 1 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        10: .line 573
            iload 5 /* c */
            lookupswitch { // 14
                   34: 11
                   39: 14
                   61: 44
                   92: 17
                   97: 41
                   98: 32
                  102: 29
                  103: 35
                  108: 38
                  110: 20
                  114: 23
                  116: 26
                  120: 47
                  123: 44
              default: 74
          }
        11: .line 575
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 576
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        13: .line 577
            goto 75
        14: .line 579
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 580
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        16: .line 581
            goto 75
        17: .line 583
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 584
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        19: .line 585
            goto 75
        20: .line 587
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 588
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        22: .line 589
            goto 75
        23: .line 591
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 13
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 592
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        25: .line 593
            goto 75
        26: .line 595
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 596
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        28: .line 597
            goto 75
        29: .line 599
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 12
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 600
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        31: .line 601
            goto 75
        32: .line 603
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 8
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 604
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        34: .line 605
            goto 75
        35: .line 607
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        36: .line 608
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        37: .line 609
            goto 75
        38: .line 611
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        39: .line 612
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        40: .line 613
            goto 75
        41: .line 615
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 616
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        43: .line 617
            goto 75
        44: .line 620
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 621
            iload 1 /* idx */
            iconst_2
            iadd
            istore 3 /* bidx */
        46: .line 622
            goto 75
        47: .line 624
      StackMap locals:
      StackMap stack:
            iinc 1 /* idx */ 2
        48: .line 625
            iload 1 /* idx */
            istore 6 /* x */
        start local 6 // int x
        49: .line 626
            iconst_0
            istore 7 /* y */
        start local 7 // int y
        50: .line 627
            iload 2 /* lidx */
            iload 1 /* idx */
            iconst_3
            iadd
            if_icmple 51
            iload 1 /* idx */
            iconst_3
            iadd
            goto 52
      StackMap locals: int int
      StackMap stack:
        51: iload 2 /* lidx */
      StackMap locals:
      StackMap stack: int
        52: istore 8 /* z */
        start local 8 // int z
        53: .line 628
            goto 67
        54: .line 629
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* b */
        start local 9 // char b
        55: .line 630
            iload 9 /* b */
            bipush 48
            if_icmplt 59
            iload 9 /* b */
            bipush 57
            if_icmpgt 59
        56: .line 631
            iload 7 /* y */
            iconst_4
            ishl
            istore 7 /* y */
        57: .line 632
            iload 7 /* y */
            iload 9 /* b */
            bipush 48
            isub
            iadd
            istore 7 /* y */
        58: .line 633
            goto 66
      StackMap locals: int
      StackMap stack:
        59: iload 9 /* b */
            bipush 97
            if_icmplt 63
            iload 9 /* b */
            bipush 102
            if_icmpgt 63
        60: .line 634
            iload 7 /* y */
            iconst_4
            ishl
            istore 7 /* y */
        61: .line 635
            iload 7 /* y */
            iload 9 /* b */
            bipush 97
            isub
            bipush 10
            iadd
            iadd
            istore 7 /* y */
        62: .line 636
            goto 66
      StackMap locals:
      StackMap stack:
        63: iload 9 /* b */
            bipush 65
            if_icmplt 68
            iload 9 /* b */
            bipush 70
            if_icmpgt 68
        64: .line 637
            iload 7 /* y */
            iconst_4
            ishl
            istore 7 /* y */
        65: .line 638
            iload 7 /* y */
            iload 9 /* b */
            bipush 65
            isub
            bipush 10
            iadd
            iadd
            istore 7 /* y */
        66: .line 642
      StackMap locals:
      StackMap stack:
            iinc 1 /* idx */ 1
        end local 9 // char b
        67: .line 628
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 8 /* z */
            if_icmple 54
        68: .line 644
      StackMap locals:
      StackMap stack:
            iload 6 /* x */
            iload 1 /* idx */
            if_icmpge 71
        69: .line 645
            aload 4 /* buf */
            iload 7 /* y */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        70: .line 646
            goto 72
        71: .line 647
      StackMap locals:
      StackMap stack:
            new freemarker.core.ParseException
            dup
            ldc "Invalid \\x escape in a string literal"
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        72: .line 649
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            istore 3 /* bidx */
        73: .line 650
            goto 75
        end local 8 // int z
        end local 7 // int y
        end local 6 // int x
        74: .line 653
      StackMap locals:
      StackMap stack:
            new freemarker.core.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid escape sequence (\\"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ") in a string literal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        75: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            bipush 92
            iload 3 /* bidx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 1 /* idx */
        end local 5 // char c
        76: .line 656
            iload 1 /* idx */
            iconst_m1
            if_icmpne 6
        77: .line 657
            aload 4 /* buf */
            aload 0 /* s */
            iload 3 /* bidx */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        78: .line 659
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // int bidx
        end local 2 // int lidx
        end local 1 // int idx
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   79     0     s  Ljava/lang/String;
            1   79     1   idx  I
            4   79     2  lidx  I
            5   79     3  bidx  I
            6   79     4   buf  Ljava/lang/StringBuilder;
           10   76     5     c  C
           49   74     6     x  I
           50   74     7     y  I
           53   74     8     z  I
           55   67     9     b  C
    Exceptions:
      throws freemarker.core.ParseException
    MethodParameters:
      Name  Flags
      s     

  public static java.util.Locale deduceLocale(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String input
         0: .line 663
            aload 0 /* input */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 664
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 1 /* locale */
        start local 1 // java.util.Locale locale
         2: .line 665
            aload 0 /* input */
            invokevirtual java.lang.String.length:()I
            ifle 3
            aload 0 /* input */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 3
            aload 0 /* input */
            iconst_1
            aload 0 /* input */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* input */
         3: .line 666
      StackMap locals: java.util.Locale
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* input */
            ldc ",_ "
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         4: .line 667
            ldc ""
            astore 3 /* lang */
        start local 3 // java.lang.String lang
         5: ldc ""
            astore 4 /* country */
        start local 4 // java.lang.String country
         6: .line 668
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifeq 8
         7: .line 669
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* lang */
         8: .line 671
      StackMap locals: java.util.StringTokenizer java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifeq 10
         9: .line 672
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* country */
        10: .line 674
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 13
        11: .line 675
            new java.util.Locale
            dup
            aload 3 /* lang */
            aload 4 /* country */
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* locale */
        12: .line 676
            goto 14
        13: .line 677
      StackMap locals:
      StackMap stack:
            new java.util.Locale
            dup
            aload 3 /* lang */
            aload 4 /* country */
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* locale */
        14: .line 679
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            areturn
        end local 4 // java.lang.String country
        end local 3 // java.lang.String lang
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0    input  Ljava/lang/String;
            2   15     1   locale  Ljava/util/Locale;
            4   15     2       st  Ljava/util/StringTokenizer;
            5   15     3     lang  Ljava/lang/String;
            6   15     4  country  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      input  

  public static java.lang.String capitalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 683
            new java.util.StringTokenizer
            dup
            aload 0 /* s */
            ldc " \t\r\n"
            iconst_1
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 1 /* st */
        start local 1 // java.util.StringTokenizer st
         1: .line 684
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         2: .line 685
            goto 6
         3: .line 686
      StackMap locals: java.util.StringTokenizer java.lang.StringBuilder
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* tok */
        start local 3 // java.lang.String tok
         4: .line 687
            aload 2 /* buf */
            aload 3 /* tok */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 688
            aload 2 /* buf */
            aload 3 /* tok */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String tok
         6: .line 685
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         7: .line 690
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // java.util.StringTokenizer st
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/lang/String;
            1    8     1    st  Ljava/util/StringTokenizer;
            2    8     2   buf  Ljava/lang/StringBuilder;
            4    6     3   tok  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static boolean getYesNo(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 694
            aload 0 /* s */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 695
            aload 0 /* s */
            iconst_1
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* s */
         2: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ldc "n"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 699
            aload 0 /* s */
            ldc "no"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         4: .line 700
            aload 0 /* s */
            ldc "f"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         5: .line 701
            aload 0 /* s */
            ldc "false"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 702
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ldc "y"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 11
         8: .line 704
            aload 0 /* s */
            ldc "yes"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 11
         9: .line 705
            aload 0 /* s */
            ldc "t"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 11
        10: .line 706
            aload 0 /* s */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 707
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        12: .line 709
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal boolean value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String[] split(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.String s
        start local 1 // char c
         0: .line 719
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 7 /* ln */
        start local 7 // int ln
         1: .line 721
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: .line 722
            iconst_1
            istore 5 /* cnt */
        start local 5 // int cnt
         3: .line 723
            goto 6
         4: .line 724
      StackMap locals: java.lang.String int int top top int top int
      StackMap stack:
            iinc 5 /* cnt */ 1
         5: .line 725
            iinc 2 /* i */ 1
         6: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 1 /* c */
            iload 2 /* i */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 2 /* i */
            iconst_m1
            if_icmpne 4
         7: .line 727
            iload 5 /* cnt */
            anewarray java.lang.String
            astore 6 /* res */
        start local 6 // java.lang.String[] res
         8: .line 729
            iconst_0
            istore 2 /* i */
         9: .line 730
            iconst_0
            istore 3 /* b */
        start local 3 // int b
        10: .line 731
            goto 15
        11: .line 732
      StackMap locals: java.lang.String int int int top int java.lang.String[] int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* c */
            iload 3 /* b */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* e */
        start local 4 // int e
        12: .line 733
            iload 4 /* e */
            iconst_m1
            if_icmpne 13
            iload 7 /* ln */
            istore 4 /* e */
        13: .line 734
      StackMap locals: java.lang.String int int int int int java.lang.String[] int
      StackMap stack:
            aload 6 /* res */
            iload 2 /* i */
            iinc 2 /* i */ 1
            aload 0 /* s */
            iload 3 /* b */
            iload 4 /* e */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        14: .line 735
            iload 4 /* e */
            iconst_1
            iadd
            istore 3 /* b */
        end local 4 // int e
        15: .line 731
      StackMap locals: java.lang.String int int int top int java.lang.String[] int
      StackMap stack:
            iload 3 /* b */
            iload 7 /* ln */
            if_icmple 11
        16: .line 737
            aload 6 /* res */
            areturn
        end local 7 // int ln
        end local 6 // java.lang.String[] res
        end local 5 // int cnt
        end local 3 // int b
        end local 2 // int i
        end local 1 // char c
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0     s  Ljava/lang/String;
            0   17     1     c  C
            2   17     2     i  I
           10   17     3     b  I
           12   15     4     e  I
            3   17     5   cnt  I
            8   17     6   res  [Ljava/lang/String;
            1   17     7    ln  I
    MethodParameters:
      Name  Flags
      s     
      c     

  public static java.lang.String[] split(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.lang.String s
        start local 1 // java.lang.String sep
        start local 2 // boolean caseInsensitive
         0: .line 748
            aload 1 /* sep */
            invokevirtual java.lang.String.length:()I
            istore 3 /* sepLn */
        start local 3 // int sepLn
         1: .line 750
            iload 2 /* caseInsensitive */
            ifeq 2
            aload 0 /* s */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 4 /* convertedS */
        start local 4 // java.lang.String convertedS
         4: .line 751
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 5 /* sLn */
        start local 5 // int sLn
         5: .line 753
            iload 3 /* sepLn */
            ifne 13
         6: .line 754
            iload 5 /* sLn */
            anewarray java.lang.String
            astore 6 /* res */
        start local 6 // java.lang.String[] res
         7: .line 755
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 11
         9: .line 756
      StackMap locals: java.lang.String java.lang.String int int java.lang.String int java.lang.String[] int
      StackMap stack:
            aload 6 /* res */
            iload 7 /* i */
            aload 0 /* s */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            aastore
        10: .line 755
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 5 /* sLn */
            if_icmplt 9
        end local 7 // int i
        12: .line 758
            aload 6 /* res */
            areturn
        end local 6 // java.lang.String[] res
        13: .line 761
      StackMap locals:
      StackMap stack:
            iload 2 /* caseInsensitive */
            ifeq 14
            aload 1 /* sep */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 1 /* sep */
      StackMap locals:
      StackMap stack: java.lang.String
        15: astore 6 /* splitString */
        start local 6 // java.lang.String splitString
        16: .line 765
            iconst_0
            istore 8 /* next */
        start local 8 // int next
        17: .line 766
            iconst_1
            istore 9 /* count */
        start local 9 // int count
        18: .line 767
            goto 21
        19: .line 768
      StackMap locals: java.lang.String java.lang.String int int java.lang.String int java.lang.String top int int
      StackMap stack:
            iinc 9 /* count */ 1
        20: .line 769
            iload 8 /* next */
            iload 3 /* sepLn */
            iadd
            istore 8 /* next */
        21: .line 767
      StackMap locals:
      StackMap stack:
            aload 4 /* convertedS */
            aload 6 /* splitString */
            iload 8 /* next */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 8 /* next */
            iconst_m1
            if_icmpne 19
        22: .line 771
            iload 9 /* count */
            anewarray java.lang.String
            astore 7 /* res */
        end local 9 // int count
        end local 8 // int next
        start local 7 // java.lang.String[] res
        23: .line 774
            iconst_0
            istore 8 /* dst */
        start local 8 // int dst
        24: .line 775
            iconst_0
            istore 9 /* next */
        start local 9 // int next
        25: .line 776
            goto 30
        26: .line 777
      StackMap locals: java.lang.String java.lang.String int int java.lang.String int java.lang.String java.lang.String[] int int
      StackMap stack:
            aload 4 /* convertedS */
            aload 6 /* splitString */
            iload 9 /* next */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 10 /* end */
        start local 10 // int end
        27: .line 778
            iload 10 /* end */
            iconst_m1
            if_icmpne 28
            iload 5 /* sLn */
            istore 10 /* end */
        28: .line 779
      StackMap locals: int
      StackMap stack:
            aload 7 /* res */
            iload 8 /* dst */
            iinc 8 /* dst */ 1
            aload 0 /* s */
            iload 9 /* next */
            iload 10 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        29: .line 780
            iload 10 /* end */
            iload 3 /* sepLn */
            iadd
            istore 9 /* next */
        end local 10 // int end
        30: .line 776
      StackMap locals:
      StackMap stack:
            iload 9 /* next */
            iload 5 /* sLn */
            if_icmple 26
        31: .line 782
            aload 7 /* res */
            areturn
        end local 9 // int next
        end local 8 // int dst
        end local 7 // java.lang.String[] res
        end local 6 // java.lang.String splitString
        end local 5 // int sLn
        end local 4 // java.lang.String convertedS
        end local 3 // int sepLn
        end local 2 // boolean caseInsensitive
        end local 1 // java.lang.String sep
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0                s  Ljava/lang/String;
            0   32     1              sep  Ljava/lang/String;
            0   32     2  caseInsensitive  Z
            1   32     3            sepLn  I
            4   32     4       convertedS  Ljava/lang/String;
            5   32     5              sLn  I
            7   13     6              res  [Ljava/lang/String;
            8   12     7                i  I
           16   32     6      splitString  Ljava/lang/String;
           23   32     7              res  [Ljava/lang/String;
           17   23     8             next  I
           18   23     9            count  I
           24   32     8              dst  I
           25   32     9             next  I
           27   30    10              end  I
    MethodParameters:
                 Name  Flags
      s                
      sep              
      caseInsensitive  

  public static java.lang.String replace(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String text
        start local 1 // java.lang.String oldSub
        start local 2 // java.lang.String newSub
         0: .line 790
            aload 0 /* text */
            aload 1 /* oldSub */
            aload 2 /* newSub */
            iconst_0
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String newSub
        end local 1 // java.lang.String oldSub
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    text  Ljava/lang/String;
            0    1     1  oldSub  Ljava/lang/String;
            0    1     2  newSub  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      text    
      oldSub  
      newSub  

  public static java.lang.String replace(java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // java.lang.String text
        start local 1 // java.lang.String oldsub
        start local 2 // java.lang.String newsub
        start local 3 // boolean caseInsensitive
        start local 4 // boolean firstOnly
         0: .line 806
            aload 1 /* oldsub */
            invokevirtual java.lang.String.length:()I
            istore 7 /* oln */
        start local 7 // int oln
         1: .line 808
            iload 7 /* oln */
            ifne 17
         2: .line 809
            aload 2 /* newsub */
            invokevirtual java.lang.String.length:()I
            istore 8 /* nln */
        start local 8 // int nln
         3: .line 810
            iload 8 /* nln */
            ifne 5
         4: .line 811
            aload 0 /* text */
            areturn
         5: .line 813
      StackMap locals: java.lang.String java.lang.String java.lang.String int int top top int int
      StackMap stack:
            iload 4 /* firstOnly */
            ifeq 7
         6: .line 814
            new java.lang.StringBuilder
            dup
            aload 2 /* newsub */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* text */
            invokevirtual java.lang.String.length:()I
            istore 6 /* tln */
        start local 6 // int tln
         8: .line 817
            new java.lang.StringBuilder
            dup
            iload 6 /* tln */
            iload 6 /* tln */
            iconst_1
            iadd
            iload 8 /* nln */
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* buf */
        start local 5 // java.lang.StringBuilder buf
         9: .line 818
            aload 5 /* buf */
            aload 2 /* newsub */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 819
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: goto 15
        12: .line 820
      StackMap locals: java.lang.String java.lang.String java.lang.String int int java.lang.StringBuilder int int int int
      StackMap stack:
            aload 5 /* buf */
            aload 0 /* text */
            iload 9 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 821
            aload 5 /* buf */
            aload 2 /* newsub */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 819
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 9 /* i */
            iload 6 /* tln */
            if_icmplt 12
        end local 9 // int i
        16: .line 823
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // int nln
        end local 6 // int tln
        end local 5 // java.lang.StringBuilder buf
        17: .line 827
      StackMap locals: java.lang.String java.lang.String java.lang.String int int top top int
      StackMap stack:
            iload 3 /* caseInsensitive */
            ifeq 18
            aload 1 /* oldsub */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 1 /* oldsub */
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 1 /* oldsub */
        20: .line 828
            iload 3 /* caseInsensitive */
            ifeq 21
            aload 0 /* text */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 0 /* text */
      StackMap locals:
      StackMap stack: java.lang.String
        22: astore 8 /* input */
        start local 8 // java.lang.String input
        23: .line 829
            aload 8 /* input */
            aload 1 /* oldsub */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 9 /* e */
        start local 9 // int e
        24: .line 830
            iload 9 /* e */
            iconst_m1
            if_icmpne 26
        25: .line 831
            aload 0 /* text */
            areturn
        26: .line 833
      StackMap locals: java.lang.String int
      StackMap stack:
            iconst_0
            istore 10 /* b */
        start local 10 // int b
        27: .line 834
            aload 0 /* text */
            invokevirtual java.lang.String.length:()I
            istore 6 /* tln */
        start local 6 // int tln
        28: .line 835
            new java.lang.StringBuilder
            dup
        29: .line 836
            iload 6 /* tln */
            aload 2 /* newsub */
            invokevirtual java.lang.String.length:()I
            iload 7 /* oln */
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            iconst_3
            imul
            iadd
        30: .line 835
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* buf */
        start local 5 // java.lang.StringBuilder buf
        31: .line 838
      StackMap locals: java.lang.String java.lang.String java.lang.String int int java.lang.StringBuilder int int java.lang.String int int
      StackMap stack:
            aload 5 /* buf */
            aload 0 /* text */
            iload 10 /* b */
            iload 9 /* e */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 839
            aload 5 /* buf */
            aload 2 /* newsub */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 840
            iload 9 /* e */
            iload 7 /* oln */
            iadd
            istore 10 /* b */
        34: .line 841
            aload 8 /* input */
            aload 1 /* oldsub */
            iload 10 /* b */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 9 /* e */
        35: .line 842
            iload 9 /* e */
            iconst_m1
            if_icmpeq 36
            iload 4 /* firstOnly */
            ifeq 31
        36: .line 843
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            aload 0 /* text */
            iload 10 /* b */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 844
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 10 // int b
        end local 9 // int e
        end local 8 // java.lang.String input
        end local 7 // int oln
        end local 6 // int tln
        end local 5 // java.lang.StringBuilder buf
        end local 4 // boolean firstOnly
        end local 3 // boolean caseInsensitive
        end local 2 // java.lang.String newsub
        end local 1 // java.lang.String oldsub
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   38     0             text  Ljava/lang/String;
            0   38     1           oldsub  Ljava/lang/String;
            0   38     2           newsub  Ljava/lang/String;
            0   38     3  caseInsensitive  Z
            0   38     4        firstOnly  Z
            9   17     5              buf  Ljava/lang/StringBuilder;
           31   38     5              buf  Ljava/lang/StringBuilder;
            8   17     6              tln  I
           28   38     6              tln  I
            1   38     7              oln  I
            3   17     8              nln  I
           11   16     9                i  I
           23   38     8            input  Ljava/lang/String;
           24   38     9                e  I
           27   38    10                b  I
    MethodParameters:
                 Name  Flags
      text             
      oldsub           
      newsub           
      caseInsensitive  
      firstOnly        

  public static java.lang.String chomp(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 852
            aload 0 /* s */
            ldc "\r\n"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         1: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ldc "\r"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 0 /* s */
            ldc "\n"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         3: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String emptyToNull(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 863
            aload 0 /* s */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String jQuote(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 872
            aload 0 /* obj */
            ifnull 1
            aload 0 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         2: invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.String jQuote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String s
         0: .line 881
            aload 0 /* s */
            ifnonnull 2
         1: .line 882
            ldc "null"
            areturn
         2: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* ln */
        start local 1 // int ln
         3: .line 885
            new java.lang.StringBuilder
            dup
            iload 1 /* ln */
            iconst_4
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         4: .line 886
            aload 2 /* b */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 887
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 38
         7: .line 888
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         8: .line 889
            iload 4 /* c */
            bipush 34
            if_icmpne 11
         9: .line 890
            aload 2 /* b */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 891
            goto 37
      StackMap locals: int
      StackMap stack:
        11: iload 4 /* c */
            bipush 92
            if_icmpne 14
        12: .line 892
            aload 2 /* b */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 893
            goto 37
      StackMap locals:
      StackMap stack:
        14: iload 4 /* c */
            bipush 32
            if_icmpge 36
        15: .line 894
            iload 4 /* c */
            bipush 10
            if_icmpne 18
        16: .line 895
            aload 2 /* b */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 896
            goto 37
      StackMap locals:
      StackMap stack:
        18: iload 4 /* c */
            bipush 13
            if_icmpne 21
        19: .line 897
            aload 2 /* b */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 898
            goto 37
      StackMap locals:
      StackMap stack:
        21: iload 4 /* c */
            bipush 12
            if_icmpne 24
        22: .line 899
            aload 2 /* b */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 900
            goto 37
      StackMap locals:
      StackMap stack:
        24: iload 4 /* c */
            bipush 8
            if_icmpne 27
        25: .line 901
            aload 2 /* b */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 902
            goto 37
      StackMap locals:
      StackMap stack:
        27: iload 4 /* c */
            bipush 9
            if_icmpne 30
        28: .line 903
            aload 2 /* b */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 904
            goto 37
        30: .line 905
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc "\\u00"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 906
            iload 4 /* c */
            bipush 16
            idiv
            istore 5 /* x */
        start local 5 // int x
        32: .line 907
            aload 2 /* b */
            iload 5 /* x */
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 908
            iload 4 /* c */
            bipush 15
            iand
            istore 5 /* x */
        34: .line 909
            aload 2 /* b */
            iload 5 /* x */
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int x
        35: .line 911
            goto 37
        36: .line 912
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        37: .line 887
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 3 /* i */
            iload 1 /* ln */
            if_icmplt 7
        end local 3 // int i
        39: .line 915
            aload 2 /* b */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 916
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder b
        end local 1 // int ln
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0     s  Ljava/lang/String;
            3   41     1    ln  I
            4   41     2     b  Ljava/lang/StringBuilder;
            6   39     3     i  I
            8   37     4     c  C
           32   35     5     x  I
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String jQuoteNoXSS(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 924
            aload 0 /* obj */
            ifnull 1
            aload 0 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         2: invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.String jQuoteNoXSS(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String s
         0: .line 933
            aload 0 /* s */
            ifnonnull 2
         1: .line 934
            ldc "null"
            areturn
         2: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* ln */
        start local 1 // int ln
         3: .line 937
            new java.lang.StringBuilder
            dup
            iload 1 /* ln */
            iconst_4
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         4: .line 938
            aload 2 /* b */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 939
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 41
         7: .line 940
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         8: .line 941
            iload 4 /* c */
            bipush 34
            if_icmpne 11
         9: .line 942
            aload 2 /* b */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 943
            goto 40
      StackMap locals: int
      StackMap stack:
        11: iload 4 /* c */
            bipush 92
            if_icmpne 14
        12: .line 944
            aload 2 /* b */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 945
            goto 40
      StackMap locals:
      StackMap stack:
        14: iload 4 /* c */
            bipush 60
            if_icmpne 17
        15: .line 946
            aload 2 /* b */
            ldc "\\u003C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 947
            goto 40
      StackMap locals:
      StackMap stack:
        17: iload 4 /* c */
            bipush 32
            if_icmpge 39
        18: .line 948
            iload 4 /* c */
            bipush 10
            if_icmpne 21
        19: .line 949
            aload 2 /* b */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 950
            goto 40
      StackMap locals:
      StackMap stack:
        21: iload 4 /* c */
            bipush 13
            if_icmpne 24
        22: .line 951
            aload 2 /* b */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 952
            goto 40
      StackMap locals:
      StackMap stack:
        24: iload 4 /* c */
            bipush 12
            if_icmpne 27
        25: .line 953
            aload 2 /* b */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 954
            goto 40
      StackMap locals:
      StackMap stack:
        27: iload 4 /* c */
            bipush 8
            if_icmpne 30
        28: .line 955
            aload 2 /* b */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 956
            goto 40
      StackMap locals:
      StackMap stack:
        30: iload 4 /* c */
            bipush 9
            if_icmpne 33
        31: .line 957
            aload 2 /* b */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 958
            goto 40
        33: .line 959
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc "\\u00"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 960
            iload 4 /* c */
            bipush 16
            idiv
            istore 5 /* x */
        start local 5 // int x
        35: .line 961
            aload 2 /* b */
            iload 5 /* x */
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        36: .line 962
            iload 4 /* c */
            bipush 15
            iand
            istore 5 /* x */
        37: .line 963
            aload 2 /* b */
            iload 5 /* x */
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int x
        38: .line 965
            goto 40
        39: .line 966
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        40: .line 939
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 3 /* i */
            iload 1 /* ln */
            if_icmplt 7
        end local 3 // int i
        42: .line 969
            aload 2 /* b */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        43: .line 970
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder b
        end local 1 // int ln
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   44     0     s  Ljava/lang/String;
            3   44     1    ln  I
            4   44     2     b  Ljava/lang/StringBuilder;
            6   42     3     i  I
            8   40     4     c  C
           35   38     5     x  I
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String ftlQuote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 986
            aload 0 /* s */
            bipush 34
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 3
            aload 0 /* s */
            bipush 39
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 3
         1: .line 987
            bipush 39
            istore 1 /* quotation */
        start local 1 // char quotation
         2: .line 988
            goto 4
        end local 1 // char quotation
         3: .line 989
      StackMap locals:
      StackMap stack:
            bipush 34
            istore 1 /* quotation */
        start local 1 // char quotation
         4: .line 991
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* quotation */
            iconst_1
            invokestatic freemarker.template.utility.StringUtil.FTLStringLiteralEnc:(Ljava/lang/String;CZ)Ljava/lang/String;
            areturn
        end local 1 // char quotation
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0          s  Ljava/lang/String;
            2    3     1  quotation  C
            4    5     1  quotation  C
    MethodParameters:
      Name  Flags
      s     

  public static boolean isFTLIdentifierStart(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 1001
            iload 0 /* c */
            sipush 170
            if_icmpge 6
         1: .line 1002
            iload 0 /* c */
            bipush 97
            if_icmplt 2
            iload 0 /* c */
            bipush 122
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iload 0 /* c */
            bipush 64
            if_icmplt 4
            iload 0 /* c */
            bipush 90
            if_icmpgt 4
         3: .line 1003
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 1005
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 36
            if_icmpeq 5
            iload 0 /* c */
            bipush 95
            if_icmpeq 5
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
         6: .line 1008
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43000
            if_icmpge 148
         7: .line 1009
            iload 0 /* c */
            sipush 11631
            if_icmpge 73
         8: .line 1010
            iload 0 /* c */
            sipush 8488
            if_icmpge 38
         9: .line 1011
            iload 0 /* c */
            sipush 8336
            if_icmpge 24
        10: .line 1012
            iload 0 /* c */
            sipush 216
            if_icmpge 17
        11: .line 1013
            iload 0 /* c */
            sipush 186
            if_icmpge 14
        12: .line 1014
            iload 0 /* c */
            sipush 170
            if_icmpeq 13
            iload 0 /* c */
            sipush 181
            if_icmpeq 13
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_1
            ireturn
        14: .line 1016
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 186
            if_icmpeq 16
            iload 0 /* c */
            sipush 192
            if_icmplt 15
            iload 0 /* c */
            sipush 214
            if_icmple 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_1
            ireturn
        17: .line 1019
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8305
            if_icmpge 22
        18: .line 1020
            iload 0 /* c */
            sipush 216
            if_icmplt 19
            iload 0 /* c */
            sipush 246
            if_icmple 21
      StackMap locals:
      StackMap stack:
        19: iload 0 /* c */
            sipush 248
            if_icmplt 20
            iload 0 /* c */
            sipush 8191
            if_icmple 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        21: iconst_1
            ireturn
        22: .line 1022
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8305
            if_icmpeq 23
            iload 0 /* c */
            sipush 8319
            if_icmpeq 23
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        23: iconst_1
            ireturn
        24: .line 1026
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8469
            if_icmpge 32
        25: .line 1027
            iload 0 /* c */
            sipush 8455
            if_icmpge 29
        26: .line 1028
            iload 0 /* c */
            sipush 8336
            if_icmplt 27
            iload 0 /* c */
            sipush 8348
            if_icmple 28
      StackMap locals:
      StackMap stack:
        27: iload 0 /* c */
            sipush 8450
            if_icmpeq 28
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        28: iconst_1
            ireturn
        29: .line 1030
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8455
            if_icmpeq 31
            iload 0 /* c */
            sipush 8458
            if_icmplt 30
            iload 0 /* c */
            sipush 8467
            if_icmple 31
      StackMap locals:
      StackMap stack:
        30: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        31: iconst_1
            ireturn
        32: .line 1033
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8484
            if_icmpge 36
        33: .line 1034
            iload 0 /* c */
            sipush 8469
            if_icmpeq 35
            iload 0 /* c */
            sipush 8473
            if_icmplt 34
            iload 0 /* c */
            sipush 8477
            if_icmple 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        35: iconst_1
            ireturn
        36: .line 1036
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8484
            if_icmpeq 37
            iload 0 /* c */
            sipush 8486
            if_icmpeq 37
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        37: iconst_1
            ireturn
        38: .line 1041
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11312
            if_icmpge 56
        39: .line 1042
            iload 0 /* c */
            sipush 8517
            if_icmpge 48
        40: .line 1043
            iload 0 /* c */
            sipush 8495
            if_icmpge 44
        41: .line 1044
            iload 0 /* c */
            sipush 8488
            if_icmpeq 43
            iload 0 /* c */
            sipush 8490
            if_icmplt 42
            iload 0 /* c */
            sipush 8493
            if_icmple 43
      StackMap locals:
      StackMap stack:
        42: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        43: iconst_1
            ireturn
        44: .line 1046
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8495
            if_icmplt 45
            iload 0 /* c */
            sipush 8505
            if_icmple 47
      StackMap locals:
      StackMap stack:
        45: iload 0 /* c */
            sipush 8508
            if_icmplt 46
            iload 0 /* c */
            sipush 8511
            if_icmple 47
      StackMap locals:
      StackMap stack:
        46: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        47: iconst_1
            ireturn
        48: .line 1049
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8579
            if_icmpge 52
        49: .line 1050
            iload 0 /* c */
            sipush 8517
            if_icmplt 50
            iload 0 /* c */
            sipush 8521
            if_icmple 51
      StackMap locals:
      StackMap stack:
        50: iload 0 /* c */
            sipush 8526
            if_icmpeq 51
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        51: iconst_1
            ireturn
        52: .line 1052
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 8579
            if_icmplt 53
            iload 0 /* c */
            sipush 8580
            if_icmple 55
      StackMap locals:
      StackMap stack:
        53: iload 0 /* c */
            sipush 11264
            if_icmplt 54
            iload 0 /* c */
            sipush 11310
            if_icmple 55
      StackMap locals:
      StackMap stack:
        54: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        55: iconst_1
            ireturn
        56: .line 1056
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11520
            if_icmpge 66
        57: .line 1057
            iload 0 /* c */
            sipush 11499
            if_icmpge 62
        58: .line 1058
            iload 0 /* c */
            sipush 11312
            if_icmplt 59
            iload 0 /* c */
            sipush 11358
            if_icmple 61
      StackMap locals:
      StackMap stack:
        59: iload 0 /* c */
            sipush 11360
            if_icmplt 60
            iload 0 /* c */
            sipush 11492
            if_icmple 61
      StackMap locals:
      StackMap stack:
        60: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        61: iconst_1
            ireturn
        62: .line 1060
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11499
            if_icmplt 63
            iload 0 /* c */
            sipush 11502
            if_icmple 65
      StackMap locals:
      StackMap stack:
        63: iload 0 /* c */
            sipush 11506
            if_icmplt 64
            iload 0 /* c */
            sipush 11507
            if_icmple 65
      StackMap locals:
      StackMap stack:
        64: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        65: iconst_1
            ireturn
        66: .line 1063
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11565
            if_icmpge 70
        67: .line 1064
            iload 0 /* c */
            sipush 11520
            if_icmplt 68
            iload 0 /* c */
            sipush 11557
            if_icmple 69
      StackMap locals:
      StackMap stack:
        68: iload 0 /* c */
            sipush 11559
            if_icmpeq 69
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        69: iconst_1
            ireturn
        70: .line 1066
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11565
            if_icmpeq 72
            iload 0 /* c */
            sipush 11568
            if_icmplt 71
            iload 0 /* c */
            sipush 11623
            if_icmple 72
      StackMap locals:
      StackMap stack:
        71: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        72: iconst_1
            ireturn
        73: .line 1072
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 12784
            if_icmpge 111
        74: .line 1073
            iload 0 /* c */
            sipush 11728
            if_icmpge 93
        75: .line 1074
            iload 0 /* c */
            sipush 11696
            if_icmpge 84
        76: .line 1075
            iload 0 /* c */
            sipush 11680
            if_icmpge 80
        77: .line 1076
            iload 0 /* c */
            sipush 11631
            if_icmpeq 79
            iload 0 /* c */
            sipush 11648
            if_icmplt 78
            iload 0 /* c */
            sipush 11670
            if_icmple 79
      StackMap locals:
      StackMap stack:
        78: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        79: iconst_1
            ireturn
        80: .line 1078
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11680
            if_icmplt 81
            iload 0 /* c */
            sipush 11686
            if_icmple 83
      StackMap locals:
      StackMap stack:
        81: iload 0 /* c */
            sipush 11688
            if_icmplt 82
            iload 0 /* c */
            sipush 11694
            if_icmple 83
      StackMap locals:
      StackMap stack:
        82: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        83: iconst_1
            ireturn
        84: .line 1081
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11712
            if_icmpge 89
        85: .line 1082
            iload 0 /* c */
            sipush 11696
            if_icmplt 86
            iload 0 /* c */
            sipush 11702
            if_icmple 88
      StackMap locals:
      StackMap stack:
        86: iload 0 /* c */
            sipush 11704
            if_icmplt 87
            iload 0 /* c */
            sipush 11710
            if_icmple 88
      StackMap locals:
      StackMap stack:
        87: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        88: iconst_1
            ireturn
        89: .line 1084
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11712
            if_icmplt 90
            iload 0 /* c */
            sipush 11718
            if_icmple 92
      StackMap locals:
      StackMap stack:
        90: iload 0 /* c */
            sipush 11720
            if_icmplt 91
            iload 0 /* c */
            sipush 11726
            if_icmple 92
      StackMap locals:
      StackMap stack:
        91: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        92: iconst_1
            ireturn
        93: .line 1088
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 12337
            if_icmpge 102
        94: .line 1089
            iload 0 /* c */
            sipush 11823
            if_icmpge 99
        95: .line 1090
            iload 0 /* c */
            sipush 11728
            if_icmplt 96
            iload 0 /* c */
            sipush 11734
            if_icmple 98
      StackMap locals:
      StackMap stack:
        96: iload 0 /* c */
            sipush 11736
            if_icmplt 97
            iload 0 /* c */
            sipush 11742
            if_icmple 98
      StackMap locals:
      StackMap stack:
        97: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        98: iconst_1
            ireturn
        99: .line 1092
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 11823
            if_icmpeq 101
            iload 0 /* c */
            sipush 12293
            if_icmplt 100
            iload 0 /* c */
            sipush 12294
            if_icmple 101
      StackMap locals:
      StackMap stack:
       100: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       101: iconst_1
            ireturn
       102: .line 1095
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 12352
            if_icmpge 107
       103: .line 1096
            iload 0 /* c */
            sipush 12337
            if_icmplt 104
            iload 0 /* c */
            sipush 12341
            if_icmple 106
      StackMap locals:
      StackMap stack:
       104: iload 0 /* c */
            sipush 12347
            if_icmplt 105
            iload 0 /* c */
            sipush 12348
            if_icmple 106
      StackMap locals:
      StackMap stack:
       105: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       106: iconst_1
            ireturn
       107: .line 1098
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 12352
            if_icmplt 108
            iload 0 /* c */
            sipush 12687
            if_icmple 110
      StackMap locals:
      StackMap stack:
       108: iload 0 /* c */
            sipush 12704
            if_icmplt 109
            iload 0 /* c */
            sipush 12730
            if_icmple 110
      StackMap locals:
      StackMap stack:
       109: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       110: iconst_1
            ireturn
       111: .line 1103
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42623
            if_icmpge 131
       112: .line 1104
            iload 0 /* c */
            ldc 42192
            if_icmpge 122
       113: .line 1105
            iload 0 /* c */
            sipush 13312
            if_icmpge 118
       114: .line 1106
            iload 0 /* c */
            sipush 12784
            if_icmplt 115
            iload 0 /* c */
            sipush 12799
            if_icmple 117
      StackMap locals:
      StackMap stack:
       115: iload 0 /* c */
            sipush 13056
            if_icmplt 116
            iload 0 /* c */
            sipush 13183
            if_icmple 117
      StackMap locals:
      StackMap stack:
       116: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       117: iconst_1
            ireturn
       118: .line 1108
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 13312
            if_icmplt 119
            iload 0 /* c */
            sipush 19893
            if_icmple 121
      StackMap locals:
      StackMap stack:
       119: iload 0 /* c */
            sipush 19968
            if_icmplt 120
            iload 0 /* c */
            ldc 42124
            if_icmple 121
      StackMap locals:
      StackMap stack:
       120: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       121: iconst_1
            ireturn
       122: .line 1111
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42512
            if_icmpge 127
       123: .line 1112
            iload 0 /* c */
            ldc 42192
            if_icmplt 124
            iload 0 /* c */
            ldc 42237
            if_icmple 126
      StackMap locals:
      StackMap stack:
       124: iload 0 /* c */
            ldc 42240
            if_icmplt 125
            iload 0 /* c */
            ldc 42508
            if_icmple 126
      StackMap locals:
      StackMap stack:
       125: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       126: iconst_1
            ireturn
       127: .line 1114
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42512
            if_icmplt 128
            iload 0 /* c */
            ldc 42539
            if_icmple 130
      StackMap locals:
      StackMap stack:
       128: iload 0 /* c */
            ldc 42560
            if_icmplt 129
            iload 0 /* c */
            ldc 42606
            if_icmple 130
      StackMap locals:
      StackMap stack:
       129: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       130: iconst_1
            ireturn
       131: .line 1118
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42891
            if_icmpge 141
       132: .line 1119
            iload 0 /* c */
            ldc 42775
            if_icmpge 137
       133: .line 1120
            iload 0 /* c */
            ldc 42623
            if_icmplt 134
            iload 0 /* c */
            ldc 42647
            if_icmple 136
      StackMap locals:
      StackMap stack:
       134: iload 0 /* c */
            ldc 42656
            if_icmplt 135
            iload 0 /* c */
            ldc 42725
            if_icmple 136
      StackMap locals:
      StackMap stack:
       135: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       136: iconst_1
            ireturn
       137: .line 1122
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42775
            if_icmplt 138
            iload 0 /* c */
            ldc 42783
            if_icmple 140
      StackMap locals:
      StackMap stack:
       138: iload 0 /* c */
            ldc 42786
            if_icmplt 139
            iload 0 /* c */
            ldc 42888
            if_icmple 140
      StackMap locals:
      StackMap stack:
       139: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       140: iconst_1
            ireturn
       141: .line 1125
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42912
            if_icmpge 146
       142: .line 1126
            iload 0 /* c */
            ldc 42891
            if_icmplt 143
            iload 0 /* c */
            ldc 42894
            if_icmple 145
      StackMap locals:
      StackMap stack:
       143: iload 0 /* c */
            ldc 42896
            if_icmplt 144
            iload 0 /* c */
            ldc 42899
            if_icmple 145
      StackMap locals:
      StackMap stack:
       144: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       145: iconst_1
            ireturn
       146: .line 1128
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 42912
            if_icmplt 147
            iload 0 /* c */
            ldc 42922
            if_icmpgt 147
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
       147: iconst_0
            ireturn
       148: .line 1135
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43808
            if_icmpge 223
       149: .line 1136
            iload 0 /* c */
            ldc 43588
            if_icmpge 188
       150: .line 1137
            iload 0 /* c */
            ldc 43259
            if_icmpge 170
       151: .line 1138
            iload 0 /* c */
            ldc 43072
            if_icmpge 161
       152: .line 1139
            iload 0 /* c */
            ldc 43015
            if_icmpge 157
       153: .line 1140
            iload 0 /* c */
            ldc 43000
            if_icmplt 154
            iload 0 /* c */
            ldc 43009
            if_icmple 156
      StackMap locals:
      StackMap stack:
       154: iload 0 /* c */
            ldc 43011
            if_icmplt 155
            iload 0 /* c */
            ldc 43013
            if_icmple 156
      StackMap locals:
      StackMap stack:
       155: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       156: iconst_1
            ireturn
       157: .line 1142
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43015
            if_icmplt 158
            iload 0 /* c */
            ldc 43018
            if_icmple 160
      StackMap locals:
      StackMap stack:
       158: iload 0 /* c */
            ldc 43020
            if_icmplt 159
            iload 0 /* c */
            ldc 43042
            if_icmple 160
      StackMap locals:
      StackMap stack:
       159: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       160: iconst_1
            ireturn
       161: .line 1145
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43216
            if_icmpge 166
       162: .line 1146
            iload 0 /* c */
            ldc 43072
            if_icmplt 163
            iload 0 /* c */
            ldc 43123
            if_icmple 165
      StackMap locals:
      StackMap stack:
       163: iload 0 /* c */
            ldc 43138
            if_icmplt 164
            iload 0 /* c */
            ldc 43187
            if_icmple 165
      StackMap locals:
      StackMap stack:
       164: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       165: iconst_1
            ireturn
       166: .line 1148
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43216
            if_icmplt 167
            iload 0 /* c */
            ldc 43225
            if_icmple 169
      StackMap locals:
      StackMap stack:
       167: iload 0 /* c */
            ldc 43250
            if_icmplt 168
            iload 0 /* c */
            ldc 43255
            if_icmple 169
      StackMap locals:
      StackMap stack:
       168: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       169: iconst_1
            ireturn
       170: .line 1152
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43396
            if_icmpge 179
       171: .line 1153
            iload 0 /* c */
            ldc 43312
            if_icmpge 175
       172: .line 1154
            iload 0 /* c */
            ldc 43259
            if_icmpeq 174
            iload 0 /* c */
            ldc 43264
            if_icmplt 173
            iload 0 /* c */
            ldc 43301
            if_icmple 174
      StackMap locals:
      StackMap stack:
       173: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       174: iconst_1
            ireturn
       175: .line 1156
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43312
            if_icmplt 176
            iload 0 /* c */
            ldc 43334
            if_icmple 178
      StackMap locals:
      StackMap stack:
       176: iload 0 /* c */
            ldc 43360
            if_icmplt 177
            iload 0 /* c */
            ldc 43388
            if_icmple 178
      StackMap locals:
      StackMap stack:
       177: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       178: iconst_1
            ireturn
       179: .line 1159
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43520
            if_icmpge 184
       180: .line 1160
            iload 0 /* c */
            ldc 43396
            if_icmplt 181
            iload 0 /* c */
            ldc 43442
            if_icmple 183
      StackMap locals:
      StackMap stack:
       181: iload 0 /* c */
            ldc 43471
            if_icmplt 182
            iload 0 /* c */
            ldc 43481
            if_icmple 183
      StackMap locals:
      StackMap stack:
       182: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       183: iconst_1
            ireturn
       184: .line 1162
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43520
            if_icmplt 185
            iload 0 /* c */
            ldc 43560
            if_icmple 187
      StackMap locals:
      StackMap stack:
       185: iload 0 /* c */
            ldc 43584
            if_icmplt 186
            iload 0 /* c */
            ldc 43586
            if_icmple 187
      StackMap locals:
      StackMap stack:
       186: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       187: iconst_1
            ireturn
       188: .line 1167
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43712
            if_icmpge 206
       189: .line 1168
            iload 0 /* c */
            ldc 43648
            if_icmpge 198
       190: .line 1169
            iload 0 /* c */
            ldc 43616
            if_icmpge 195
       191: .line 1170
            iload 0 /* c */
            ldc 43588
            if_icmplt 192
            iload 0 /* c */
            ldc 43595
            if_icmple 194
      StackMap locals:
      StackMap stack:
       192: iload 0 /* c */
            ldc 43600
            if_icmplt 193
            iload 0 /* c */
            ldc 43609
            if_icmple 194
      StackMap locals:
      StackMap stack:
       193: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       194: iconst_1
            ireturn
       195: .line 1172
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43616
            if_icmplt 196
            iload 0 /* c */
            ldc 43638
            if_icmple 197
      StackMap locals:
      StackMap stack:
       196: iload 0 /* c */
            ldc 43642
            if_icmpeq 197
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       197: iconst_1
            ireturn
       198: .line 1175
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43701
            if_icmpge 202
       199: .line 1176
            iload 0 /* c */
            ldc 43648
            if_icmplt 200
            iload 0 /* c */
            ldc 43695
            if_icmple 201
      StackMap locals:
      StackMap stack:
       200: iload 0 /* c */
            ldc 43697
            if_icmpeq 201
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       201: iconst_1
            ireturn
       202: .line 1178
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43701
            if_icmplt 203
            iload 0 /* c */
            ldc 43702
            if_icmple 205
      StackMap locals:
      StackMap stack:
       203: iload 0 /* c */
            ldc 43705
            if_icmplt 204
            iload 0 /* c */
            ldc 43709
            if_icmple 205
      StackMap locals:
      StackMap stack:
       204: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       205: iconst_1
            ireturn
       206: .line 1182
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43762
            if_icmpge 214
       207: .line 1183
            iload 0 /* c */
            ldc 43739
            if_icmpge 210
       208: .line 1184
            iload 0 /* c */
            ldc 43712
            if_icmpeq 209
            iload 0 /* c */
            ldc 43714
            if_icmpeq 209
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       209: iconst_1
            ireturn
       210: .line 1186
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43739
            if_icmplt 211
            iload 0 /* c */
            ldc 43741
            if_icmple 213
      StackMap locals:
      StackMap stack:
       211: iload 0 /* c */
            ldc 43744
            if_icmplt 212
            iload 0 /* c */
            ldc 43754
            if_icmple 213
      StackMap locals:
      StackMap stack:
       212: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       213: iconst_1
            ireturn
       214: .line 1189
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43785
            if_icmpge 219
       215: .line 1190
            iload 0 /* c */
            ldc 43762
            if_icmplt 216
            iload 0 /* c */
            ldc 43764
            if_icmple 218
      StackMap locals:
      StackMap stack:
       216: iload 0 /* c */
            ldc 43777
            if_icmplt 217
            iload 0 /* c */
            ldc 43782
            if_icmple 218
      StackMap locals:
      StackMap stack:
       217: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       218: iconst_1
            ireturn
       219: .line 1192
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43785
            if_icmplt 220
            iload 0 /* c */
            ldc 43790
            if_icmple 222
      StackMap locals:
      StackMap stack:
       220: iload 0 /* c */
            ldc 43793
            if_icmplt 221
            iload 0 /* c */
            ldc 43798
            if_icmple 222
      StackMap locals:
      StackMap stack:
       221: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       222: iconst_1
            ireturn
       223: .line 1198
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64326
            if_icmpge 261
       224: .line 1199
            iload 0 /* c */
            ldc 64275
            if_icmpge 244
       225: .line 1200
            iload 0 /* c */
            ldc 44032
            if_icmpge 235
       226: .line 1201
            iload 0 /* c */
            ldc 43968
            if_icmpge 231
       227: .line 1202
            iload 0 /* c */
            ldc 43808
            if_icmplt 228
            iload 0 /* c */
            ldc 43814
            if_icmple 230
      StackMap locals:
      StackMap stack:
       228: iload 0 /* c */
            ldc 43816
            if_icmplt 229
            iload 0 /* c */
            ldc 43822
            if_icmple 230
      StackMap locals:
      StackMap stack:
       229: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       230: iconst_1
            ireturn
       231: .line 1204
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 43968
            if_icmplt 232
            iload 0 /* c */
            ldc 44002
            if_icmple 234
      StackMap locals:
      StackMap stack:
       232: iload 0 /* c */
            ldc 44016
            if_icmplt 233
            iload 0 /* c */
            ldc 44025
            if_icmple 234
      StackMap locals:
      StackMap stack:
       233: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       234: iconst_1
            ireturn
       235: .line 1207
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 55243
            if_icmpge 240
       236: .line 1208
            iload 0 /* c */
            ldc 44032
            if_icmplt 237
            iload 0 /* c */
            ldc 55203
            if_icmple 239
      StackMap locals:
      StackMap stack:
       237: iload 0 /* c */
            ldc 55216
            if_icmplt 238
            iload 0 /* c */
            ldc 55238
            if_icmple 239
      StackMap locals:
      StackMap stack:
       238: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       239: iconst_1
            ireturn
       240: .line 1210
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 55243
            if_icmplt 241
            iload 0 /* c */
            ldc 55291
            if_icmple 243
      StackMap locals:
      StackMap stack:
       241: iload 0 /* c */
            ldc 63744
            if_icmplt 242
            iload 0 /* c */
            ldc 64262
            if_icmple 243
      StackMap locals:
      StackMap stack:
       242: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       243: iconst_1
            ireturn
       244: .line 1214
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64312
            if_icmpge 253
       245: .line 1215
            iload 0 /* c */
            ldc 64287
            if_icmpge 249
       246: .line 1216
            iload 0 /* c */
            ldc 64275
            if_icmplt 247
            iload 0 /* c */
            ldc 64279
            if_icmple 248
      StackMap locals:
      StackMap stack:
       247: iload 0 /* c */
            ldc 64285
            if_icmpeq 248
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       248: iconst_1
            ireturn
       249: .line 1218
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64287
            if_icmplt 250
            iload 0 /* c */
            ldc 64296
            if_icmple 252
      StackMap locals:
      StackMap stack:
       250: iload 0 /* c */
            ldc 64298
            if_icmplt 251
            iload 0 /* c */
            ldc 64310
            if_icmple 252
      StackMap locals:
      StackMap stack:
       251: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       252: iconst_1
            ireturn
       253: .line 1221
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64320
            if_icmpge 257
       254: .line 1222
            iload 0 /* c */
            ldc 64312
            if_icmplt 255
            iload 0 /* c */
            ldc 64316
            if_icmple 256
      StackMap locals:
      StackMap stack:
       255: iload 0 /* c */
            ldc 64318
            if_icmpeq 256
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       256: iconst_1
            ireturn
       257: .line 1224
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64320
            if_icmplt 258
            iload 0 /* c */
            ldc 64321
            if_icmple 260
      StackMap locals:
      StackMap stack:
       258: iload 0 /* c */
            ldc 64323
            if_icmplt 259
            iload 0 /* c */
            ldc 64324
            if_icmple 260
      StackMap locals:
      StackMap stack:
       259: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       260: iconst_1
            ireturn
       261: .line 1229
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65313
            if_icmpge 281
       262: .line 1230
            iload 0 /* c */
            ldc 65008
            if_icmpge 272
       263: .line 1231
            iload 0 /* c */
            ldc 64848
            if_icmpge 268
       264: .line 1232
            iload 0 /* c */
            ldc 64326
            if_icmplt 265
            iload 0 /* c */
            ldc 64433
            if_icmple 267
      StackMap locals:
      StackMap stack:
       265: iload 0 /* c */
            ldc 64467
            if_icmplt 266
            iload 0 /* c */
            ldc 64829
            if_icmple 267
      StackMap locals:
      StackMap stack:
       266: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       267: iconst_1
            ireturn
       268: .line 1234
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 64848
            if_icmplt 269
            iload 0 /* c */
            ldc 64911
            if_icmple 271
      StackMap locals:
      StackMap stack:
       269: iload 0 /* c */
            ldc 64914
            if_icmplt 270
            iload 0 /* c */
            ldc 64967
            if_icmple 271
      StackMap locals:
      StackMap stack:
       270: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       271: iconst_1
            ireturn
       272: .line 1237
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65142
            if_icmpge 277
       273: .line 1238
            iload 0 /* c */
            ldc 65008
            if_icmplt 274
            iload 0 /* c */
            ldc 65019
            if_icmple 276
      StackMap locals:
      StackMap stack:
       274: iload 0 /* c */
            ldc 65136
            if_icmplt 275
            iload 0 /* c */
            ldc 65140
            if_icmple 276
      StackMap locals:
      StackMap stack:
       275: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       276: iconst_1
            ireturn
       277: .line 1240
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65142
            if_icmplt 278
            iload 0 /* c */
            ldc 65276
            if_icmple 280
      StackMap locals:
      StackMap stack:
       278: iload 0 /* c */
            ldc 65296
            if_icmplt 279
            iload 0 /* c */
            ldc 65305
            if_icmple 280
      StackMap locals:
      StackMap stack:
       279: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       280: iconst_1
            ireturn
       281: .line 1244
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65482
            if_icmpge 291
       282: .line 1245
            iload 0 /* c */
            ldc 65382
            if_icmpge 287
       283: .line 1246
            iload 0 /* c */
            ldc 65313
            if_icmplt 284
            iload 0 /* c */
            ldc 65338
            if_icmple 286
      StackMap locals:
      StackMap stack:
       284: iload 0 /* c */
            ldc 65345
            if_icmplt 285
            iload 0 /* c */
            ldc 65370
            if_icmple 286
      StackMap locals:
      StackMap stack:
       285: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       286: iconst_1
            ireturn
       287: .line 1248
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65382
            if_icmplt 288
            iload 0 /* c */
            ldc 65470
            if_icmple 290
      StackMap locals:
      StackMap stack:
       288: iload 0 /* c */
            ldc 65474
            if_icmplt 289
            iload 0 /* c */
            ldc 65479
            if_icmple 290
      StackMap locals:
      StackMap stack:
       289: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       290: iconst_1
            ireturn
       291: .line 1251
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65498
            if_icmpge 296
       292: .line 1252
            iload 0 /* c */
            ldc 65482
            if_icmplt 293
            iload 0 /* c */
            ldc 65487
            if_icmple 295
      StackMap locals:
      StackMap stack:
       293: iload 0 /* c */
            ldc 65490
            if_icmplt 294
            iload 0 /* c */
            ldc 65495
            if_icmple 295
      StackMap locals:
      StackMap stack:
       294: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
       295: iconst_1
            ireturn
       296: .line 1254
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65498
            if_icmplt 297
            iload 0 /* c */
            ldc 65500
            if_icmpgt 297
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
       297: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0  298     0     c  C
    MethodParameters:
      Name  Flags
      c     final

  public static boolean isFTLIdentifierPart(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 1271
            iload 0 /* c */
            invokestatic freemarker.template.utility.StringUtil.isFTLIdentifierStart:(C)Z
            ifne 2
            iload 0 /* c */
            bipush 48
            if_icmplt 1
            iload 0 /* c */
            bipush 57
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     final

  public static java.lang.String javaStringEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String s
         0: .line 1286
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* ln */
        start local 1 // int ln
         1: .line 1287
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 50
         3: .line 1288
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 1289
            iload 3 /* c */
            bipush 34
            if_icmpeq 5
            iload 3 /* c */
            bipush 92
            if_icmpeq 5
            iload 3 /* c */
            bipush 32
            if_icmpge 49
         5: .line 1290
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* ln */
            iconst_4
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* b */
        start local 4 // java.lang.StringBuilder b
         6: .line 1291
            aload 4 /* b */
            aload 0 /* s */
            iconst_0
            iload 2 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1293
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 3 /* c */
            bipush 34
            if_icmpne 10
         8: .line 1294
            aload 4 /* b */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1295
            goto 44
      StackMap locals:
      StackMap stack:
        10: iload 3 /* c */
            bipush 92
            if_icmpne 13
        11: .line 1296
            aload 4 /* b */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1297
            goto 44
      StackMap locals:
      StackMap stack:
        13: iload 3 /* c */
            bipush 32
            if_icmpge 43
        14: .line 1298
            iload 3 /* c */
            bipush 10
            if_icmpne 17
        15: .line 1299
            aload 4 /* b */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1300
            goto 44
      StackMap locals:
      StackMap stack:
        17: iload 3 /* c */
            bipush 13
            if_icmpne 20
        18: .line 1301
            aload 4 /* b */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1302
            goto 44
      StackMap locals:
      StackMap stack:
        20: iload 3 /* c */
            bipush 12
            if_icmpne 23
        21: .line 1303
            aload 4 /* b */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 1304
            goto 44
      StackMap locals:
      StackMap stack:
        23: iload 3 /* c */
            bipush 8
            if_icmpne 26
        24: .line 1305
            aload 4 /* b */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1306
            goto 44
      StackMap locals:
      StackMap stack:
        26: iload 3 /* c */
            bipush 9
            if_icmpne 29
        27: .line 1307
            aload 4 /* b */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1308
            goto 44
        29: .line 1309
      StackMap locals:
      StackMap stack:
            aload 4 /* b */
            ldc "\\u00"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 1310
            iload 3 /* c */
            bipush 16
            idiv
            istore 5 /* x */
        start local 5 // int x
        31: .line 1311
            aload 4 /* b */
        32: .line 1312
            iload 5 /* x */
            bipush 10
            if_icmpge 33
            iload 5 /* x */
            bipush 48
            iadd
            goto 34
      StackMap locals: java.lang.String int int int java.lang.StringBuilder int
      StackMap stack: java.lang.StringBuilder
        33: iload 5 /* x */
            bipush 10
            isub
            bipush 97
            iadd
      StackMap locals: java.lang.String int int int java.lang.StringBuilder int
      StackMap stack: java.lang.StringBuilder int
        34: i2c
        35: .line 1311
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        36: .line 1313
            iload 3 /* c */
            bipush 15
            iand
            istore 5 /* x */
        37: .line 1314
            aload 4 /* b */
        38: .line 1315
            iload 5 /* x */
            bipush 10
            if_icmpge 39
            iload 5 /* x */
            bipush 48
            iadd
            goto 40
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        39: iload 5 /* x */
            bipush 10
            isub
            bipush 97
            iadd
      StackMap locals: java.lang.String int int int java.lang.StringBuilder int
      StackMap stack: java.lang.StringBuilder int
        40: i2c
        41: .line 1314
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int x
        42: .line 1317
            goto 44
        43: .line 1318
      StackMap locals:
      StackMap stack:
            aload 4 /* b */
            iload 3 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        44: .line 1320
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
        45: .line 1321
            iload 2 /* i */
            iload 1 /* ln */
            if_icmplt 47
        46: .line 1322
            aload 4 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        47: .line 1324
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        48: .line 1292
            goto 7
        end local 4 // java.lang.StringBuilder b
        end local 3 // char c
        49: .line 1287
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 2 /* i */
            iload 1 /* ln */
            if_icmplt 3
        end local 2 // int i
        51: .line 1328
            aload 0 /* s */
            areturn
        end local 1 // int ln
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   52     0     s  Ljava/lang/String;
            1   52     1    ln  I
            2   51     2     i  I
            4   49     3     c  C
            6   49     4     b  Ljava/lang/StringBuilder;
           31   42     5     x  I
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String javaScriptStringEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1336
            aload 0 /* s */
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.jsStringEnc:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String jsonStringEnc(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1344
            aload 0 /* s */
            iconst_1
            invokestatic freemarker.template.utility.StringUtil.jsStringEnc:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String jsStringEnc(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.lang.String s
        start local 1 // boolean json
         0: .line 1404
            ldc "s"
            aload 0 /* s */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1406
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* ln */
        start local 2 // int ln
         2: .line 1407
            aconst_null
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 1408
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 102
         5: .line 1409
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 1411
            iload 5 /* c */
            bipush 62
            if_icmple 7
            iload 5 /* c */
            bipush 127
            if_icmpge 7
            iload 5 /* c */
            bipush 92
            if_icmpne 100
      StackMap locals: int
      StackMap stack:
         7: iload 5 /* c */
            bipush 32
            if_icmpeq 100
            iload 5 /* c */
            sipush 160
            if_icmplt 8
            iload 5 /* c */
            sipush 8232
            if_icmplt 100
         8: .line 1412
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 31
            if_icmpgt 26
         9: .line 1413
            iload 5 /* c */
            bipush 10
            if_icmpne 12
        10: .line 1414
            bipush 110
            istore 6 /* escapeType */
        start local 6 // int escapeType
        11: .line 1415
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        12: iload 5 /* c */
            bipush 13
            if_icmpne 15
        13: .line 1416
            bipush 114
            istore 6 /* escapeType */
        start local 6 // int escapeType
        14: .line 1417
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        15: iload 5 /* c */
            bipush 12
            if_icmpne 18
        16: .line 1418
            bipush 102
            istore 6 /* escapeType */
        start local 6 // int escapeType
        17: .line 1419
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        18: iload 5 /* c */
            bipush 8
            if_icmpne 21
        19: .line 1420
            bipush 98
            istore 6 /* escapeType */
        start local 6 // int escapeType
        20: .line 1421
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        21: iload 5 /* c */
            bipush 9
            if_icmpne 24
        22: .line 1422
            bipush 116
            istore 6 /* escapeType */
        start local 6 // int escapeType
        23: .line 1423
            goto 77
        end local 6 // int escapeType
        24: .line 1424
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* escapeType */
        start local 6 // int escapeType
        25: .line 1426
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        26: iload 5 /* c */
            bipush 34
            if_icmpne 29
        27: .line 1427
            iconst_3
            istore 6 /* escapeType */
        start local 6 // int escapeType
        28: .line 1428
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        29: iload 5 /* c */
            bipush 39
            if_icmpne 34
        30: .line 1429
            iload 1 /* json */
            ifeq 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_3
      StackMap locals:
      StackMap stack: int
        32: istore 6 /* escapeType */
        start local 6 // int escapeType
        33: .line 1430
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        34: iload 5 /* c */
            bipush 92
            if_icmpne 37
        35: .line 1431
            iconst_3
            istore 6 /* escapeType */
        start local 6 // int escapeType
        36: .line 1432
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        37: iload 5 /* c */
            bipush 47
            if_icmpne 40
            iload 4 /* i */
            ifeq 38
            aload 0 /* s */
            iload 4 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 40
        38: .line 1433
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 6 /* escapeType */
        start local 6 // int escapeType
        39: .line 1434
            goto 77
        end local 6 // int escapeType
      StackMap locals:
      StackMap stack:
        40: iload 5 /* c */
            bipush 62
            if_icmpne 60
        41: .line 1436
            iload 4 /* i */
            ifne 44
        42: .line 1437
            iconst_1
            istore 7 /* dangerous */
        start local 7 // boolean dangerous
        43: .line 1438
            goto 55
        end local 7 // boolean dangerous
        44: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* prevC */
        start local 8 // char prevC
        45: .line 1440
            iload 8 /* prevC */
            bipush 93
            if_icmpeq 46
            iload 8 /* prevC */
            bipush 45
            if_icmpne 54
        46: .line 1441
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int top top int
      StackMap stack:
            iload 4 /* i */
            iconst_1
            if_icmpne 49
        47: .line 1442
            iconst_1
            istore 7 /* dangerous */
        start local 7 // boolean dangerous
        48: .line 1443
            goto 55
        end local 7 // boolean dangerous
        49: .line 1444
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            iconst_2
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* prevPrevC */
        start local 9 // char prevPrevC
        50: .line 1445
            iload 9 /* prevPrevC */
            iload 8 /* prevC */
            if_icmpne 51
            iconst_1
            goto 52
      StackMap locals: int
      StackMap stack:
        51: iconst_0
      StackMap locals:
      StackMap stack: int
        52: istore 7 /* dangerous */
        end local 9 // char prevPrevC
        start local 7 // boolean dangerous
        53: .line 1447
            goto 55
        end local 7 // boolean dangerous
        54: .line 1448
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* dangerous */
        end local 8 // char prevC
        start local 7 // boolean dangerous
        55: .line 1451
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int top int
      StackMap stack:
            iload 7 /* dangerous */
            ifeq 57
            iload 1 /* json */
            ifeq 56
            iconst_1
            goto 58
      StackMap locals:
      StackMap stack:
        56: iconst_3
            goto 58
      StackMap locals:
      StackMap stack:
        57: iconst_0
      StackMap locals:
      StackMap stack: int
        58: istore 6 /* escapeType */
        end local 7 // boolean dangerous
        start local 6 // int escapeType
        59: .line 1452
            goto 77
        end local 6 // int escapeType
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int
      StackMap stack:
        60: iload 5 /* c */
            bipush 60
            if_icmpne 72
        61: .line 1454
            iload 4 /* i */
            iload 2 /* ln */
            iconst_1
            isub
            if_icmpne 64
        62: .line 1455
            iconst_1
            istore 7 /* dangerous */
        start local 7 // boolean dangerous
        63: .line 1456
            goto 68
        end local 7 // boolean dangerous
        64: .line 1457
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* nextC */
        start local 8 // char nextC
        65: .line 1458
            iload 8 /* nextC */
            bipush 33
            if_icmpeq 66
            iload 8 /* nextC */
            bipush 63
            if_icmpeq 66
            iconst_0
            goto 67
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int top top int
      StackMap stack:
        66: iconst_1
      StackMap locals:
      StackMap stack: int
        67: istore 7 /* dangerous */
        end local 8 // char nextC
        start local 7 // boolean dangerous
        68: .line 1460
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int top int
      StackMap stack:
            iload 7 /* dangerous */
            ifeq 69
            iconst_1
            goto 70
      StackMap locals:
      StackMap stack:
        69: iconst_0
      StackMap locals:
      StackMap stack: int
        70: istore 6 /* escapeType */
        end local 7 // boolean dangerous
        start local 6 // int escapeType
        71: .line 1461
            goto 77
        end local 6 // int escapeType
      StackMap locals: java.lang.String int int java.lang.StringBuilder int int
      StackMap stack:
        72: iload 5 /* c */
            bipush 127
            if_icmplt 73
            iload 5 /* c */
            sipush 159
            if_icmple 74
        73: .line 1462
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 8232
            if_icmpeq 74
            iload 5 /* c */
            sipush 8233
            if_icmpne 76
        74: .line 1464
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* escapeType */
        start local 6 // int escapeType
        75: .line 1465
            goto 77
        end local 6 // int escapeType
        76: .line 1466
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* escapeType */
        start local 6 // int escapeType
        77: .line 1469
      StackMap locals: int
      StackMap stack:
            iload 6 /* escapeType */
            ifeq 100
        78: .line 1470
            aload 3 /* sb */
            ifnonnull 81
        79: .line 1471
            new java.lang.StringBuilder
            dup
            iload 2 /* ln */
            bipush 6
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sb */
        80: .line 1472
            aload 3 /* sb */
            aload 0 /* s */
            iconst_0
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        81: .line 1475
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        82: .line 1476
            iload 6 /* escapeType */
            bipush 32
            if_icmple 85
        83: .line 1477
            aload 3 /* sb */
            iload 6 /* escapeType */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        84: .line 1478
            goto 101
      StackMap locals:
      StackMap stack:
        85: iload 6 /* escapeType */
            iconst_1
            if_icmpne 98
        86: .line 1479
            iload 1 /* json */
            ifne 91
            iload 5 /* c */
            sipush 256
            if_icmpge 91
        87: .line 1480
            aload 3 /* sb */
            bipush 120
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        88: .line 1481
            aload 3 /* sb */
            iload 5 /* c */
            iconst_4
            ishr
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        89: .line 1482
            aload 3 /* sb */
            iload 5 /* c */
            bipush 15
            iand
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        90: .line 1483
            goto 101
        91: .line 1484
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            bipush 117
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        92: .line 1485
            iload 5 /* c */
            istore 7 /* cp */
        start local 7 // int cp
        93: .line 1486
            aload 3 /* sb */
            iload 7 /* cp */
            bipush 12
            ishr
            bipush 15
            iand
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        94: .line 1487
            aload 3 /* sb */
            iload 7 /* cp */
            bipush 8
            ishr
            bipush 15
            iand
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        95: .line 1488
            aload 3 /* sb */
            iload 7 /* cp */
            iconst_4
            ishr
            bipush 15
            iand
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        96: .line 1489
            aload 3 /* sb */
            iload 7 /* cp */
            bipush 15
            iand
            invokestatic freemarker.template.utility.StringUtil.toHexDigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 7 // int cp
        97: .line 1491
            goto 101
        98: .line 1492
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        99: .line 1494
            goto 101
        end local 6 // int escapeType
       100: .line 1500
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            ifnull 101
            aload 3 /* sb */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char c
       101: .line 1408
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       102: iload 4 /* i */
            iload 2 /* ln */
            if_icmplt 5
        end local 4 // int i
       103: .line 1503
            aload 3 /* sb */
            ifnonnull 104
            aload 0 /* s */
            goto 105
      StackMap locals:
      StackMap stack:
       104: aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       105: areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int ln
        end local 1 // boolean json
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  106     0           s  Ljava/lang/String;
            0  106     1        json  Z
            2  106     2          ln  I
            3  106     3          sb  Ljava/lang/StringBuilder;
            4  103     4           i  I
            6  101     5           c  C
           11   12     6  escapeType  I
           14   15     6  escapeType  I
           17   18     6  escapeType  I
           20   21     6  escapeType  I
           23   24     6  escapeType  I
           25   26     6  escapeType  I
           28   29     6  escapeType  I
           33   34     6  escapeType  I
           36   37     6  escapeType  I
           39   40     6  escapeType  I
           59   60     6  escapeType  I
           71   72     6  escapeType  I
           75   76     6  escapeType  I
           77  100     6  escapeType  I
           43   44     7   dangerous  Z
           48   49     7   dangerous  Z
           53   54     7   dangerous  Z
           55   59     7   dangerous  Z
           45   55     8       prevC  C
           50   53     9   prevPrevC  C
           63   64     7   dangerous  Z
           68   71     7   dangerous  Z
           65   68     8       nextC  C
           93   97     7          cp  I
    MethodParameters:
      Name  Flags
      s     
      json  

  private static char toHexDigit(int);
    descriptor: (I)C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int d
         0: .line 1507
            iload 0 /* d */
            bipush 10
            if_icmpge 1
            iload 0 /* d */
            bipush 48
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* d */
            bipush 10
            isub
            bipush 65
            iadd
      StackMap locals:
      StackMap stack: int
         2: i2c
            ireturn
        end local 0 // int d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     d  I
    MethodParameters:
      Name  Flags
      d     

  public static java.util.Map parseNameValuePairList(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String defaultValue
         0: .line 1531
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 1533
            bipush 32
            istore 3 /* c */
        start local 3 // char c
         2: .line 1534
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* ln */
        start local 4 // int ln
         3: .line 1535
            iconst_0
            istore 5 /* p */
        start local 5 // int p
         4: .line 1543
            goto 9
         5: .line 1544
      StackMap locals: java.lang.String java.lang.String java.util.Map int int int
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
         6: .line 1545
            iload 3 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 8
         7: .line 1546
            goto 10
         8: .line 1548
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
         9: .line 1543
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 5
        10: .line 1550
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmpne 12
        11: .line 1551
            goto 110
        12: .line 1553
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            istore 6 /* keyStart */
        start local 6 // int keyStart
        13: .line 1556
            goto 18
        14: .line 1557
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        15: .line 1558
            iload 3 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 17
            iload 3 /* c */
            bipush 95
            if_icmpeq 17
        16: .line 1559
            goto 19
        17: .line 1561
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        18: .line 1556
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 14
        19: .line 1563
      StackMap locals:
      StackMap stack:
            iload 6 /* keyStart */
            iload 5 /* p */
            if_icmpne 27
        20: .line 1564
            new java.text.ParseException
            dup
        21: .line 1565
            new java.lang.StringBuilder
            dup
            ldc "Expecting letter, digit or \"_\" here, (the first character of the key) but found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 1567
            iload 3 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1568
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 1565
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 1569
            iload 5 /* p */
        26: .line 1564
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        27: .line 1571
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 6 /* keyStart */
            iload 5 /* p */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* key */
        start local 8 // java.lang.String key
        28: .line 1574
            goto 33
        29: .line 1575
      StackMap locals: java.lang.String java.lang.String java.util.Map int int int int top java.lang.String
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        30: .line 1576
            iload 3 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 32
        31: .line 1577
            goto 34
        32: .line 1579
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        33: .line 1574
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 29
        34: .line 1581
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmpne 44
        35: .line 1582
            aload 1 /* defaultValue */
            ifnonnull 42
        36: .line 1583
            new java.text.ParseException
            dup
        37: .line 1584
            new java.lang.StringBuilder
            dup
            ldc "Expecting \":\", but reached the end of the string  at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 1586
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 1584
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 1587
            iload 5 /* p */
        41: .line 1583
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        42: .line 1589
      StackMap locals:
      StackMap stack:
            aload 1 /* defaultValue */
            astore 9 /* value */
        start local 9 // java.lang.String value
        43: .line 1590
            goto 102
        end local 9 // java.lang.String value
      StackMap locals:
      StackMap stack:
        44: iload 3 /* c */
            bipush 58
            if_icmpeq 56
        45: .line 1591
            aload 1 /* defaultValue */
            ifnull 46
            iload 3 /* c */
            bipush 44
            if_icmpeq 53
        46: .line 1592
      StackMap locals:
      StackMap stack:
            new java.text.ParseException
            dup
        47: .line 1593
            new java.lang.StringBuilder
            dup
            ldc "Expecting \":\" here, but found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 1594
            iload 3 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 1595
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 1593
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1596
            iload 5 /* p */
        52: .line 1592
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        53: .line 1600
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        54: .line 1602
            aload 1 /* defaultValue */
            astore 9 /* value */
        start local 9 // java.lang.String value
        55: .line 1603
            goto 102
        end local 9 // java.lang.String value
        56: .line 1605
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        57: .line 1608
            goto 62
        58: .line 1609
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        59: .line 1610
            iload 3 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 61
        60: .line 1611
            goto 63
        61: .line 1613
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        62: .line 1608
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 58
        63: .line 1615
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmpne 70
        64: .line 1616
            new java.text.ParseException
            dup
        65: .line 1617
            new java.lang.StringBuilder
            dup
            ldc "Expecting the value of the key here, but reached the end of the string  at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        66: .line 1619
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        67: .line 1617
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        68: .line 1620
            iload 5 /* p */
        69: .line 1616
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        70: .line 1622
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            istore 7 /* valueStart */
        start local 7 // int valueStart
        71: .line 1625
            goto 76
        72: .line 1626
      StackMap locals: java.lang.String java.lang.String java.util.Map int int int int int java.lang.String
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        73: .line 1627
            iload 3 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 75
            iload 3 /* c */
            bipush 95
            if_icmpeq 75
        74: .line 1628
            goto 77
        75: .line 1630
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        76: .line 1625
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 72
        77: .line 1632
      StackMap locals:
      StackMap stack:
            iload 7 /* valueStart */
            iload 5 /* p */
            if_icmpne 85
        78: .line 1633
            new java.text.ParseException
            dup
        79: .line 1634
            new java.lang.StringBuilder
            dup
            ldc "Expecting letter, digit or \"_\" here, (the first character of the value) but found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        80: .line 1637
            iload 3 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        81: .line 1638
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        82: .line 1634
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        83: .line 1639
            iload 5 /* p */
        84: .line 1633
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        85: .line 1641
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 7 /* valueStart */
            iload 5 /* p */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        86: .line 1644
            goto 91
        87: .line 1645
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* s */
            iload 5 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        88: .line 1646
            iload 3 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 90
        89: .line 1647
            goto 92
        90: .line 1649
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        91: .line 1644
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmplt 87
        92: .line 1653
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 4 /* ln */
            if_icmpge 102
        93: .line 1654
            iload 3 /* c */
            bipush 44
            if_icmpeq 101
        94: .line 1655
            new java.text.ParseException
            dup
        95: .line 1656
            new java.lang.StringBuilder
            dup
            ldc "Excpecting \",\" or the end of the string here, but found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        96: .line 1658
            iload 3 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 1659
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        98: .line 1656
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        99: .line 1660
            iload 5 /* p */
       100: .line 1655
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
       101: .line 1662
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        end local 7 // int valueStart
       102: .line 1668
      StackMap locals: java.lang.String java.lang.String java.util.Map int int int int top java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* map */
            aload 8 /* key */
            aload 9 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 109
       103: .line 1669
            new java.text.ParseException
            dup
       104: .line 1670
            new java.lang.StringBuilder
            dup
            ldc "Dublicated key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       105: .line 1671
            aload 8 /* key */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       106: .line 1670
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       107: .line 1671
            iload 6 /* keyStart */
       108: .line 1669
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        end local 9 // java.lang.String value
        end local 8 // java.lang.String key
        end local 6 // int keyStart
       109: .line 1541
      StackMap locals: java.lang.String java.lang.String java.util.Map int int int
      StackMap stack:
            goto 9
       110: .line 1675
      StackMap locals:
      StackMap stack:
            aload 2 /* map */
            areturn
        end local 5 // int p
        end local 4 // int ln
        end local 3 // char c
        end local 2 // java.util.Map map
        end local 1 // java.lang.String defaultValue
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  111     0             s  Ljava/lang/String;
            0  111     1  defaultValue  Ljava/lang/String;
            1  111     2           map  Ljava/util/Map;
            2  111     3             c  C
            3  111     4            ln  I
            4  111     5             p  I
           13  109     6      keyStart  I
           71  102     7    valueStart  I
           28  109     8           key  Ljava/lang/String;
           43   44     9         value  Ljava/lang/String;
           55   56     9         value  Ljava/lang/String;
           86  109     9         value  Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
              Name  Flags
      s             
      defaultValue  

  public static boolean isXMLID(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 1688
            aload 0 /* name */
            invokestatic freemarker.ext.dom._ExtDomApi.isXMLNameLike:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  public static boolean matchesName(java.lang.String, java.lang.String, java.lang.String, freemarker.core.Environment);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lfreemarker/core/Environment;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.String qname
        start local 1 // java.lang.String nodeName
        start local 2 // java.lang.String nsURI
        start local 3 // freemarker.core.Environment env
         0: .line 1695
            aload 0 /* qname */
            aload 1 /* nodeName */
            aload 2 /* nsURI */
            aload 3 /* env */
            invokestatic freemarker.ext.dom._ExtDomApi.matchesName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lfreemarker/core/Environment;)Z
            ireturn
        end local 3 // freemarker.core.Environment env
        end local 2 // java.lang.String nsURI
        end local 1 // java.lang.String nodeName
        end local 0 // java.lang.String qname
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     qname  Ljava/lang/String;
            0    1     1  nodeName  Ljava/lang/String;
            0    1     2     nsURI  Ljava/lang/String;
            0    1     3       env  Lfreemarker/core/Environment;
    MethodParameters:
          Name  Flags
      qname     
      nodeName  
      nsURI     
      env       

  public static java.lang.String leftPad(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int minLength
         0: .line 1707
            aload 0 /* s */
            iload 1 /* minLength */
            bipush 32
            invokestatic freemarker.template.utility.StringUtil.leftPad:(Ljava/lang/String;IC)Ljava/lang/String;
            areturn
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          s  Ljava/lang/String;
            0    1     1  minLength  I
    MethodParameters:
           Name  Flags
      s          
      minLength  

  public static java.lang.String leftPad(java.lang.String, int, char);
    descriptor: (Ljava/lang/String;IC)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int minLength
        start local 2 // char filling
         0: .line 1720
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 1721
            iload 1 /* minLength */
            iload 3 /* ln */
            if_icmpgt 3
         2: .line 1722
            aload 0 /* s */
            areturn
         3: .line 1725
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* minLength */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuilder res
         4: .line 1727
            iload 1 /* minLength */
            iload 3 /* ln */
            isub
            istore 5 /* dif */
        start local 5 // int dif
         5: .line 1728
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 1729
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 4 /* res */
            iload 2 /* filling */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1728
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 5 /* dif */
            if_icmplt 7
        end local 6 // int i
        10: .line 1732
            aload 4 /* res */
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1734
            aload 4 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dif
        end local 4 // java.lang.StringBuilder res
        end local 3 // int ln
        end local 2 // char filling
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          s  Ljava/lang/String;
            0   12     1  minLength  I
            0   12     2    filling  C
            1   12     3         ln  I
            4   12     4        res  Ljava/lang/StringBuilder;
            5   12     5        dif  I
            6   10     6          i  I
    MethodParameters:
           Name  Flags
      s          
      minLength  
      filling    

  public static java.lang.String leftPad(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int minLength
        start local 2 // java.lang.String filling
         0: .line 1749
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 1750
            iload 1 /* minLength */
            iload 3 /* ln */
            if_icmpgt 3
         2: .line 1751
            aload 0 /* s */
            areturn
         3: .line 1754
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* minLength */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuilder res
         4: .line 1756
            iload 1 /* minLength */
            iload 3 /* ln */
            isub
            istore 5 /* dif */
        start local 5 // int dif
         5: .line 1757
            aload 2 /* filling */
            invokevirtual java.lang.String.length:()I
            istore 6 /* fln */
        start local 6 // int fln
         6: .line 1758
            iload 6 /* fln */
            ifne 10
         7: .line 1759
            new java.lang.IllegalArgumentException
            dup
         8: .line 1760
            ldc "The \"filling\" argument can't be 0 length string."
         9: .line 1759
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1762
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 5 /* dif */
            iload 6 /* fln */
            idiv
            istore 7 /* cnt */
        start local 7 // int cnt
        11: .line 1763
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        12: goto 15
        13: .line 1764
      StackMap locals: int int
      StackMap stack:
            aload 4 /* res */
            aload 2 /* filling */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1763
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            iload 7 /* cnt */
            if_icmplt 13
        end local 8 // int i
        16: .line 1766
            iload 5 /* dif */
            iload 6 /* fln */
            irem
            istore 7 /* cnt */
        17: .line 1767
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 21
        19: .line 1768
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            aload 2 /* filling */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 1767
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 8 /* i */
            iload 7 /* cnt */
            if_icmplt 19
        end local 8 // int i
        22: .line 1771
            aload 4 /* res */
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1773
            aload 4 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // int cnt
        end local 6 // int fln
        end local 5 // int dif
        end local 4 // java.lang.StringBuilder res
        end local 3 // int ln
        end local 2 // java.lang.String filling
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0          s  Ljava/lang/String;
            0   24     1  minLength  I
            0   24     2    filling  Ljava/lang/String;
            1   24     3         ln  I
            4   24     4        res  Ljava/lang/StringBuilder;
            5   24     5        dif  I
            6   24     6        fln  I
           11   24     7        cnt  I
           12   16     8          i  I
           18   22     8          i  I
    MethodParameters:
           Name  Flags
      s          
      minLength  
      filling    

  public static java.lang.String rightPad(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int minLength
         0: .line 1785
            aload 0 /* s */
            iload 1 /* minLength */
            bipush 32
            invokestatic freemarker.template.utility.StringUtil.rightPad:(Ljava/lang/String;IC)Ljava/lang/String;
            areturn
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0          s  Ljava/lang/String;
            0    1     1  minLength  I
    MethodParameters:
           Name  Flags
      s          
      minLength  

  public static java.lang.String rightPad(java.lang.String, int, char);
    descriptor: (Ljava/lang/String;IC)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int minLength
        start local 2 // char filling
         0: .line 1798
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 1799
            iload 1 /* minLength */
            iload 3 /* ln */
            if_icmpgt 3
         2: .line 1800
            aload 0 /* s */
            areturn
         3: .line 1803
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* minLength */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuilder res
         4: .line 1805
            aload 4 /* res */
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1807
            iload 1 /* minLength */
            iload 3 /* ln */
            isub
            istore 5 /* dif */
        start local 5 // int dif
         6: .line 1808
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 1809
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 4 /* res */
            iload 2 /* filling */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 1808
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 5 /* dif */
            if_icmplt 8
        end local 6 // int i
        11: .line 1812
            aload 4 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dif
        end local 4 // java.lang.StringBuilder res
        end local 3 // int ln
        end local 2 // char filling
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          s  Ljava/lang/String;
            0   12     1  minLength  I
            0   12     2    filling  C
            1   12     3         ln  I
            4   12     4        res  Ljava/lang/StringBuilder;
            6   12     5        dif  I
            7   11     6          i  I
    MethodParameters:
           Name  Flags
      s          
      minLength  
      filling    

  public static java.lang.String rightPad(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int minLength
        start local 2 // java.lang.String filling
         0: .line 1829
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ln */
        start local 3 // int ln
         1: .line 1830
            iload 1 /* minLength */
            iload 3 /* ln */
            if_icmpgt 3
         2: .line 1831
            aload 0 /* s */
            areturn
         3: .line 1834
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* minLength */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuilder res
         4: .line 1836
            aload 4 /* res */
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1838
            iload 1 /* minLength */
            iload 3 /* ln */
            isub
            istore 5 /* dif */
        start local 5 // int dif
         6: .line 1839
            aload 2 /* filling */
            invokevirtual java.lang.String.length:()I
            istore 6 /* fln */
        start local 6 // int fln
         7: .line 1840
            iload 6 /* fln */
            ifne 11
         8: .line 1841
            new java.lang.IllegalArgumentException
            dup
         9: .line 1842
            ldc "The \"filling\" argument can't be 0 length string."
        10: .line 1841
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1844
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 3 /* ln */
            iload 6 /* fln */
            irem
            istore 7 /* start */
        start local 7 // int start
        12: .line 1845
            iload 6 /* fln */
            iload 7 /* start */
            isub
            iload 5 /* dif */
            if_icmpgt 14
        13: .line 1846
            iload 6 /* fln */
            goto 15
        14: .line 1847
      StackMap locals: int
      StackMap stack:
            iload 7 /* start */
            iload 5 /* dif */
            iadd
        15: .line 1845
      StackMap locals:
      StackMap stack: int
            istore 8 /* end */
        start local 8 // int end
        16: .line 1848
            iload 7 /* start */
            istore 9 /* i */
        start local 9 // int i
        17: goto 20
        18: .line 1849
      StackMap locals: int int
      StackMap stack:
            aload 4 /* res */
            aload 2 /* filling */
            iload 9 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 1848
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            iload 8 /* end */
            if_icmplt 18
        end local 9 // int i
        21: .line 1851
            iload 5 /* dif */
            iload 8 /* end */
            iload 7 /* start */
            isub
            isub
            istore 5 /* dif */
        22: .line 1852
            iload 5 /* dif */
            iload 6 /* fln */
            idiv
            istore 9 /* cnt */
        start local 9 // int cnt
        23: .line 1853
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        24: goto 27
        25: .line 1854
      StackMap locals: int
      StackMap stack:
            aload 4 /* res */
            aload 2 /* filling */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 1853
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 10 /* i */
            iload 9 /* cnt */
            if_icmplt 25
        end local 10 // int i
        28: .line 1856
            iload 5 /* dif */
            iload 6 /* fln */
            irem
            istore 9 /* cnt */
        29: .line 1857
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        30: goto 33
        31: .line 1858
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            aload 2 /* filling */
            iload 10 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1857
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 10 /* i */
            iload 9 /* cnt */
            if_icmplt 31
        end local 10 // int i
        34: .line 1861
            aload 4 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 9 // int cnt
        end local 8 // int end
        end local 7 // int start
        end local 6 // int fln
        end local 5 // int dif
        end local 4 // java.lang.StringBuilder res
        end local 3 // int ln
        end local 2 // java.lang.String filling
        end local 1 // int minLength
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   35     0          s  Ljava/lang/String;
            0   35     1  minLength  I
            0   35     2    filling  Ljava/lang/String;
            1   35     3         ln  I
            4   35     4        res  Ljava/lang/StringBuilder;
            6   35     5        dif  I
            7   35     6        fln  I
           12   35     7      start  I
           16   35     8        end  I
           17   21     9          i  I
           23   35     9        cnt  I
           24   28    10          i  I
           30   34    10          i  I
    MethodParameters:
           Name  Flags
      s          
      minLength  
      filling    

  public static int versionStringToInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String version
         0: .line 1876
            new freemarker.template.Version
            dup
            aload 0 /* version */
            invokespecial freemarker.template.Version.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.template.Version.intValue:()I
            ireturn
        end local 0 // java.lang.String version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  version  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      version  

  public static java.lang.String tryToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object object
         0: .line 1887
            aload 0 /* object */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* object */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         2: areturn
         3: .line 1891
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
         4: .line 1892
            aload 0 /* object */
            aload 1 /* e */
            invokestatic freemarker.template.utility.StringUtil.failedToStringSubstitute:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  object  Ljava/lang/Object;
            4    5     1       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      object  

  private static java.lang.String failedToStringSubstitute(java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object object
        start local 1 // java.lang.Throwable e
         0: .line 1899
            aload 1 /* e */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            astore 2 /* eStr */
        start local 2 // java.lang.String eStr
         1: .line 1900
            goto 4
        end local 2 // java.lang.String eStr
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: pop
         3: .line 1901
            aload 1 /* e */
            invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* eStr */
        start local 2 // java.lang.String eStr
         4: .line 1903
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* object */
            invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".toString() failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* eStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String eStr
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  object  Ljava/lang/Object;
            0    5     1       e  Ljava/lang/Throwable;
            1    2     2    eStr  Ljava/lang/String;
            4    5     2    eStr  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      object  
      e       

  public static java.lang.String toUpperABC(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 1917
            iload 0 /* n */
            bipush 65
            invokestatic freemarker.template.utility.StringUtil.toABC:(IC)Ljava/lang/String;
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
    MethodParameters:
      Name  Flags
      n     

  public static java.lang.String toLowerABC(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int n
         0: .line 1926
            iload 0 /* n */
            bipush 97
            invokestatic freemarker.template.utility.StringUtil.toABC:(IC)Ljava/lang/String;
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
    MethodParameters:
      Name  Flags
      n     

  private static java.lang.String toABC(int, char);
    descriptor: (IC)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // int n
        start local 1 // char oneDigit
         0: .line 1934
            iload 0 /* n */
            iconst_1
            if_icmpge 4
         1: .line 1935
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't convert 0 or negative numbers to latin-number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 1936
            iload 0 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1935
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1942
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* reached */
        start local 2 // int reached
         5: .line 1943
            iconst_1
            istore 3 /* weight */
        start local 3 // int weight
         6: .line 1945
      StackMap locals: int int
      StackMap stack:
            iload 3 /* weight */
            bipush 26
            imul
            istore 4 /* nextWeight */
        start local 4 // int nextWeight
         7: .line 1946
            iload 2 /* reached */
            iload 4 /* nextWeight */
            iadd
            istore 5 /* nextReached */
        start local 5 // int nextReached
         8: .line 1947
            iload 5 /* nextReached */
            iload 0 /* n */
            if_icmpgt 12
         9: .line 1949
            iload 4 /* nextWeight */
            istore 3 /* weight */
        10: .line 1950
            iload 5 /* nextReached */
            istore 2 /* reached */
        end local 5 // int nextReached
        end local 4 // int nextWeight
        11: .line 1944
            goto 6
        12: .line 1959
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
        13: .line 1960
            goto 18
        14: .line 1962
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 0 /* n */
            iload 2 /* reached */
            isub
            iload 3 /* weight */
            idiv
            istore 5 /* digitIncrease */
        start local 5 // int digitIncrease
        15: .line 1963
            aload 4 /* sb */
            iload 1 /* oneDigit */
            iload 5 /* digitIncrease */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 1964
            iload 2 /* reached */
            iload 5 /* digitIncrease */
            iload 3 /* weight */
            imul
            iadd
            istore 2 /* reached */
        17: .line 1966
            iload 3 /* weight */
            bipush 26
            idiv
            istore 3 /* weight */
        end local 5 // int digitIncrease
        18: .line 1960
      StackMap locals:
      StackMap stack:
            iload 3 /* weight */
            ifne 14
        19: .line 1969
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int weight
        end local 2 // int reached
        end local 1 // char oneDigit
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0              n  I
            0   20     1       oneDigit  C
            5   20     2        reached  I
            6   20     3         weight  I
            7   11     4     nextWeight  I
            8   11     5    nextReached  I
           13   20     4             sb  Ljava/lang/StringBuilder;
           15   18     5  digitIncrease  I
    MethodParameters:
          Name  Flags
      n         final
      oneDigit  

  public static char[] trim(char[]);
    descriptor: ([C)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // char[] cs
         0: .line 1980
            aload 0 /* cs */
            arraylength
            ifne 2
         1: .line 1981
            aload 0 /* cs */
            areturn
         2: .line 1984
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* start */
        start local 1 // int start
         3: .line 1985
            aload 0 /* cs */
            arraylength
            istore 2 /* end */
        start local 2 // int end
         4: .line 1986
            goto 6
         5: .line 1987
      StackMap locals: int int
      StackMap stack:
            iinc 1 /* start */ 1
         6: .line 1986
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* end */
            if_icmpge 9
            aload 0 /* cs */
            iload 1 /* start */
            caload
            bipush 32
            if_icmple 5
         7: .line 1989
            goto 9
         8: .line 1990
      StackMap locals:
      StackMap stack:
            iinc 2 /* end */ -1
         9: .line 1989
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* end */
            if_icmpge 10
            aload 0 /* cs */
            iload 2 /* end */
            iconst_1
            isub
            caload
            bipush 32
            if_icmple 8
        10: .line 1993
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ifne 12
            iload 2 /* end */
            aload 0 /* cs */
            arraylength
            if_icmpne 12
        11: .line 1994
            aload 0 /* cs */
            areturn
        12: .line 1996
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* end */
            if_icmpne 14
        13: .line 1997
            getstatic freemarker.template.utility.CollectionUtils.EMPTY_CHAR_ARRAY:[C
            areturn
        14: .line 2000
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iload 1 /* start */
            isub
            newarray 5
            astore 3 /* newCs */
        start local 3 // char[] newCs
        15: .line 2001
            aload 0 /* cs */
            iload 1 /* start */
            aload 3 /* newCs */
            iconst_0
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 2002
            aload 3 /* newCs */
            areturn
        end local 3 // char[] newCs
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[] cs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0     cs  [C
            3   17     1  start  I
            4   17     2    end  I
           15   17     3  newCs  [C
    MethodParameters:
      Name  Flags
      cs    final

  public static boolean isTrimmableToEmpty(char[]);
    descriptor: ([C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] text
         0: .line 2011
            aload 0 /* text */
            iconst_0
            aload 0 /* text */
            arraylength
            invokestatic freemarker.template.utility.StringUtil.isTrimmableToEmpty:([CII)Z
            ireturn
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  text  [C
    MethodParameters:
      Name  Flags
      text  

  public static boolean isTrimmableToEmpty(char[], int);
    descriptor: ([CI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char[] text
        start local 1 // int start
         0: .line 2020
            aload 0 /* text */
            iload 1 /* start */
            aload 0 /* text */
            arraylength
            invokestatic freemarker.template.utility.StringUtil.isTrimmableToEmpty:([CII)Z
            ireturn
        end local 1 // int start
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   text  [C
            0    1     1  start  I
    MethodParameters:
       Name  Flags
      text   
      start  

  public static boolean isTrimmableToEmpty(char[], int, int);
    descriptor: ([CII)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // char[] text
        start local 1 // int start
        start local 2 // int end
         0: .line 2030
            iload 1 /* start */
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 2032
      StackMap locals: int
      StackMap stack:
            aload 0 /* text */
            iload 3 /* i */
            caload
            bipush 32
            if_icmple 4
         3: .line 2033
            iconst_0
            ireturn
         4: .line 2030
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* end */
            if_icmplt 2
        end local 3 // int i
         6: .line 2036
            iconst_1
            ireturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   text  [C
            0    7     1  start  I
            0    7     2    end  I
            1    6     3      i  I
    MethodParameters:
       Name  Flags
      text   
      start  
      end    

  public static java.util.regex.Pattern globToRegularExpression(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/regex/Pattern;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String glob
         0: .line 2045
            aload 0 /* glob */
            iconst_0
            invokestatic freemarker.template.utility.StringUtil.globToRegularExpression:(Ljava/lang/String;Z)Ljava/util/regex/Pattern;
            areturn
        end local 0 // java.lang.String glob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  glob  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      glob  

  public static java.util.regex.Pattern globToRegularExpression(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/util/regex/Pattern;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.String glob
        start local 1 // boolean caseInsensitive
         0: .line 2071
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* regex */
        start local 2 // java.lang.StringBuilder regex
         1: .line 2073
            iconst_0
            istore 3 /* nextStart */
        start local 3 // int nextStart
         2: .line 2074
            iconst_0
            istore 4 /* escaped */
        start local 4 // boolean escaped
         3: .line 2075
            aload 0 /* glob */
            invokevirtual java.lang.String.length:()I
            istore 5 /* ln */
        start local 5 // int ln
         4: .line 2076
            iconst_0
            istore 6 /* idx */
        start local 6 // int idx
         5: goto 50
         6: .line 2077
      StackMap locals: java.lang.String int java.lang.StringBuilder int int int int
      StackMap stack:
            aload 0 /* glob */
            iload 6 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
         7: .line 2078
            iload 4 /* escaped */
            ifne 48
         8: .line 2079
            iload 7 /* c */
            bipush 63
            if_icmpne 13
         9: .line 2080
            aload 2 /* regex */
            aload 0 /* glob */
            iload 3 /* nextStart */
            iload 6 /* idx */
            invokestatic freemarker.template.utility.StringUtil.appendLiteralGlobSection:(Ljava/lang/StringBuilder;Ljava/lang/String;II)V
        10: .line 2081
            aload 2 /* regex */
            ldc "[^/]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 2082
            iload 6 /* idx */
            iconst_1
            iadd
            istore 3 /* nextStart */
        12: .line 2083
            goto 49
      StackMap locals: int
      StackMap stack:
        13: iload 7 /* c */
            bipush 42
            if_icmpne 38
        14: .line 2084
            aload 2 /* regex */
            aload 0 /* glob */
            iload 3 /* nextStart */
            iload 6 /* idx */
            invokestatic freemarker.template.utility.StringUtil.appendLiteralGlobSection:(Ljava/lang/StringBuilder;Ljava/lang/String;II)V
        15: .line 2085
            iload 6 /* idx */
            iconst_1
            iadd
            iload 5 /* ln */
            if_icmpge 35
            aload 0 /* glob */
            iload 6 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 35
        16: .line 2086
            iload 6 /* idx */
            ifeq 22
            aload 0 /* glob */
            iload 6 /* idx */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 22
        17: .line 2087
            new java.lang.IllegalArgumentException
            dup
        18: .line 2088
            new java.lang.StringBuilder
            dup
            ldc "The \"**\" wildcard must be directly after a \"/\" or it must be at the beginning, in this glob: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 2089
            aload 0 /* glob */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 2088
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 2087
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 2092
      StackMap locals:
      StackMap stack:
            iload 6 /* idx */
            iconst_2
            iadd
            iload 5 /* ln */
            if_icmpne 26
        23: .line 2093
            aload 2 /* regex */
            ldc ".*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 2094
            iinc 6 /* idx */ 1
        25: .line 2095
            goto 36
        26: .line 2096
      StackMap locals:
      StackMap stack:
            iload 6 /* idx */
            iconst_2
            iadd
            iload 5 /* ln */
            if_icmpge 27
            aload 0 /* glob */
            iload 6 /* idx */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 32
        27: .line 2097
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        28: .line 2098
            new java.lang.StringBuilder
            dup
            ldc "The \"**\" wildcard must be followed by \"/\", or must be at tehe end, in this glob: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 2099
            aload 0 /* glob */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 2098
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 2097
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 2101
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "(.*?/)*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 2102
            iinc 6 /* idx */ 2
        34: .line 2104
            goto 36
        35: .line 2105
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "[^/]*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 2107
      StackMap locals:
      StackMap stack:
            iload 6 /* idx */
            iconst_1
            iadd
            istore 3 /* nextStart */
        37: .line 2108
            goto 49
      StackMap locals:
      StackMap stack:
        38: iload 7 /* c */
            bipush 92
            if_icmpne 41
        39: .line 2109
            iconst_1
            istore 4 /* escaped */
        40: .line 2110
            goto 49
      StackMap locals:
      StackMap stack:
        41: iload 7 /* c */
            bipush 91
            if_icmpeq 42
            iload 7 /* c */
            bipush 123
            if_icmpne 49
        42: .line 2111
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        43: .line 2112
            new java.lang.StringBuilder
            dup
            ldc "The \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "\" glob operator is currently unsupported "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 2113
            ldc "(precede it with \\ for literal matching), "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 2114
            ldc "in this glob: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* glob */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 2112
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        47: .line 2111
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 2117
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* escaped */
        end local 7 // char c
        49: .line 2076
      StackMap locals:
      StackMap stack:
            iinc 6 /* idx */ 1
      StackMap locals:
      StackMap stack:
        50: iload 6 /* idx */
            iload 5 /* ln */
            if_icmplt 6
        end local 6 // int idx
        51: .line 2120
            aload 2 /* regex */
            aload 0 /* glob */
            iload 3 /* nextStart */
            aload 0 /* glob */
            invokevirtual java.lang.String.length:()I
            invokestatic freemarker.template.utility.StringUtil.appendLiteralGlobSection:(Ljava/lang/StringBuilder;Ljava/lang/String;II)V
        52: .line 2122
            aload 2 /* regex */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 1 /* caseInsensitive */
            ifeq 53
            bipush 66
            goto 54
      StackMap locals: java.lang.String int java.lang.StringBuilder int int int
      StackMap stack: java.lang.String
        53: iconst_0
      StackMap locals: java.lang.String int java.lang.StringBuilder int int int
      StackMap stack: java.lang.String int
        54: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
            areturn
        end local 5 // int ln
        end local 4 // boolean escaped
        end local 3 // int nextStart
        end local 2 // java.lang.StringBuilder regex
        end local 1 // boolean caseInsensitive
        end local 0 // java.lang.String glob
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   55     0             glob  Ljava/lang/String;
            0   55     1  caseInsensitive  Z
            1   55     2            regex  Ljava/lang/StringBuilder;
            2   55     3        nextStart  I
            3   55     4          escaped  Z
            4   55     5               ln  I
            5   51     6              idx  I
            7   49     7                c  C
    MethodParameters:
                 Name  Flags
      glob             
      caseInsensitive  

  private static void appendLiteralGlobSection(java.lang.StringBuilder, java.lang.String, int, int);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.StringBuilder regex
        start local 1 // java.lang.String glob
        start local 2 // int start
        start local 3 // int end
         0: .line 2126
            iload 2 /* start */
            iload 3 /* end */
            if_icmpne 1
            return
         1: .line 2127
      StackMap locals:
      StackMap stack:
            aload 1 /* glob */
            iload 2 /* start */
            iload 3 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.unescapeLiteralGlobSection:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* part */
        start local 4 // java.lang.String part
         2: .line 2128
            aload 0 /* regex */
            aload 4 /* part */
            invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 2129
            return
        end local 4 // java.lang.String part
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String glob
        end local 0 // java.lang.StringBuilder regex
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  regex  Ljava/lang/StringBuilder;
            0    4     1   glob  Ljava/lang/String;
            0    4     2  start  I
            0    4     3    end  I
            2    4     4   part  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      regex  
      glob   
      start  
      end    

  private static java.lang.String unescapeLiteralGlobSection(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String s
         0: .line 2132
            aload 0 /* s */
            bipush 92
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* backslashIdx */
        start local 1 // int backslashIdx
         1: .line 2133
            iload 1 /* backslashIdx */
            iconst_m1
            if_icmpne 3
         2: .line 2134
            aload 0 /* s */
            areturn
         3: .line 2136
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* ln */
        start local 2 // int ln
         4: .line 2137
            new java.lang.StringBuilder
            dup
            iload 2 /* ln */
            iconst_1
            isub
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         5: .line 2138
            iconst_0
            istore 4 /* nextStart */
        start local 4 // int nextStart
         6: .line 2140
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* sb */
            aload 0 /* s */
            iload 4 /* nextStart */
            iload 1 /* backslashIdx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
         7: .line 2141
            iload 1 /* backslashIdx */
            iconst_1
            iadd
            istore 4 /* nextStart */
         8: .line 2142
            aload 0 /* s */
            bipush 92
            iload 4 /* nextStart */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 1 /* backslashIdx */
            iconst_m1
            if_icmpne 6
         9: .line 2143
            iload 4 /* nextStart */
            iload 2 /* ln */
            if_icmpge 11
        10: .line 2144
            aload 3 /* sb */
            aload 0 /* s */
            iload 4 /* nextStart */
            iload 2 /* ln */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        11: .line 2146
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int nextStart
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int ln
        end local 1 // int backslashIdx
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0             s  Ljava/lang/String;
            1   12     1  backslashIdx  I
            4   12     2            ln  I
            5   12     3            sb  Ljava/lang/StringBuilder;
            6   12     4     nextStart  I
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "StringUtil.java"