public class freemarker.template.TemplateException extends java.lang.Exception
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.TemplateException
  super_class: java.lang.Exception
{
  private static final java.lang.String FTL_INSTRUCTION_STACK_TRACE_TITLE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FTL stack trace (\"~\" means nesting-related):"

  private transient freemarker.core._ErrorDescriptionBuilder descriptionBuilder;
    descriptor: Lfreemarker/core/_ErrorDescriptionBuilder;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final transient freemarker.core.Environment env;
    descriptor: Lfreemarker/core/Environment;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient freemarker.core.Expression blamedExpression;
    descriptor: Lfreemarker/core/Expression;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient freemarker.core.TemplateElement[] ftlInstructionStackSnapshot;
    descriptor: [Lfreemarker/core/TemplateElement;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

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

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

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

  private transient java.lang.String messageWithoutStackTop;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String message;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

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

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

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

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

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

  private java.lang.Integer lineNumber;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Integer columnNumber;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Integer endLineNumber;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Integer endColumnNumber;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private transient java.lang.Object lock;
    descriptor: Ljava/lang/Object;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.ThreadLocal messageWasAlreadyPrintedForThisTrace;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // freemarker.core.Environment env
         0: .line 80
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 1 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Exception;Lfreemarker/core/Environment;)V
         1: .line 81
            return
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/TemplateException;
            0    2     1   env  Lfreemarker/core/Environment;
    MethodParameters:
      Name  Flags
      env   

  public void <init>(java.lang.String, freemarker.core.Environment);
    descriptor: (Ljava/lang/String;Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.core.Environment env
         0: .line 90
            aload 0 /* this */
            aload 1 /* description */
            aconst_null
            aload 2 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Exception;Lfreemarker/core/Environment;)V
         1: .line 91
            return
        end local 2 // freemarker.core.Environment env
        end local 1 // java.lang.String description
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/template/TemplateException;
            0    2     1  description  Ljava/lang/String;
            0    2     2          env  Lfreemarker/core/Environment;
    MethodParameters:
             Name  Flags
      description  
      env          

  public void <init>(java.lang.Exception, freemarker.core.Environment);
    descriptor: (Ljava/lang/Exception;Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.Exception cause
        start local 2 // freemarker.core.Environment env
         0: .line 98
            aload 0 /* this */
            aconst_null
            aload 1 /* cause */
            aload 2 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Exception;Lfreemarker/core/Environment;)V
         1: .line 99
            return
        end local 2 // freemarker.core.Environment env
        end local 1 // java.lang.Exception cause
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lfreemarker/template/TemplateException;
            0    2     1  cause  Ljava/lang/Exception;
            0    2     2    env  Lfreemarker/core/Environment;
    MethodParameters:
       Name  Flags
      cause  
      env    

  public void <init>(java.lang.Throwable, freemarker.core.Environment);
    descriptor: (Ljava/lang/Throwable;Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.Throwable cause
        start local 2 // freemarker.core.Environment env
         0: .line 111
            aload 0 /* this */
            aconst_null
            aload 1 /* cause */
            aload 2 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;)V
         1: .line 112
            return
        end local 2 // freemarker.core.Environment env
        end local 1 // java.lang.Throwable cause
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lfreemarker/template/TemplateException;
            0    2     1  cause  Ljava/lang/Throwable;
            0    2     2    env  Lfreemarker/core/Environment;
    MethodParameters:
       Name  Flags
      cause  
      env    

  public void <init>(java.lang.String, java.lang.Exception, freemarker.core.Environment);
    descriptor: (Ljava/lang/String;Ljava/lang/Exception;Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.String description
        start local 2 // java.lang.Exception cause
        start local 3 // freemarker.core.Environment env
         0: .line 119
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* cause */
            aload 3 /* env */
            aconst_null
            aconst_null
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/Expression;Lfreemarker/core/_ErrorDescriptionBuilder;)V
         1: .line 120
            return
        end local 3 // freemarker.core.Environment env
        end local 2 // java.lang.Exception cause
        end local 1 // java.lang.String description
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/template/TemplateException;
            0    2     1  description  Ljava/lang/String;
            0    2     2        cause  Ljava/lang/Exception;
            0    2     3          env  Lfreemarker/core/Environment;
    MethodParameters:
             Name  Flags
      description  
      cause        
      env          

  public void <init>(java.lang.String, java.lang.Throwable, freemarker.core.Environment);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.String description
        start local 2 // java.lang.Throwable cause
        start local 3 // freemarker.core.Environment env
         0: .line 133
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* cause */
            aload 3 /* env */
            aconst_null
            aconst_null
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/Expression;Lfreemarker/core/_ErrorDescriptionBuilder;)V
         1: .line 134
            return
        end local 3 // freemarker.core.Environment env
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.String description
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/template/TemplateException;
            0    2     1  description  Ljava/lang/String;
            0    2     2        cause  Ljava/lang/Throwable;
            0    2     3          env  Lfreemarker/core/Environment;
    MethodParameters:
             Name  Flags
      description  
      cause        
      env          

  protected void <init>(java.lang.Throwable, freemarker.core.Environment, freemarker.core.Expression, freemarker.core._ErrorDescriptionBuilder);
    descriptor: (Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/Expression;Lfreemarker/core/_ErrorDescriptionBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.Throwable cause
        start local 2 // freemarker.core.Environment env
        start local 3 // freemarker.core.Expression blamedExpr
        start local 4 // freemarker.core._ErrorDescriptionBuilder descriptionBuilder
         0: .line 145
            aload 0 /* this */
            aconst_null
            aload 1 /* cause */
            aload 2 /* env */
            aload 3 /* blamedExpr */
            aload 4 /* descriptionBuilder */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/Expression;Lfreemarker/core/_ErrorDescriptionBuilder;)V
         1: .line 146
            return
        end local 4 // freemarker.core._ErrorDescriptionBuilder descriptionBuilder
        end local 3 // freemarker.core.Expression blamedExpr
        end local 2 // freemarker.core.Environment env
        end local 1 // java.lang.Throwable cause
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lfreemarker/template/TemplateException;
            0    2     1               cause  Ljava/lang/Throwable;
            0    2     2                 env  Lfreemarker/core/Environment;
            0    2     3          blamedExpr  Lfreemarker/core/Expression;
            0    2     4  descriptionBuilder  Lfreemarker/core/_ErrorDescriptionBuilder;
    MethodParameters:
                    Name  Flags
      cause               
      env                 
      blamedExpr          
      descriptionBuilder  

  private void <init>(java.lang.String, java.lang.Throwable, freemarker.core.Environment, freemarker.core.Expression, freemarker.core._ErrorDescriptionBuilder);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/Expression;Lfreemarker/core/_ErrorDescriptionBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.lang.String renderedDescription
        start local 2 // java.lang.Throwable cause
        start local 3 // freemarker.core.Environment env
        start local 4 // freemarker.core.Expression blamedExpression
        start local 5 // freemarker.core._ErrorDescriptionBuilder descriptionBuilder
         0: .line 155
            aload 0 /* this */
            aload 2 /* cause */
            invokespecial java.lang.Exception.<init>:(Ljava/lang/Throwable;)V
         1: .line 72
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
         2: .line 157
            aload 3 /* env */
            ifnonnull 3
            invokestatic freemarker.core.Environment.getCurrentEnvironment:()Lfreemarker/core/Environment;
            astore 3 /* env */
         3: .line 158
      StackMap locals: freemarker.template.TemplateException java.lang.String java.lang.Throwable freemarker.core.Environment freemarker.core.Expression freemarker.core._ErrorDescriptionBuilder
      StackMap stack:
            aload 0 /* this */
            aload 3 /* env */
            putfield freemarker.template.TemplateException.env:Lfreemarker/core/Environment;
         4: .line 160
            aload 0 /* this */
            aload 4 /* blamedExpression */
            putfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
         5: .line 162
            aload 0 /* this */
            aload 5 /* descriptionBuilder */
            putfield freemarker.template.TemplateException.descriptionBuilder:Lfreemarker/core/_ErrorDescriptionBuilder;
         6: .line 163
            aload 0 /* this */
            aload 1 /* renderedDescription */
            putfield freemarker.template.TemplateException.description:Ljava/lang/String;
         7: .line 165
            aload 3 /* env */
            ifnull 8
            aload 0 /* this */
            aload 3 /* env */
            invokestatic freemarker.core._CoreAPI.getInstructionStackSnapshot:(Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
            putfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
         8: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 5 // freemarker.core._ErrorDescriptionBuilder descriptionBuilder
        end local 4 // freemarker.core.Expression blamedExpression
        end local 3 // freemarker.core.Environment env
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.String renderedDescription
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lfreemarker/template/TemplateException;
            0    9     1  renderedDescription  Ljava/lang/String;
            0    9     2                cause  Ljava/lang/Throwable;
            0    9     3                  env  Lfreemarker/core/Environment;
            0    9     4     blamedExpression  Lfreemarker/core/Expression;
            0    9     5   descriptionBuilder  Lfreemarker/core/_ErrorDescriptionBuilder;
    MethodParameters:
                     Name  Flags
      renderedDescription  
      cause                
      env                  
      blamedExpression     
      descriptionBuilder   

  private void renderMessages();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 169
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getDescription:()Ljava/lang/String;
            astore 1 /* description */
        start local 1 // java.lang.String description
         1: .line 171
            aload 1 /* description */
            ifnull 4
            aload 1 /* description */
            invokevirtual java.lang.String.length:()I
            ifeq 4
         2: .line 172
            aload 0 /* this */
            aload 1 /* description */
            putfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
         3: .line 173
            goto 10
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            ifnull 9
         5: .line 174
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "No error description was specified for this error; low-level message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 175
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            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 ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 174
            putfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
         8: .line 176
            goto 10
         9: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "[No error description was available.]"
            putfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
        10: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getFTLInstructionStackTopFew:()Ljava/lang/String;
            astore 2 /* stackTopFew */
        start local 2 // java.lang.String stackTopFew
        11: .line 181
            aload 2 /* stackTopFew */
            ifnull 20
        12: .line 182
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 183
            ldc "----"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 184
            ldc "FTL stack trace (\"~\" means nesting-related):"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 185
            aload 2 /* stackTopFew */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 186
            ldc "----"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 182
            putfield freemarker.template.TemplateException.message:Ljava/lang/String;
        18: .line 187
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.TemplateException.message:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
        19: .line 188
            goto 21
        20: .line 189
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
            putfield freemarker.template.TemplateException.message:Ljava/lang/String;
        21: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String stackTopFew
        end local 1 // java.lang.String description
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lfreemarker/template/TemplateException;
            1   22     1  description  Ljava/lang/String;
           11   22     2  stackTopFew  Ljava/lang/String;

  private void calculatePosition();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 194
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 195
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 22
         2: .line 197
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            ifnull 4
         3: .line 198
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            goto 7
         4: .line 200
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            ifnull 6
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            arraylength
            ifeq 6
         5: .line 201
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            iconst_0
            aaload
            goto 7
      StackMap locals:
      StackMap stack:
         6: aconst_null
         7: .line 197
      StackMap locals:
      StackMap stack: freemarker.core.TemplateObject
            astore 2 /* templateObject */
        start local 2 // freemarker.core.TemplateObject templateObject
         8: .line 203
            aload 2 /* templateObject */
            ifnull 20
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getBeginLine:()I
            ifle 20
         9: .line 204
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getTemplate:()Lfreemarker/template/Template;
            astore 3 /* template */
        start local 3 // freemarker.template.Template template
        10: .line 205
            aload 0 /* this */
            aload 3 /* template */
            ifnull 11
            aload 3 /* template */
            invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
            goto 12
      StackMap locals: freemarker.template.TemplateException java.lang.Object freemarker.core.TemplateObject freemarker.template.Template
      StackMap stack: freemarker.template.TemplateException
        11: aconst_null
      StackMap locals: freemarker.template.TemplateException java.lang.Object freemarker.core.TemplateObject freemarker.template.Template
      StackMap stack: freemarker.template.TemplateException java.lang.String
        12: putfield freemarker.template.TemplateException.templateName:Ljava/lang/String;
        13: .line 206
            aload 0 /* this */
            aload 3 /* template */
            ifnull 14
            aload 3 /* template */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
            goto 15
      StackMap locals:
      StackMap stack: freemarker.template.TemplateException
        14: aconst_null
      StackMap locals: freemarker.template.TemplateException java.lang.Object freemarker.core.TemplateObject freemarker.template.Template
      StackMap stack: freemarker.template.TemplateException java.lang.String
        15: putfield freemarker.template.TemplateException.templateSourceName:Ljava/lang/String;
        16: .line 207
            aload 0 /* this */
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getBeginLine:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.template.TemplateException.lineNumber:Ljava/lang/Integer;
        17: .line 208
            aload 0 /* this */
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getBeginColumn:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.template.TemplateException.columnNumber:Ljava/lang/Integer;
        18: .line 209
            aload 0 /* this */
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getEndLine:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.template.TemplateException.endLineNumber:Ljava/lang/Integer;
        19: .line 210
            aload 0 /* this */
            aload 2 /* templateObject */
            invokevirtual freemarker.core.TemplateObject.getEndColumn:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.template.TemplateException.endColumnNumber:Ljava/lang/Integer;
        end local 3 // freemarker.template.Template template
        20: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.TemplateException.positionsCalculated:Z
        21: .line 213
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.deleteFTLInstructionStackSnapshotIfNotNeeded:()V
        end local 2 // freemarker.core.TemplateObject templateObject
        22: .line 194
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        23: goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: aload 1
            monitorexit
        25: athrow
        26: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lfreemarker/template/TemplateException;
            8   22     2  templateObject  Lfreemarker/core/TemplateObject;
           10   20     3        template  Lfreemarker/template/Template;
      Exception table:
        from    to  target  type
           1    23      24  any
          24    25      24  any

  public java.lang.Exception getCauseException();
    descriptor: ()Ljava/lang/Exception;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 224
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.Exception
            ifeq 2
         1: .line 225
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            checkcast java.lang.Exception
            goto 3
         2: .line 226
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Wrapped to Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
         3: .line 224
      StackMap locals:
      StackMap stack: java.lang.Exception
            areturn
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/TemplateException;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String getFTLInstructionStack();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 233
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 234
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            ifnonnull 2
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
            ifnull 12
         2: .line 235
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
            ifnonnull 10
         3: .line 236
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* sw */
        start local 2 // java.io.StringWriter sw
         4: .line 237
            new java.io.PrintWriter
            dup
            aload 2 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         5: .line 238
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            iconst_0
            aload 3 /* pw */
            invokestatic freemarker.core._CoreAPI.outputInstructionStack:([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
         6: .line 239
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
         7: .line 240
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
            ifnonnull 10
         8: .line 241
            aload 0 /* this */
            aload 2 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            putfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
         9: .line 242
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.deleteFTLInstructionStackSnapshotIfNotNeeded:()V
        end local 3 // java.io.PrintWriter pw
        end local 2 // java.io.StringWriter sw
        10: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
            aload 1
            monitorexit
        11: areturn
        12: .line 247
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        13: aconst_null
            areturn
        14: .line 233
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        15: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lfreemarker/template/TemplateException;
            4   10     2    sw  Ljava/io/StringWriter;
            5   10     3    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           1    11      14  any
          12    13      14  any
          14    15      14  any

  private java.lang.String getFTLInstructionStackTopFew();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 253
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 254
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            ifnonnull 2
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            ifnull 18
         2: .line 255
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            ifnonnull 13
         3: .line 256
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            arraylength
            istore 2 /* stackSize */
        start local 2 // int stackSize
         4: .line 258
            iload 2 /* stackSize */
            ifne 7
         5: .line 259
            ldc ""
            astore 3 /* s */
        start local 3 // java.lang.String s
         6: .line 260
            goto 10
        end local 3 // java.lang.String s
         7: .line 261
      StackMap locals: int
      StackMap stack:
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 4 /* sw */
        start local 4 // java.io.StringWriter sw
         8: .line 262
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            iconst_1
            aload 4 /* sw */
            invokestatic freemarker.core._CoreAPI.outputInstructionStack:([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
         9: .line 263
            aload 4 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            astore 3 /* s */
        end local 4 // java.io.StringWriter sw
        start local 3 // java.lang.String s
        10: .line 265
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            ifnonnull 13
        11: .line 266
            aload 0 /* this */
            aload 3 /* s */
            putfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
        12: .line 267
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.deleteFTLInstructionStackSnapshotIfNotNeeded:()V
        end local 3 // java.lang.String s
        end local 2 // int stackSize
        13: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 15
        14: .line 271
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            goto 16
      StackMap locals:
      StackMap stack:
        15: aconst_null
        16: .line 270
      StackMap locals:
      StackMap stack: java.lang.String
            aload 1
            monitorexit
        17: areturn
        18: .line 273
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        19: aconst_null
            areturn
        20: .line 253
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        21: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lfreemarker/template/TemplateException;
            4   13     2  stackSize  I
            6    7     3          s  Ljava/lang/String;
           10   13     3          s  Ljava/lang/String;
            8   10     4         sw  Ljava/io/StringWriter;
      Exception table:
        from    to  target  type
           1    17      20  any
          18    19      20  any
          20    21      20  any

  private void deleteFTLInstructionStackSnapshotIfNotNeeded();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 279
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshot:Ljava/lang/String;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.template.TemplateException.renderedFtlInstructionStackSnapshotTop:Ljava/lang/String;
            ifnull 3
         1: .line 280
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 2
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            ifnull 3
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
         3: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/TemplateException;

  private java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 287
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 288
            aload 0 /* this */
            getfield freemarker.template.TemplateException.description:Ljava/lang/String;
            ifnonnull 8
            aload 0 /* this */
            getfield freemarker.template.TemplateException.descriptionBuilder:Lfreemarker/core/_ErrorDescriptionBuilder;
            ifnull 8
         2: .line 289
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.TemplateException.descriptionBuilder:Lfreemarker/core/_ErrorDescriptionBuilder;
         3: .line 290
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getFailingInstruction:()Lfreemarker/core/TemplateElement;
         4: .line 291
            aload 0 /* this */
            getfield freemarker.template.TemplateException.env:Lfreemarker/core/Environment;
            ifnull 5
            aload 0 /* this */
            getfield freemarker.template.TemplateException.env:Lfreemarker/core/Environment;
            invokevirtual freemarker.core.Environment.getShowErrorTips:()Z
            goto 6
      StackMap locals: freemarker.template.TemplateException java.lang.Object
      StackMap stack: freemarker.template.TemplateException freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement
         5: iconst_1
         6: .line 289
      StackMap locals: freemarker.template.TemplateException java.lang.Object
      StackMap stack: freemarker.template.TemplateException freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement int
            invokevirtual freemarker.core._ErrorDescriptionBuilder.toString:(Lfreemarker/core/TemplateElement;Z)Ljava/lang/String;
            putfield freemarker.template.TemplateException.description:Ljava/lang/String;
         7: .line 292
            aload 0 /* this */
            aconst_null
            putfield freemarker.template.TemplateException.descriptionBuilder:Lfreemarker/core/_ErrorDescriptionBuilder;
         8: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.description:Ljava/lang/String;
            aload 1
            monitorexit
         9: areturn
        10: .line 287
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        11: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any

  private freemarker.core.TemplateElement getFailingInstruction();
    descriptor: ()Lfreemarker/core/TemplateElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 299
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            arraylength
            ifle 2
         1: .line 300
            aload 0 /* this */
            getfield freemarker.template.TemplateException.ftlInstructionStackSnapshot:[Lfreemarker/core/TemplateElement;
            iconst_0
            aaload
            areturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/TemplateException;

  public freemarker.core.Environment getEnvironment();
    descriptor: ()Lfreemarker/core/Environment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 311
            aload 0 /* this */
            getfield freemarker.template.TemplateException.env:Lfreemarker/core/Environment;
            areturn
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/TemplateException;

  public void printStackTrace(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.PrintStream out
         0: .line 319
            aload 0 /* this */
            aload 1 /* out */
            iconst_1
            iconst_1
            iconst_1
            invokevirtual freemarker.template.TemplateException.printStackTrace:(Ljava/io/PrintStream;ZZZ)V
         1: .line 320
            return
        end local 1 // java.io.PrintStream out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/TemplateException;
            0    2     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   

  public void printStackTrace(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.PrintWriter out
         0: .line 327
            aload 0 /* this */
            aload 1 /* out */
            iconst_1
            iconst_1
            iconst_1
            invokevirtual freemarker.template.TemplateException.printStackTrace:(Ljava/io/PrintWriter;ZZZ)V
         1: .line 328
            return
        end local 1 // java.io.PrintWriter out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/TemplateException;
            0    2     1   out  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      out   

  public void printStackTrace(java.io.PrintWriter, boolean, boolean, boolean);
    descriptor: (Ljava/io/PrintWriter;ZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.PrintWriter out
        start local 2 // boolean heading
        start local 3 // boolean ftlStackTrace
        start local 4 // boolean javaStackTrace
         0: .line 338
            aload 1 /* out */
            dup
            astore 5
            monitorenter
         1: .line 339
            aload 0 /* this */
            new freemarker.template.TemplateException$PrintWriterStackTraceWriter
            dup
            aload 1 /* out */
            invokespecial freemarker.template.TemplateException$PrintWriterStackTraceWriter.<init>:(Ljava/io/PrintWriter;)V
            iload 2 /* heading */
            iload 3 /* ftlStackTrace */
            iload 4 /* javaStackTrace */
            invokevirtual freemarker.template.TemplateException.printStackTrace:(Lfreemarker/template/TemplateException$StackTraceWriter;ZZZ)V
         2: .line 338
            aload 5
            monitorexit
         3: goto 6
      StackMap locals: freemarker.template.TemplateException java.io.PrintWriter int int int java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: aload 5
            monitorexit
         5: athrow
         6: .line 341
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean javaStackTrace
        end local 3 // boolean ftlStackTrace
        end local 2 // boolean heading
        end local 1 // java.io.PrintWriter out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lfreemarker/template/TemplateException;
            0    7     1             out  Ljava/io/PrintWriter;
            0    7     2         heading  Z
            0    7     3   ftlStackTrace  Z
            0    7     4  javaStackTrace  Z
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
                Name  Flags
      out             
      heading         
      ftlStackTrace   
      javaStackTrace  

  public void printStackTrace(java.io.PrintStream, boolean, boolean, boolean);
    descriptor: (Ljava/io/PrintStream;ZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.PrintStream out
        start local 2 // boolean heading
        start local 3 // boolean ftlStackTrace
        start local 4 // boolean javaStackTrace
         0: .line 351
            aload 1 /* out */
            dup
            astore 5
            monitorenter
         1: .line 352
            aload 0 /* this */
            new freemarker.template.TemplateException$PrintStreamStackTraceWriter
            dup
            aload 1 /* out */
            invokespecial freemarker.template.TemplateException$PrintStreamStackTraceWriter.<init>:(Ljava/io/PrintStream;)V
            iload 2 /* heading */
            iload 3 /* ftlStackTrace */
            iload 4 /* javaStackTrace */
            invokevirtual freemarker.template.TemplateException.printStackTrace:(Lfreemarker/template/TemplateException$StackTraceWriter;ZZZ)V
         2: .line 351
            aload 5
            monitorexit
         3: goto 6
      StackMap locals: freemarker.template.TemplateException java.io.PrintStream int int int java.io.PrintStream
      StackMap stack: java.lang.Throwable
         4: aload 5
            monitorexit
         5: athrow
         6: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean javaStackTrace
        end local 3 // boolean ftlStackTrace
        end local 2 // boolean heading
        end local 1 // java.io.PrintStream out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lfreemarker/template/TemplateException;
            0    7     1             out  Ljava/io/PrintStream;
            0    7     2         heading  Z
            0    7     3   ftlStackTrace  Z
            0    7     4  javaStackTrace  Z
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
                Name  Flags
      out             
      heading         
      ftlStackTrace   
      javaStackTrace  

  private void printStackTrace(freemarker.template.TemplateException$StackTraceWriter, boolean, boolean, boolean);
    descriptor: (Lfreemarker/template/TemplateException$StackTraceWriter;ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // freemarker.template.TemplateException this
        start local 1 // freemarker.template.TemplateException$StackTraceWriter out
        start local 2 // boolean heading
        start local 3 // boolean ftlStackTrace
        start local 4 // boolean javaStackTrace
         0: .line 357
            aload 1 /* out */
            dup
            astore 5
            monitorenter
         1: .line 358
            iload 2 /* heading */
            ifeq 3
         2: .line 359
            aload 1 /* out */
            ldc "FreeMarker template error:"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
         3: .line 362
      StackMap locals: freemarker.template.TemplateException$StackTraceWriter
      StackMap stack:
            iload 3 /* ftlStackTrace */
            ifeq 15
         4: .line 363
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getFTLInstructionStack:()Ljava/lang/String;
            astore 6 /* stackTrace */
        start local 6 // java.lang.String stackTrace
         5: .line 364
            aload 6 /* stackTrace */
            ifnull 13
         6: .line 365
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getMessageWithoutStackTop:()Ljava/lang/String;
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
         7: .line 366
            aload 1 /* out */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:()V
         8: .line 367
            aload 1 /* out */
            ldc "----"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
         9: .line 368
            aload 1 /* out */
            ldc "FTL stack trace (\"~\" means nesting-related):"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
        10: .line 369
            aload 1 /* out */
            aload 6 /* stackTrace */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.print:(Ljava/lang/Object;)V
        11: .line 370
            aload 1 /* out */
            ldc "----"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
        12: .line 371
            goto 15
        13: .line 372
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 3 /* ftlStackTrace */
        14: .line 373
            iconst_1
            istore 4 /* javaStackTrace */
        end local 6 // java.lang.String stackTrace
        15: .line 377
      StackMap locals:
      StackMap stack:
            iload 4 /* javaStackTrace */
            ifeq 46
        16: .line 378
            iload 3 /* ftlStackTrace */
            ifeq 35
        17: .line 379
            aload 1 /* out */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:()V
        18: .line 380
            aload 1 /* out */
            ldc "Java stack trace (for programmers):"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
        19: .line 381
            aload 1 /* out */
            ldc "----"
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
        20: .line 382
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
        21: .line 383
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            ifnonnull 23
        22: .line 384
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
        23: .line 386
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        24: .line 382
            aload 6
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 6
            monitorexit
        27: athrow
        28: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.printStandardStackTrace:(Ljava/lang/Throwable;)V
        29: .line 391
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 6
        31: .line 392
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        32: .line 393
            aload 6
            athrow
        33: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        34: .line 394
            goto 36
        35: .line 395
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.printStandardStackTrace:(Ljava/lang/Throwable;)V
        36: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            ifnull 46
        37: .line 400
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 6 /* causeCause */
        start local 6 // java.lang.Throwable causeCause
        38: .line 401
            aload 6 /* causeCause */
            ifnonnull 46
        39: .line 404
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "getRootCause"
            getstatic freemarker.template.utility.CollectionUtils.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 7 /* m */
        start local 7 // java.lang.reflect.Method m
        40: .line 405
            aload 7 /* m */
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            getstatic freemarker.template.utility.CollectionUtils.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 8 /* rootCause */
        start local 8 // java.lang.Throwable rootCause
        41: .line 406
            aload 8 /* rootCause */
            ifnull 46
        42: .line 407
            aload 1 /* out */
            ldc "ServletException root cause: "
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.println:(Ljava/lang/Object;)V
        43: .line 408
            aload 1 /* out */
            aload 8 /* rootCause */
            invokeinterface freemarker.template.TemplateException$StackTraceWriter.printStandardStackTrace:(Ljava/lang/Throwable;)V
        end local 8 // java.lang.Throwable rootCause
        end local 7 // java.lang.reflect.Method m
        44: .line 410
            goto 46
      StackMap locals: freemarker.template.TemplateException freemarker.template.TemplateException$StackTraceWriter int int int freemarker.template.TemplateException$StackTraceWriter java.lang.Throwable
      StackMap stack: java.lang.Throwable
        45: pop
        end local 6 // java.lang.Throwable causeCause
        46: .line 357
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        47: goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: aload 5
            monitorexit
        49: athrow
        50: .line 417
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean javaStackTrace
        end local 3 // boolean ftlStackTrace
        end local 2 // boolean heading
        end local 1 // freemarker.template.TemplateException$StackTraceWriter out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   51     0            this  Lfreemarker/template/TemplateException;
            0   51     1             out  Lfreemarker/template/TemplateException$StackTraceWriter;
            0   51     2         heading  Z
            0   51     3   ftlStackTrace  Z
            0   51     4  javaStackTrace  Z
            5   15     6      stackTrace  Ljava/lang/String;
           38   46     6      causeCause  Ljava/lang/Throwable;
           40   44     7               m  Ljava/lang/reflect/Method;
           41   44     8       rootCause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          21    25      26  any
          26    27      26  any
          28    30      30  any
          39    44      45  Class java.lang.Throwable
           1    47      48  any
          48    49      48  any
    MethodParameters:
                Name  Flags
      out             
      heading         
      ftlStackTrace   
      javaStackTrace  

  public void printStandardStackTrace(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.TemplateException this
        start local 1 // java.io.PrintStream ps
         0: .line 424
            aload 0 /* this */
            aload 1 /* ps */
            invokespecial java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         1: .line 425
            return
        end local 1 // java.io.PrintStream ps
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/TemplateException;
            0    2     1    ps  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      ps    

  public void printStandardStackTrace(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.PrintWriter pw
         0: .line 432
            aload 0 /* this */
            aload 1 /* pw */
            invokespecial java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
         1: .line 433
            return
        end local 1 // java.io.PrintWriter pw
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/TemplateException;
            0    2     1    pw  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      pw    

  public java.lang.String getMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 437
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            ifnull 3
         1: .line 438
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWasAlreadyPrintedForThisTrace:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpne 3
         2: .line 439
            ldc "[... Exception message was already printed; see it above ...]"
            areturn
         3: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         4: .line 442
            aload 0 /* this */
            getfield freemarker.template.TemplateException.message:Ljava/lang/String;
            ifnonnull 5
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.renderMessages:()V
         5: .line 443
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.message:Ljava/lang/String;
            aload 1
            monitorexit
         6: areturn
         7: .line 441
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any

  public java.lang.String getMessageWithoutStackTop();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 454
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 455
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.renderMessages:()V
         2: .line 456
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.messageWithoutStackTop:Ljava/lang/String;
            aload 1
            monitorexit
         3: areturn
         4: .line 454
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public java.lang.Integer getLineNumber();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 466
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 467
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 468
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 470
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lineNumber:Ljava/lang/Integer;
            aload 1
            monitorexit
         4: areturn
         5: .line 466
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public java.lang.String getTemplateName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 486
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 487
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 488
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 490
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.templateName:Ljava/lang/String;
            aload 1
            monitorexit
         4: areturn
         5: .line 486
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String getTemplateSourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 501
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 502
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 503
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 505
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.templateSourceName:Ljava/lang/String;
            aload 1
            monitorexit
         4: areturn
         5: .line 501
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public java.lang.Integer getColumnNumber();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 515
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 516
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 517
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 519
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.columnNumber:Ljava/lang/Integer;
            aload 1
            monitorexit
         4: areturn
         5: .line 515
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public java.lang.Integer getEndLineNumber();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 530
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 531
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 532
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 534
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.endLineNumber:Ljava/lang/Integer;
            aload 1
            monitorexit
         4: areturn
         5: .line 530
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public java.lang.Integer getEndColumnNumber();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 545
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 546
            aload 0 /* this */
            getfield freemarker.template.TemplateException.positionsCalculated:Z
            ifne 3
         2: .line 547
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         3: .line 549
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.endColumnNumber:Ljava/lang/Integer;
            aload 1
            monitorexit
         4: areturn
         5: .line 545
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public java.lang.String getBlamedExpressionString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 562
            aload 0 /* this */
            getfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 563
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpressionStringCalculated:Z
            ifne 5
         2: .line 564
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            ifnull 4
         3: .line 565
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
            putfield freemarker.template.TemplateException.blamedExpressionString:Ljava/lang/String;
         4: .line 567
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.TemplateException.blamedExpressionStringCalculated:Z
         5: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpressionString:Ljava/lang/String;
            aload 1
            monitorexit
         6: areturn
         7: .line 562
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lfreemarker/template/TemplateException;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any

  freemarker.core.Expression getBlamedExpression();
    descriptor: ()Lfreemarker/core/Expression;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateException this
         0: .line 574
            aload 0 /* this */
            getfield freemarker.template.TemplateException.blamedExpression:Lfreemarker/core/Expression;
            areturn
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/TemplateException;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.ObjectOutputStream out
         0: .line 579
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getFTLInstructionStack:()Ljava/lang/String;
            pop
         1: .line 580
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getFTLInstructionStackTopFew:()Ljava/lang/String;
            pop
         2: .line 581
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getDescription:()Ljava/lang/String;
            pop
         3: .line 582
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.calculatePosition:()V
         4: .line 583
            aload 0 /* this */
            invokevirtual freemarker.template.TemplateException.getBlamedExpressionString:()Ljava/lang/String;
            pop
         5: .line 585
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         6: .line 586
            return
        end local 1 // java.io.ObjectOutputStream out
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/TemplateException;
            0    7     1   out  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      out   

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.template.TemplateException this
        start local 1 // java.io.ObjectInputStream in
         0: .line 589
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield freemarker.template.TemplateException.lock:Ljava/lang/Object;
         1: .line 590
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         2: .line 591
            return
        end local 1 // java.io.ObjectInputStream in
        end local 0 // freemarker.template.TemplateException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/TemplateException;
            0    3     1    in  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "TemplateException.java"
NestMembers:
  freemarker.template.TemplateException$PrintStreamStackTraceWriter  freemarker.template.TemplateException$PrintWriterStackTraceWriter  freemarker.template.TemplateException$StackTraceWriter
InnerClasses:
  private PrintStreamStackTraceWriter = freemarker.template.TemplateException$PrintStreamStackTraceWriter of freemarker.template.TemplateException
  private PrintWriterStackTraceWriter = freemarker.template.TemplateException$PrintWriterStackTraceWriter of freemarker.template.TemplateException
  private abstract StackTraceWriter = freemarker.template.TemplateException$StackTraceWriter of freemarker.template.TemplateException