public class freemarker.template.Template extends freemarker.core.Configurable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.Template
  super_class: freemarker.core.Configurable
{
  public static final java.lang.String DEFAULT_NAMESPACE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "D"

  public static final java.lang.String NO_NS_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "N"

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

  private java.util.Map macros;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List imports;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.core.TemplateElement rootElement;
    descriptor: Lfreemarker/core/TemplateElement;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String encoding;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String defaultNS;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object customLookupCondition;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private freemarker.core.OutputFormat outputFormat;
    descriptor: Lfreemarker/core/OutputFormat;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sourceName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList lines;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final freemarker.core.ParserConfiguration parserConfiguration;
    descriptor: Lfreemarker/core/ParserConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map prefixToNamespaceURILookup;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map namespaceURIToPrefixLookup;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.Version templateLanguageVersion;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(java.lang.String, java.lang.String, freemarker.template.Configuration, freemarker.core.ParserConfiguration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceName
        start local 3 // freemarker.template.Configuration cfg
        start local 4 // freemarker.core.ParserConfiguration customParserConfiguration
         0: .line 110
            aload 0 /* this */
            aload 3 /* cfg */
            invokestatic freemarker.template.Template.toNonNull:(Lfreemarker/template/Configuration;)Lfreemarker/template/Configuration;
            invokespecial freemarker.core.Configurable.<init>:(Lfreemarker/core/Configurable;)V
         1: .line 87
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.template.Template.macros:Ljava/util/Map;
         2: .line 88
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield freemarker.template.Template.imports:Ljava/util/List;
         3: .line 99
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield freemarker.template.Template.lines:Ljava/util/ArrayList;
         4: .line 101
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
         5: .line 102
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
         6: .line 111
            aload 0 /* this */
            aload 1 /* name */
            putfield freemarker.template.Template.name:Ljava/lang/String;
         7: .line 112
            aload 0 /* this */
            aload 2 /* sourceName */
            putfield freemarker.template.Template.sourceName:Ljava/lang/String;
         8: .line 113
            aload 0 /* this */
            aload 3 /* cfg */
            invokestatic freemarker.template.Template.toNonNull:(Lfreemarker/template/Configuration;)Lfreemarker/template/Configuration;
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Template.normalizeTemplateLanguageVersion:(Lfreemarker/template/Version;)Lfreemarker/template/Version;
            putfield freemarker.template.Template.templateLanguageVersion:Lfreemarker/template/Version;
         9: .line 114
            aload 0 /* this */
            aload 4 /* customParserConfiguration */
            ifnull 10
            aload 4 /* customParserConfiguration */
            goto 11
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String freemarker.template.Configuration freemarker.core.ParserConfiguration
      StackMap stack: freemarker.template.Template
        10: aload 0 /* this */
            invokevirtual freemarker.template.Template.getConfiguration:()Lfreemarker/template/Configuration;
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String freemarker.template.Configuration freemarker.core.ParserConfiguration
      StackMap stack: freemarker.template.Template freemarker.core.ParserConfiguration
        11: putfield freemarker.template.Template.parserConfiguration:Lfreemarker/core/ParserConfiguration;
        12: .line 115
            return
        end local 4 // freemarker.core.ParserConfiguration customParserConfiguration
        end local 3 // freemarker.template.Configuration cfg
        end local 2 // java.lang.String sourceName
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   13     0                       this  Lfreemarker/template/Template;
            0   13     1                       name  Ljava/lang/String;
            0   13     2                 sourceName  Ljava/lang/String;
            0   13     3                        cfg  Lfreemarker/template/Configuration;
            0   13     4  customParserConfiguration  Lfreemarker/core/ParserConfiguration;
    MethodParameters:
                           Name  Flags
      name                       
      sourceName                 
      cfg                        
      customParserConfiguration  

  private static freemarker.template.Configuration toNonNull(freemarker.template.Configuration);
    descriptor: (Lfreemarker/template/Configuration;)Lfreemarker/template/Configuration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration cfg
         0: .line 118
            aload 0 /* cfg */
            ifnull 1
            aload 0 /* cfg */
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic freemarker.template.Configuration.getDefaultConfiguration:()Lfreemarker/template/Configuration;
      StackMap locals:
      StackMap stack: freemarker.template.Configuration
         2: areturn
        end local 0 // freemarker.template.Configuration cfg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cfg  Lfreemarker/template/Configuration;
    MethodParameters:
      Name  Flags
      cfg   

  public void <init>(java.lang.String, java.io.Reader, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.io.Reader reader
        start local 3 // freemarker.template.Configuration cfg
         0: .line 125
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aload 2 /* reader */
            aload 3 /* cfg */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
         1: .line 126
            return
        end local 3 // freemarker.template.Configuration cfg
        end local 2 // java.io.Reader reader
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lfreemarker/template/Template;
            0    2     1    name  Ljava/lang/String;
            0    2     2  reader  Ljava/io/Reader;
            0    2     3     cfg  Lfreemarker/template/Configuration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      name    
      reader  
      cfg     

  public void <init>(java.lang.String, java.lang.String, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceCode
        start local 3 // freemarker.template.Configuration cfg
         0: .line 135
            aload 0 /* this */
            aload 1 /* name */
            new java.io.StringReader
            dup
            aload 2 /* sourceCode */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            aload 3 /* cfg */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
         1: .line 136
            return
        end local 3 // freemarker.template.Configuration cfg
        end local 2 // java.lang.String sourceCode
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lfreemarker/template/Template;
            0    2     1        name  Ljava/lang/String;
            0    2     2  sourceCode  Ljava/lang/String;
            0    2     3         cfg  Lfreemarker/template/Configuration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      sourceCode  
      cfg         

  public void <init>(java.lang.String, java.io.Reader, freemarker.template.Configuration, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.io.Reader reader
        start local 3 // freemarker.template.Configuration cfg
        start local 4 // java.lang.String encoding
         0: .line 143
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aload 2 /* reader */
            aload 3 /* cfg */
            aload 4 /* encoding */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Ljava/lang/String;)V
         1: .line 144
            return
        end local 4 // java.lang.String encoding
        end local 3 // freemarker.template.Configuration cfg
        end local 2 // java.io.Reader reader
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Template;
            0    2     1      name  Ljava/lang/String;
            0    2     2    reader  Ljava/io/Reader;
            0    2     3       cfg  Lfreemarker/template/Configuration;
            0    2     4  encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      reader    
      cfg       
      encoding  

  public void <init>(java.lang.String, java.lang.String, java.io.Reader, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceName
        start local 3 // java.io.Reader reader
        start local 4 // freemarker.template.Configuration cfg
         0: .line 182
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* sourceName */
            aload 3 /* reader */
            aload 4 /* cfg */
            aconst_null
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Ljava/lang/String;)V
         1: .line 183
            return
        end local 4 // freemarker.template.Configuration cfg
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.String sourceName
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lfreemarker/template/Template;
            0    2     1        name  Ljava/lang/String;
            0    2     2  sourceName  Ljava/lang/String;
            0    2     3      reader  Ljava/io/Reader;
            0    2     4         cfg  Lfreemarker/template/Configuration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      sourceName  
      reader      
      cfg         

  public void <init>(java.lang.String, java.lang.String, java.io.Reader, freemarker.template.Configuration, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceName
        start local 3 // java.io.Reader reader
        start local 4 // freemarker.template.Configuration cfg
        start local 5 // java.lang.String encoding
         0: .line 203
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* sourceName */
            aload 3 /* reader */
            aload 4 /* cfg */
            aconst_null
            aload 5 /* encoding */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;Ljava/lang/String;)V
         1: .line 204
            return
        end local 5 // java.lang.String encoding
        end local 4 // freemarker.template.Configuration cfg
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.String sourceName
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lfreemarker/template/Template;
            0    2     1        name  Ljava/lang/String;
            0    2     2  sourceName  Ljava/lang/String;
            0    2     3      reader  Ljava/io/Reader;
            0    2     4         cfg  Lfreemarker/template/Configuration;
            0    2     5    encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      sourceName  
      reader      
      cfg         
      encoding    

  public void <init>(java.lang.String, java.lang.String, java.io.Reader, freemarker.template.Configuration, freemarker.core.ParserConfiguration, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=7
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceName
        start local 3 // java.io.Reader reader
        start local 4 // freemarker.template.Configuration cfg
        start local 5 // freemarker.core.ParserConfiguration customParserConfiguration
        start local 6 // java.lang.String encoding
         0: .line 234
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* sourceName */
            aload 4 /* cfg */
            aload 5 /* customParserConfiguration */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;)V
         1: .line 236
            aload 0 /* this */
            aload 6 /* encoding */
            invokevirtual freemarker.template.Template.setEncoding:(Ljava/lang/String;)V
         2: .line 239
            aload 0 /* this */
            invokevirtual freemarker.template.Template.getParserConfiguration:()Lfreemarker/core/ParserConfiguration;
            astore 8 /* actualParserConfiguration */
        start local 8 // freemarker.core.ParserConfiguration actualParserConfiguration
         3: .line 241
            aload 3 /* reader */
            instanceof java.io.BufferedReader
            ifne 5
            aload 3 /* reader */
            instanceof java.io.StringReader
            ifne 5
         4: .line 242
            new java.io.BufferedReader
            dup
            aload 3 /* reader */
            sipush 4096
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
            astore 3 /* reader */
         5: .line 244
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String java.io.Reader freemarker.template.Configuration freemarker.core.ParserConfiguration java.lang.String top freemarker.core.ParserConfiguration
      StackMap stack:
            new freemarker.template.Template$LineTableBuilder
            dup
            aload 0 /* this */
            aload 3 /* reader */
            aload 8 /* actualParserConfiguration */
            invokespecial freemarker.template.Template$LineTableBuilder.<init>:(Lfreemarker/template/Template;Ljava/io/Reader;Lfreemarker/core/ParserConfiguration;)V
            astore 7 /* ltbReader */
        start local 7 // freemarker.template.Template$LineTableBuilder ltbReader
         6: .line 245
            aload 7 /* ltbReader */
            astore 3 /* reader */
         7: .line 248
            new freemarker.core.FMParser
            dup
            aload 0 /* this */
            aload 3 /* reader */
            aload 8 /* actualParserConfiguration */
            invokespecial freemarker.core.FMParser.<init>:(Lfreemarker/template/Template;Ljava/io/Reader;Lfreemarker/core/ParserConfiguration;)V
            astore 9 /* parser */
        start local 9 // freemarker.core.FMParser parser
         8: .line 249
            aload 4 /* cfg */
            ifnull 10
         9: .line 250
            aload 9 /* parser */
            aload 4 /* cfg */
            invokevirtual freemarker.template.Configuration.getPreventStrippings:()Z
            invokestatic freemarker.core._CoreAPI.setPreventStrippings:(Lfreemarker/core/FMParser;Z)V
        10: .line 253
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String java.io.Reader freemarker.template.Configuration freemarker.core.ParserConfiguration java.lang.String freemarker.template.Template$LineTableBuilder freemarker.core.ParserConfiguration freemarker.core.FMParser
      StackMap stack:
            aload 0 /* this */
            aload 9 /* parser */
            invokevirtual freemarker.core.FMParser.Root:()Lfreemarker/core/TemplateElement;
            putfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
        11: .line 254
            goto 16
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
        12: astore 10 /* exc */
        start local 10 // java.lang.IndexOutOfBoundsException exc
        13: .line 258
            aload 7 /* ltbReader */
            invokevirtual freemarker.template.Template$LineTableBuilder.hasFailure:()Z
            ifne 15
        14: .line 259
            aload 10 /* exc */
            athrow
        15: .line 261
      StackMap locals: java.lang.IndexOutOfBoundsException
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
        end local 10 // java.lang.IndexOutOfBoundsException exc
        16: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* parser */
            invokevirtual freemarker.core.FMParser._getLastTagSyntax:()I
            putfield freemarker.template.Template.actualTagSyntax:I
        17: .line 264
            aload 0 /* this */
            aload 8 /* actualParserConfiguration */
            invokeinterface freemarker.core.ParserConfiguration.getInterpolationSyntax:()I
            putfield freemarker.template.Template.interpolationSyntax:I
        18: .line 265
            aload 0 /* this */
            aload 9 /* parser */
            invokevirtual freemarker.core.FMParser._getLastNamingConvention:()I
            putfield freemarker.template.Template.actualNamingConvention:I
        end local 9 // freemarker.core.FMParser parser
        19: .line 266
            goto 28
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String java.io.Reader freemarker.template.Configuration freemarker.core.ParserConfiguration java.lang.String freemarker.template.Template$LineTableBuilder freemarker.core.ParserConfiguration
      StackMap stack: freemarker.core.TokenMgrError
        20: astore 9 /* exc */
        start local 9 // freemarker.core.TokenMgrError exc
        21: .line 269
            aload 9 /* exc */
            aload 0 /* this */
            invokevirtual freemarker.core.TokenMgrError.toParseException:(Lfreemarker/template/Template;)Lfreemarker/core/ParseException;
            athrow
        end local 9 // freemarker.core.TokenMgrError exc
        end local 8 // freemarker.core.ParserConfiguration actualParserConfiguration
        end local 7 // freemarker.template.Template$LineTableBuilder ltbReader
        22: .line 271
      StackMap locals: freemarker.template.Template java.lang.String java.lang.String java.io.Reader freemarker.template.Configuration freemarker.core.ParserConfiguration java.lang.String
      StackMap stack: freemarker.core.ParseException
            astore 8 /* e */
        start local 8 // freemarker.core.ParseException e
        23: .line 272
            aload 8 /* e */
            aload 0 /* this */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
            invokevirtual freemarker.core.ParseException.setTemplateName:(Ljava/lang/String;)V
        24: .line 273
            aload 8 /* e */
            athrow
        end local 8 // freemarker.core.ParseException e
        25: .line 274
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        26: .line 275
            aload 3 /* reader */
            invokevirtual java.io.Reader.close:()V
        27: .line 276
            aload 11
            athrow
        start local 7 // freemarker.template.Template$LineTableBuilder ltbReader
        28: .line 275
      StackMap locals: freemarker.template.Template$LineTableBuilder
      StackMap stack:
            aload 3 /* reader */
            invokevirtual java.io.Reader.close:()V
        29: .line 279
            aload 7 /* ltbReader */
            invokevirtual freemarker.template.Template$LineTableBuilder.throwFailure:()V
        30: .line 281
            aload 0 /* this */
            invokestatic freemarker.debug.impl.DebuggerService.registerTemplate:(Lfreemarker/template/Template;)V
        31: .line 282
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
        32: .line 283
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
        33: .line 284
            return
        end local 7 // freemarker.template.Template$LineTableBuilder ltbReader
        end local 6 // java.lang.String encoding
        end local 5 // freemarker.core.ParserConfiguration customParserConfiguration
        end local 4 // freemarker.template.Configuration cfg
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.String sourceName
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   34     0                       this  Lfreemarker/template/Template;
            0   34     1                       name  Ljava/lang/String;
            0   34     2                 sourceName  Ljava/lang/String;
            0   34     3                     reader  Ljava/io/Reader;
            0   34     4                        cfg  Lfreemarker/template/Configuration;
            0   34     5  customParserConfiguration  Lfreemarker/core/ParserConfiguration;
            0   34     6                   encoding  Ljava/lang/String;
            6   22     7                  ltbReader  Lfreemarker/template/Template$LineTableBuilder;
           28   34     7                  ltbReader  Lfreemarker/template/Template$LineTableBuilder;
            3   22     8  actualParserConfiguration  Lfreemarker/core/ParserConfiguration;
            8   19     9                     parser  Lfreemarker/core/FMParser;
           13   16    10                        exc  Ljava/lang/IndexOutOfBoundsException;
           21   22     9                        exc  Lfreemarker/core/TokenMgrError;
           23   25     8                          e  Lfreemarker/core/ParseException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.IndexOutOfBoundsException
           7    19      20  Class freemarker.core.TokenMgrError
           2    22      22  Class freemarker.core.ParseException
           2    25      25  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                           Name  Flags
      name                       
      sourceName                 
      reader                     
      cfg                        
      customParserConfiguration  
      encoding                   

  public void <init>(java.lang.String, java.io.Reader);
    descriptor: (Ljava/lang/String;Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // java.io.Reader reader
         0: .line 296
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* reader */
            aconst_null
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
         1: .line 297
            return
        end local 2 // java.io.Reader reader
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lfreemarker/template/Template;
            0    2     1    name  Ljava/lang/String;
            0    2     2  reader  Ljava/io/Reader;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      name    
      reader  

  void <init>(java.lang.String, freemarker.core.TemplateElement, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Lfreemarker/core/TemplateElement;Lfreemarker/template/Configuration;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String name
        start local 2 // freemarker.core.TemplateElement root
        start local 3 // freemarker.template.Configuration cfg
         0: .line 307
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aload 3 /* cfg */
            aconst_null
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;)V
         1: .line 308
            aload 0 /* this */
            aload 2 /* root */
            putfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
         2: .line 309
            aload 0 /* this */
            invokestatic freemarker.debug.impl.DebuggerService.registerTemplate:(Lfreemarker/template/Template;)V
         3: .line 310
            return
        end local 3 // freemarker.template.Configuration cfg
        end local 2 // freemarker.core.TemplateElement root
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Template;
            0    4     1  name  Ljava/lang/String;
            0    4     2  root  Lfreemarker/core/TemplateElement;
            0    4     3   cfg  Lfreemarker/template/Configuration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  
      root  
      cfg   

  public static freemarker.template.Template getPlainTextTemplate(java.lang.String, java.lang.String, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;)Lfreemarker/template/Template;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String content
        start local 2 // freemarker.template.Configuration config
         0: .line 317
            aload 0 /* name */
            aconst_null
            aload 1 /* content */
            aload 2 /* config */
            invokestatic freemarker.template.Template.getPlainTextTemplate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;)Lfreemarker/template/Template;
            areturn
        end local 2 // freemarker.template.Configuration config
        end local 1 // java.lang.String content
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     name  Ljava/lang/String;
            0    1     1  content  Ljava/lang/String;
            0    1     2   config  Lfreemarker/template/Configuration;
    MethodParameters:
         Name  Flags
      name     
      content  
      config   

  public static freemarker.template.Template getPlainTextTemplate(java.lang.String, java.lang.String, java.lang.String, freemarker.template.Configuration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;)Lfreemarker/template/Template;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // java.lang.String name
        start local 1 // java.lang.String sourceName
        start local 2 // java.lang.String content
        start local 3 // freemarker.template.Configuration config
         0: .line 337
            new freemarker.template.Template
            dup
            aload 0 /* name */
            aload 1 /* sourceName */
            new java.io.StringReader
            dup
            ldc "X"
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            aload 3 /* config */
            invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;)V
            astore 4 /* template */
        start local 4 // freemarker.template.Template template
         1: .line 338
            goto 4
        end local 4 // freemarker.template.Template template
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 5 /* e */
        start local 5 // java.io.IOException e
         3: .line 339
            new freemarker.core.BugException
            dup
            ldc "Plain text template creation failed"
            aload 5 /* e */
            invokespecial freemarker.core.BugException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        start local 4 // freemarker.template.Template template
         4: .line 341
      StackMap locals: freemarker.template.Template
      StackMap stack:
            aload 4 /* template */
            getfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
            checkcast freemarker.core.TextBlock
            aload 2 /* content */
            invokestatic freemarker.core._CoreAPI.replaceText:(Lfreemarker/core/TextBlock;Ljava/lang/String;)V
         5: .line 342
            aload 4 /* template */
            invokestatic freemarker.debug.impl.DebuggerService.registerTemplate:(Lfreemarker/template/Template;)V
         6: .line 343
            aload 4 /* template */
            areturn
        end local 4 // freemarker.template.Template template
        end local 3 // freemarker.template.Configuration config
        end local 2 // java.lang.String content
        end local 1 // java.lang.String sourceName
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        name  Ljava/lang/String;
            0    7     1  sourceName  Ljava/lang/String;
            0    7     2     content  Ljava/lang/String;
            0    7     3      config  Lfreemarker/template/Configuration;
            1    2     4    template  Lfreemarker/template/Template;
            4    7     4    template  Lfreemarker/template/Template;
            3    4     5           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      sourceName  
      content     
      config      

  private static freemarker.template.Version normalizeTemplateLanguageVersion(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/Version;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 347
            aload 0 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.checkVersionNotNullAndSupported:(Lfreemarker/template/Version;)V
         1: .line 348
            aload 0 /* incompatibleImprovements */
            invokevirtual freemarker.template.Version.intValue:()I
            istore 1 /* v */
        start local 1 // int v
         2: .line 349
            iload 1 /* v */
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_19:I
            if_icmpge 4
         3: .line 350
            getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
            areturn
         4: .line 351
      StackMap locals: int
      StackMap stack:
            iload 1 /* v */
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_21:I
            if_icmple 6
         5: .line 352
            getstatic freemarker.template.Configuration.VERSION_2_3_21:Lfreemarker/template/Version;
            areturn
         6: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* incompatibleImprovements */
            areturn
        end local 1 // int v
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0  incompatibleImprovements  Lfreemarker/template/Version;
            2    7     1                         v  I
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  public void process(java.lang.Object, java.io.Writer);
    descriptor: (Ljava/lang/Object;Ljava/io/Writer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object dataModel
        start local 2 // java.io.Writer out
         0: .line 384
            aload 0 /* this */
            aload 1 /* dataModel */
            aload 2 /* out */
            aconst_null
            invokevirtual freemarker.template.Template.createProcessingEnvironment:(Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)Lfreemarker/core/Environment;
            invokevirtual freemarker.core.Environment.process:()V
         1: .line 385
            return
        end local 2 // java.io.Writer out
        end local 1 // java.lang.Object dataModel
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lfreemarker/template/Template;
            0    2     1  dataModel  Ljava/lang/Object;
            0    2     2        out  Ljava/io/Writer;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
           Name  Flags
      dataModel  
      out        

  public void process(java.lang.Object, java.io.Writer, freemarker.template.ObjectWrapper, freemarker.template.TemplateNodeModel);
    descriptor: (Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;Lfreemarker/template/TemplateNodeModel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object dataModel
        start local 2 // java.io.Writer out
        start local 3 // freemarker.template.ObjectWrapper wrapper
        start local 4 // freemarker.template.TemplateNodeModel rootNode
         0: .line 400
            aload 0 /* this */
            aload 1 /* dataModel */
            aload 2 /* out */
            aload 3 /* wrapper */
            invokevirtual freemarker.template.Template.createProcessingEnvironment:(Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)Lfreemarker/core/Environment;
            astore 5 /* env */
        start local 5 // freemarker.core.Environment env
         1: .line 401
            aload 4 /* rootNode */
            ifnull 3
         2: .line 402
            aload 5 /* env */
            aload 4 /* rootNode */
            invokevirtual freemarker.core.Environment.setCurrentVisitorNode:(Lfreemarker/template/TemplateNodeModel;)V
         3: .line 404
      StackMap locals: freemarker.core.Environment
      StackMap stack:
            aload 5 /* env */
            invokevirtual freemarker.core.Environment.process:()V
         4: .line 405
            return
        end local 5 // freemarker.core.Environment env
        end local 4 // freemarker.template.TemplateNodeModel rootNode
        end local 3 // freemarker.template.ObjectWrapper wrapper
        end local 2 // java.io.Writer out
        end local 1 // java.lang.Object dataModel
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lfreemarker/template/Template;
            0    5     1  dataModel  Ljava/lang/Object;
            0    5     2        out  Ljava/io/Writer;
            0    5     3    wrapper  Lfreemarker/template/ObjectWrapper;
            0    5     4   rootNode  Lfreemarker/template/TemplateNodeModel;
            1    5     5        env  Lfreemarker/core/Environment;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
           Name  Flags
      dataModel  
      out        
      wrapper    
      rootNode   

  public void process(java.lang.Object, java.io.Writer, freemarker.template.ObjectWrapper);
    descriptor: (Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object dataModel
        start local 2 // java.io.Writer out
        start local 3 // freemarker.template.ObjectWrapper wrapper
         0: .line 415
            aload 0 /* this */
            aload 1 /* dataModel */
            aload 2 /* out */
            aload 3 /* wrapper */
            invokevirtual freemarker.template.Template.createProcessingEnvironment:(Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)Lfreemarker/core/Environment;
            invokevirtual freemarker.core.Environment.process:()V
         1: .line 416
            return
        end local 3 // freemarker.template.ObjectWrapper wrapper
        end local 2 // java.io.Writer out
        end local 1 // java.lang.Object dataModel
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lfreemarker/template/Template;
            0    2     1  dataModel  Ljava/lang/Object;
            0    2     2        out  Ljava/io/Writer;
            0    2     3    wrapper  Lfreemarker/template/ObjectWrapper;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
           Name  Flags
      dataModel  
      out        
      wrapper    

  public freemarker.core.Environment createProcessingEnvironment(java.lang.Object, java.io.Writer, freemarker.template.ObjectWrapper);
    descriptor: (Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)Lfreemarker/core/Environment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object dataModel
        start local 2 // java.io.Writer out
        start local 3 // freemarker.template.ObjectWrapper wrapper
         0: .line 467
            aload 1 /* dataModel */
            instanceof freemarker.template.TemplateHashModel
            ifeq 3
         1: .line 468
            aload 1 /* dataModel */
            checkcast freemarker.template.TemplateHashModel
            astore 4 /* dataModelHash */
        start local 4 // freemarker.template.TemplateHashModel dataModelHash
         2: .line 469
            goto 23
        end local 4 // freemarker.template.TemplateHashModel dataModelHash
         3: .line 470
      StackMap locals:
      StackMap stack:
            aload 3 /* wrapper */
            ifnonnull 5
         4: .line 471
            aload 0 /* this */
            invokevirtual freemarker.template.Template.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            astore 3 /* wrapper */
         5: .line 474
      StackMap locals:
      StackMap stack:
            aload 1 /* dataModel */
            ifnonnull 8
         6: .line 475
            new freemarker.template.SimpleHash
            dup
            aload 3 /* wrapper */
            invokespecial freemarker.template.SimpleHash.<init>:(Lfreemarker/template/ObjectWrapper;)V
            astore 4 /* dataModelHash */
        start local 4 // freemarker.template.TemplateHashModel dataModelHash
         7: .line 476
            goto 23
        end local 4 // freemarker.template.TemplateHashModel dataModelHash
         8: .line 477
      StackMap locals:
      StackMap stack:
            aload 3 /* wrapper */
            aload 1 /* dataModel */
            invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            astore 5 /* wrappedDataModel */
        start local 5 // freemarker.template.TemplateModel wrappedDataModel
         9: .line 478
            aload 5 /* wrappedDataModel */
            instanceof freemarker.template.TemplateHashModel
            ifeq 12
        10: .line 479
            aload 5 /* wrappedDataModel */
            checkcast freemarker.template.TemplateHashModel
            astore 4 /* dataModelHash */
        start local 4 // freemarker.template.TemplateHashModel dataModelHash
        11: .line 480
            goto 23
        end local 4 // freemarker.template.TemplateHashModel dataModelHash
      StackMap locals: freemarker.template.Template java.lang.Object java.io.Writer freemarker.template.ObjectWrapper top freemarker.template.TemplateModel
      StackMap stack:
        12: aload 5 /* wrappedDataModel */
            ifnonnull 16
        13: .line 481
            new java.lang.IllegalArgumentException
            dup
        14: .line 482
            new java.lang.StringBuilder
            dup
            aload 3 /* wrapper */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " converted "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dataModel */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to null."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 481
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 484
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        17: .line 485
            new java.lang.StringBuilder
            dup
            aload 3 /* wrapper */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " didn't convert "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dataModel */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 486
            ldc " to a TemplateHashModel. Generally, you want to use a Map<String, Object> or a "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 487
            ldc "JavaBean as the root-map (aka. data-model) parameter. The Map key-s or JavaBean "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 488
            ldc "property names will be the variable names in the template."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 485
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 484
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // freemarker.template.TemplateModel wrappedDataModel
        start local 4 // freemarker.template.TemplateHashModel dataModelHash
        23: .line 492
      StackMap locals: freemarker.template.Template java.lang.Object java.io.Writer freemarker.template.ObjectWrapper freemarker.template.TemplateHashModel
      StackMap stack:
            new freemarker.core.Environment
            dup
            aload 0 /* this */
            aload 4 /* dataModelHash */
            aload 2 /* out */
            invokespecial freemarker.core.Environment.<init>:(Lfreemarker/template/Template;Lfreemarker/template/TemplateHashModel;Ljava/io/Writer;)V
            areturn
        end local 4 // freemarker.template.TemplateHashModel dataModelHash
        end local 3 // freemarker.template.ObjectWrapper wrapper
        end local 2 // java.io.Writer out
        end local 1 // java.lang.Object dataModel
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0              this  Lfreemarker/template/Template;
            0   24     1         dataModel  Ljava/lang/Object;
            0   24     2               out  Ljava/io/Writer;
            0   24     3           wrapper  Lfreemarker/template/ObjectWrapper;
            2    3     4     dataModelHash  Lfreemarker/template/TemplateHashModel;
            7    8     4     dataModelHash  Lfreemarker/template/TemplateHashModel;
           11   12     4     dataModelHash  Lfreemarker/template/TemplateHashModel;
           23   24     4     dataModelHash  Lfreemarker/template/TemplateHashModel;
            9   23     5  wrappedDataModel  Lfreemarker/template/TemplateModel;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
           Name  Flags
      dataModel  
      out        
      wrapper    

  public freemarker.core.Environment createProcessingEnvironment(java.lang.Object, java.io.Writer);
    descriptor: (Ljava/lang/Object;Ljava/io/Writer;)Lfreemarker/core/Environment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object dataModel
        start local 2 // java.io.Writer out
         0: .line 501
            aload 0 /* this */
            aload 1 /* dataModel */
            aload 2 /* out */
            aconst_null
            invokevirtual freemarker.template.Template.createProcessingEnvironment:(Ljava/lang/Object;Ljava/io/Writer;Lfreemarker/template/ObjectWrapper;)Lfreemarker/core/Environment;
            areturn
        end local 2 // java.io.Writer out
        end local 1 // java.lang.Object dataModel
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lfreemarker/template/Template;
            0    1     1  dataModel  Ljava/lang/Object;
            0    1     2        out  Ljava/io/Writer;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
           Name  Flags
      dataModel  
      out        

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 510
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* sw */
        start local 1 // java.io.StringWriter sw
         1: .line 512
            aload 0 /* this */
            aload 1 /* sw */
            invokevirtual freemarker.template.Template.dump:(Ljava/io/Writer;)V
         2: .line 513
            goto 5
      StackMap locals: freemarker.template.Template java.io.StringWriter
      StackMap stack: java.io.IOException
         3: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         4: .line 514
            new java.lang.RuntimeException
            dup
            aload 2 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException ioe
         5: .line 516
      StackMap locals:
      StackMap stack:
            aload 1 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.io.StringWriter sw
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/template/Template;
            1    6     1    sw  Ljava/io/StringWriter;
            4    5     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 548
            aload 0 /* this */
            getfield freemarker.template.Template.name:Ljava/lang/String;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public java.lang.String getSourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 565
            aload 0 /* this */
            getfield freemarker.template.Template.sourceName:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.template.Template.sourceName:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Template;

  public freemarker.template.Configuration getConfiguration();
    descriptor: ()Lfreemarker/template/Configuration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 572
            aload 0 /* this */
            invokevirtual freemarker.template.Template.getParent:()Lfreemarker/core/Configurable;
            checkcast freemarker.template.Configuration
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public freemarker.core.ParserConfiguration getParserConfiguration();
    descriptor: ()Lfreemarker/core/ParserConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 583
            aload 0 /* this */
            getfield freemarker.template.Template.parserConfiguration:Lfreemarker/core/ParserConfiguration;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  freemarker.template.Version getTemplateLanguageVersion();
    descriptor: ()Lfreemarker/template/Version;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 592
            aload 0 /* this */
            getfield freemarker.template.Template.templateLanguageVersion:Lfreemarker/template/Version;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public void setEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String encoding
         0: .line 605
            aload 0 /* this */
            aload 1 /* encoding */
            putfield freemarker.template.Template.encoding:Ljava/lang/String;
         1: .line 606
            return
        end local 1 // java.lang.String encoding
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Template;
            0    2     1  encoding  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      encoding  

  public java.lang.String getEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 614
            aload 0 /* this */
            getfield freemarker.template.Template.encoding:Ljava/lang/String;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public java.lang.Object getCustomLookupCondition();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 625
            aload 0 /* this */
            getfield freemarker.template.Template.customLookupCondition:Ljava/lang/Object;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public void setCustomLookupCondition(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.Object customLookupCondition
         0: .line 637
            aload 0 /* this */
            aload 1 /* customLookupCondition */
            putfield freemarker.template.Template.customLookupCondition:Ljava/lang/Object;
         1: .line 638
            return
        end local 1 // java.lang.Object customLookupCondition
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lfreemarker/template/Template;
            0    2     1  customLookupCondition  Ljava/lang/Object;
    MethodParameters:
                       Name  Flags
      customLookupCondition  

  public int getActualTagSyntax();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 652
            aload 0 /* this */
            getfield freemarker.template.Template.actualTagSyntax:I
            ireturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public int getInterpolationSyntax();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 668
            aload 0 /* this */
            getfield freemarker.template.Template.interpolationSyntax:I
            ireturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public int getActualNamingConvention();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 683
            aload 0 /* this */
            getfield freemarker.template.Template.actualNamingConvention:I
            ireturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public freemarker.core.OutputFormat getOutputFormat();
    descriptor: ()Lfreemarker/core/OutputFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 696
            aload 0 /* this */
            getfield freemarker.template.Template.outputFormat:Lfreemarker/core/OutputFormat;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  void setOutputFormat(freemarker.core.OutputFormat);
    descriptor: (Lfreemarker/core/OutputFormat;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // freemarker.core.OutputFormat outputFormat
         0: .line 703
            aload 0 /* this */
            aload 1 /* outputFormat */
            putfield freemarker.template.Template.outputFormat:Lfreemarker/core/OutputFormat;
         1: .line 704
            return
        end local 1 // freemarker.core.OutputFormat outputFormat
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/template/Template;
            0    2     1  outputFormat  Lfreemarker/core/OutputFormat;
    MethodParameters:
              Name  Flags
      outputFormat  

  public boolean getAutoEscaping();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 716
            aload 0 /* this */
            getfield freemarker.template.Template.autoEscaping:Z
            ireturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  void setAutoEscaping(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // boolean autoEscaping
         0: .line 723
            aload 0 /* this */
            iload 1 /* autoEscaping */
            putfield freemarker.template.Template.autoEscaping:Z
         1: .line 724
            return
        end local 1 // boolean autoEscaping
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/template/Template;
            0    2     1  autoEscaping  Z
    MethodParameters:
              Name  Flags
      autoEscaping  

  public void dump(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.io.PrintStream ps
         0: .line 730
            aload 1 /* ps */
            aload 0 /* this */
            getfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
            invokevirtual freemarker.core.TemplateElement.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 731
            return
        end local 1 // java.io.PrintStream ps
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Template;
            0    2     1    ps  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      ps    

  public void dump(java.io.Writer);
    descriptor: (Ljava/io/Writer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.io.Writer out
         0: .line 737
            aload 1 /* out */
            aload 0 /* this */
            getfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
            invokevirtual freemarker.core.TemplateElement.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         1: .line 738
            return
        end local 1 // java.io.Writer out
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Template;
            0    2     1   out  Ljava/io/Writer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public void addMacro(freemarker.core.Macro);
    descriptor: (Lfreemarker/core/Macro;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // freemarker.core.Macro macro
         0: .line 747
            aload 0 /* this */
            getfield freemarker.template.Template.macros:Ljava/util/Map;
            aload 1 /* macro */
            invokevirtual freemarker.core.Macro.getName:()Ljava/lang/String;
            aload 1 /* macro */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 748
            return
        end local 1 // freemarker.core.Macro macro
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lfreemarker/template/Template;
            0    2     1  macro  Lfreemarker/core/Macro;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      macro  

  public void addImport(freemarker.core.LibraryLoad);
    descriptor: (Lfreemarker/core/LibraryLoad;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // freemarker.core.LibraryLoad ll
         0: .line 757
            aload 0 /* this */
            getfield freemarker.template.Template.imports:Ljava/util/List;
            aload 1 /* ll */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 758
            return
        end local 1 // freemarker.core.LibraryLoad ll
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Template;
            0    2     1    ll  Lfreemarker/core/LibraryLoad;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      ll    

  public java.lang.String getSource(int, int, int, int);
    descriptor: (IIII)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // freemarker.template.Template this
        start local 1 // int beginColumn
        start local 2 // int beginLine
        start local 3 // int endColumn
        start local 4 // int endLine
         0: .line 778
            iload 2 /* beginLine */
            iconst_1
            if_icmplt 1
            iload 4 /* endLine */
            iconst_1
            if_icmpge 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
            areturn
         2: .line 781
      StackMap locals:
      StackMap stack:
            iinc 2 /* beginLine */ -1
         3: .line 782
            iinc 1 /* beginColumn */ -1
         4: .line 783
            iinc 3 /* endColumn */ -1
         5: .line 784
            iinc 4 /* endLine */ -1
         6: .line 785
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* buf */
        start local 5 // java.lang.StringBuilder buf
         7: .line 786
            iload 2 /* beginLine */
            istore 6 /* i */
        start local 6 // int i
         8: goto 12
         9: .line 787
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 6 /* i */
            aload 0 /* this */
            getfield freemarker.template.Template.lines:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 11
        10: .line 788
            aload 5 /* buf */
            aload 0 /* this */
            getfield freemarker.template.Template.lines:Ljava/util/ArrayList;
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        11: .line 786
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 4 /* endLine */
            if_icmple 9
        end local 6 // int i
        13: .line 791
            aload 0 /* this */
            getfield freemarker.template.Template.lines:Ljava/util/ArrayList;
            iload 4 /* endLine */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 6 /* lastLineLength */
        start local 6 // int lastLineLength
        14: .line 792
            iload 6 /* lastLineLength */
            iload 3 /* endColumn */
            isub
            iconst_1
            isub
            istore 7 /* trailingCharsToDelete */
        start local 7 // int trailingCharsToDelete
        15: .line 793
            aload 5 /* buf */
            iconst_0
            iload 1 /* beginColumn */
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        16: .line 794
            aload 5 /* buf */
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 7 /* trailingCharsToDelete */
            isub
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        17: .line 795
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // int trailingCharsToDelete
        end local 6 // int lastLineLength
        end local 5 // java.lang.StringBuilder buf
        end local 4 // int endLine
        end local 3 // int endColumn
        end local 2 // int beginLine
        end local 1 // int beginColumn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lfreemarker/template/Template;
            0   18     1            beginColumn  I
            0   18     2              beginLine  I
            0   18     3              endColumn  I
            0   18     4                endLine  I
            7   18     5                    buf  Ljava/lang/StringBuilder;
            8   13     6                      i  I
           14   18     6         lastLineLength  I
           15   18     7  trailingCharsToDelete  I
    MethodParameters:
             Name  Flags
      beginColumn  
      beginLine    
      endColumn    
      endLine      

  public freemarker.core.TemplateElement getRootTreeNode();
    descriptor: ()Lfreemarker/core/TemplateElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 913
            aload 0 /* this */
            getfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.Map getMacros();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 921
            aload 0 /* this */
            getfield freemarker.template.Template.macros:Ljava/util/Map;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.List getImports();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 929
            aload 0 /* this */
            getfield freemarker.template.Template.imports:Ljava/util/List;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void addPrefixNSMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String nsURI
         0: .line 939
            aload 2 /* nsURI */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 940
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot map empty string URI"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 942
      StackMap locals:
      StackMap stack:
            aload 1 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 943
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot map empty string prefix"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 945
      StackMap locals:
      StackMap stack:
            aload 1 /* prefix */
            ldc "N"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 946
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The prefix: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be registered, it's reserved for special internal use."
            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
         6: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
            aload 1 /* prefix */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 949
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The prefix: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' was repeated. This is illegal."
            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
         8: .line 951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
            aload 2 /* nsURI */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 952
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The namespace URI: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* nsURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be mapped to 2 different prefixes."
            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
        10: .line 954
      StackMap locals:
      StackMap stack:
            aload 1 /* prefix */
            ldc "D"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 955
            aload 0 /* this */
            aload 2 /* nsURI */
            putfield freemarker.template.Template.defaultNS:Ljava/lang/String;
        12: .line 956
            goto 15
        13: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
            aload 1 /* prefix */
            aload 2 /* nsURI */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 958
            aload 0 /* this */
            getfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
            aload 2 /* nsURI */
            aload 1 /* prefix */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 960
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String nsURI
        end local 1 // java.lang.String prefix
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lfreemarker/template/Template;
            0   16     1  prefix  Ljava/lang/String;
            0   16     2   nsURI  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      prefix  
      nsURI   

  public java.lang.String getDefaultNS();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Template this
         0: .line 963
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            areturn
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Template;

  public java.lang.String getNamespaceForPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String prefix
         0: .line 970
            aload 1 /* prefix */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 971
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            ifnonnull 2
            ldc ""
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
         4: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.prefixToNamespaceURILookup:Ljava/util/Map;
            aload 1 /* prefix */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String prefix
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lfreemarker/template/Template;
            0    5     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public java.lang.String getPrefixForNamespace(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String nsURI
         0: .line 980
            aload 1 /* nsURI */
            ifnonnull 2
         1: .line 981
            aconst_null
            areturn
         2: .line 983
      StackMap locals:
      StackMap stack:
            aload 1 /* nsURI */
            invokevirtual java.lang.String.length:()I
            ifne 6
         3: .line 984
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            ifnonnull 4
            ldc ""
            goto 5
      StackMap locals:
      StackMap stack:
         4: ldc "N"
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
         6: .line 986
      StackMap locals:
      StackMap stack:
            aload 1 /* nsURI */
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 987
            ldc ""
            areturn
         8: .line 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.namespaceURIToPrefixLookup:Ljava/util/Map;
            aload 1 /* nsURI */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String nsURI
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lfreemarker/template/Template;
            0    9     1  nsURI  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      nsURI  

  public java.lang.String getPrefixedName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // java.lang.String localName
        start local 2 // java.lang.String nsURI
         0: .line 998
            aload 2 /* nsURI */
            ifnull 1
            aload 2 /* nsURI */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            ifnull 3
         2: .line 1000
            new java.lang.StringBuilder
            dup
            ldc "N:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* localName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 1002
      StackMap locals:
      StackMap stack:
            aload 1 /* localName */
            areturn
         4: .line 1005
      StackMap locals:
      StackMap stack:
            aload 2 /* nsURI */
            aload 0 /* this */
            getfield freemarker.template.Template.defaultNS:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1006
            aload 1 /* localName */
            areturn
         6: .line 1008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* nsURI */
            invokevirtual freemarker.template.Template.getPrefixForNamespace:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* prefix */
        start local 3 // java.lang.String prefix
         7: .line 1009
            aload 3 /* prefix */
            ifnonnull 9
         8: .line 1010
            aconst_null
            areturn
         9: .line 1012
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* localName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.String nsURI
        end local 1 // java.lang.String localName
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lfreemarker/template/Template;
            0   10     1  localName  Ljava/lang/String;
            0   10     2      nsURI  Ljava/lang/String;
            7   10     3     prefix  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      localName  
      nsURI      

  public javax.swing.tree.TreePath containingElements(int, int);
    descriptor: (II)Ljavax/swing/tree/TreePath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // freemarker.template.Template this
        start local 1 // int column
        start local 2 // int line
         0: .line 1021
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* elements */
        start local 3 // java.util.ArrayList elements
         1: .line 1022
            aload 0 /* this */
            getfield freemarker.template.Template.rootElement:Lfreemarker/core/TemplateElement;
            astore 4 /* element */
        start local 4 // freemarker.core.TemplateElement element
         2: .line 1023
            goto 12
         3: .line 1024
      StackMap locals: java.util.ArrayList freemarker.core.TemplateElement
      StackMap stack:
            aload 3 /* elements */
            aload 4 /* element */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1025
            aload 4 /* element */
            invokevirtual freemarker.core.TemplateElement.children:()Ljava/util/Enumeration;
            astore 5 /* enumeration */
        start local 5 // java.util.Enumeration enumeration
         5: goto 10
         6: .line 1026
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 5 /* enumeration */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast freemarker.core.TemplateElement
            astore 6 /* elem */
        start local 6 // freemarker.core.TemplateElement elem
         7: .line 1027
            aload 6 /* elem */
            iload 1 /* column */
            iload 2 /* line */
            invokevirtual freemarker.core.TemplateElement.contains:(II)Z
            ifeq 10
         8: .line 1028
            aload 6 /* elem */
            astore 4 /* element */
         9: .line 1029
            goto 12
        end local 6 // freemarker.core.TemplateElement elem
        10: .line 1025
      StackMap locals:
      StackMap stack:
            aload 5 /* enumeration */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        end local 5 // java.util.Enumeration enumeration
        11: .line 1032
            goto 13
        12: .line 1023
      StackMap locals:
      StackMap stack:
            aload 4 /* element */
            iload 1 /* column */
            iload 2 /* line */
            invokevirtual freemarker.core.TemplateElement.contains:(II)Z
            ifne 3
        13: .line 1034
      StackMap locals:
      StackMap stack:
            aload 3 /* elements */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 15
        14: .line 1035
            aconst_null
            areturn
        15: .line 1037
      StackMap locals:
      StackMap stack:
            new javax.swing.tree.TreePath
            dup
            aload 3 /* elements */
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            invokespecial javax.swing.tree.TreePath.<init>:([Ljava/lang/Object;)V
            areturn
        end local 4 // freemarker.core.TemplateElement element
        end local 3 // java.util.ArrayList elements
        end local 2 // int line
        end local 1 // int column
        end local 0 // freemarker.template.Template this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lfreemarker/template/Template;
            0   16     1       column  I
            0   16     2         line  I
            1   16     3     elements  Ljava/util/ArrayList;
            2   16     4      element  Lfreemarker/core/TemplateElement;
            5   11     5  enumeration  Ljava/util/Enumeration;
            7   10     6         elem  Lfreemarker/core/TemplateElement;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      column  
      line    
}
SourceFile: "Template.java"
NestMembers:
  freemarker.template.Template$LineTableBuilder  freemarker.template.Template$WrongEncodingException
InnerClasses:
  private LineTableBuilder = freemarker.template.Template$LineTableBuilder of freemarker.template.Template
  public WrongEncodingException = freemarker.template.Template$WrongEncodingException of freemarker.template.Template