class freemarker.core.HashLiteral$SequenceHash implements freemarker.template.TemplateHashModelEx2
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: freemarker.core.HashLiteral$SequenceHash
  super_class: java.lang.Object
{
  private java.util.HashMap map;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.TemplateCollectionModel keyCollection;
    descriptor: Lfreemarker/template/TemplateCollectionModel;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.TemplateCollectionModel valueCollection;
    descriptor: Lfreemarker/template/TemplateCollectionModel;
    flags: (0x0002) ACC_PRIVATE

  final freemarker.core.HashLiteral this$0;
    descriptor: Lfreemarker/core/HashLiteral;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(freemarker.core.HashLiteral, freemarker.core.Environment);
    descriptor: (Lfreemarker/core/HashLiteral;Lfreemarker/core/Environment;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
        start local 2 // freemarker.core.Environment env
         0: .line 113
            aload 0 /* this */
            aload 1
            putfield freemarker.core.HashLiteral$SequenceHash.this$0:Lfreemarker/core/HashLiteral;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 1
            invokestatic freemarker.template._TemplateAPI.getTemplateLanguageVersionAsInt:(Lfreemarker/core/TemplateObject;)I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_21:I
            if_icmplt 15
         2: .line 115
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
         3: .line 116
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 13
         5: .line 117
      StackMap locals: freemarker.core.HashLiteral$SequenceHash freemarker.core.HashLiteral freemarker.core.Environment int
      StackMap stack:
            aload 1
            getfield freemarker.core.HashLiteral.keys:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast freemarker.core.Expression
            astore 4 /* keyExp */
        start local 4 // freemarker.core.Expression keyExp
         6: .line 118
            aload 1
            getfield freemarker.core.HashLiteral.values:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast freemarker.core.Expression
            astore 5 /* valExp */
        start local 5 // freemarker.core.Expression valExp
         7: .line 119
            aload 4 /* keyExp */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.evalAndCoerceToPlainText:(Lfreemarker/core/Environment;)Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
         8: .line 120
            aload 5 /* valExp */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
            astore 7 /* value */
        start local 7 // freemarker.template.TemplateModel value
         9: .line 121
            aload 2 /* env */
            ifnull 10
            aload 2 /* env */
            invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
            ifne 11
        10: .line 122
      StackMap locals: freemarker.core.HashLiteral$SequenceHash freemarker.core.HashLiteral freemarker.core.Environment int freemarker.core.Expression freemarker.core.Expression java.lang.String freemarker.template.TemplateModel
      StackMap stack:
            aload 5 /* valExp */
            aload 7 /* value */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.assertNonNull:(Lfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)V
        11: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
            aload 6 /* key */
            aload 7 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // freemarker.template.TemplateModel value
        end local 6 // java.lang.String key
        end local 5 // freemarker.core.Expression valExp
        end local 4 // freemarker.core.Expression keyExp
        12: .line 116
            iinc 3 /* i */ 1
      StackMap locals: freemarker.core.HashLiteral$SequenceHash freemarker.core.HashLiteral freemarker.core.Environment int
      StackMap stack:
        13: iload 3 /* i */
            aload 1
            getfield freemarker.core.HashLiteral.size:I
            if_icmplt 5
        end local 3 // int i
        14: .line 126
            goto 33
        15: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
        16: .line 130
            new java.util.ArrayList
            dup
            aload 1
            getfield freemarker.core.HashLiteral.size:I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* keyList */
        start local 3 // java.util.ArrayList keyList
        17: .line 131
            new java.util.ArrayList
            dup
            aload 1
            getfield freemarker.core.HashLiteral.size:I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* valueList */
        start local 4 // java.util.ArrayList valueList
        18: .line 132
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        19: goto 30
        20: .line 133
      StackMap locals: java.util.ArrayList java.util.ArrayList int
      StackMap stack:
            aload 1
            getfield freemarker.core.HashLiteral.keys:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast freemarker.core.Expression
            astore 6 /* keyExp */
        start local 6 // freemarker.core.Expression keyExp
        21: .line 134
            aload 1
            getfield freemarker.core.HashLiteral.values:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast freemarker.core.Expression
            astore 7 /* valExp */
        start local 7 // freemarker.core.Expression valExp
        22: .line 135
            aload 6 /* keyExp */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.evalAndCoerceToPlainText:(Lfreemarker/core/Environment;)Ljava/lang/String;
            astore 8 /* key */
        start local 8 // java.lang.String key
        23: .line 136
            aload 7 /* valExp */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
            astore 9 /* value */
        start local 9 // freemarker.template.TemplateModel value
        24: .line 137
            aload 2 /* env */
            ifnull 25
            aload 2 /* env */
            invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
            ifne 26
        25: .line 138
      StackMap locals: freemarker.core.HashLiteral$SequenceHash freemarker.core.HashLiteral freemarker.core.Environment java.util.ArrayList java.util.ArrayList int freemarker.core.Expression freemarker.core.Expression java.lang.String freemarker.template.TemplateModel
      StackMap stack:
            aload 7 /* valExp */
            aload 9 /* value */
            aload 2 /* env */
            invokevirtual freemarker.core.Expression.assertNonNull:(Lfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)V
        26: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
            aload 8 /* key */
            aload 9 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 141
            aload 3 /* keyList */
            aload 8 /* key */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 142
            aload 4 /* valueList */
            aload 9 /* value */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // freemarker.template.TemplateModel value
        end local 8 // java.lang.String key
        end local 7 // freemarker.core.Expression valExp
        end local 6 // freemarker.core.Expression keyExp
        29: .line 132
            iinc 5 /* i */ 1
      StackMap locals: freemarker.core.HashLiteral$SequenceHash freemarker.core.HashLiteral freemarker.core.Environment java.util.ArrayList java.util.ArrayList int
      StackMap stack:
        30: iload 5 /* i */
            aload 1
            getfield freemarker.core.HashLiteral.size:I
            if_icmplt 20
        end local 5 // int i
        31: .line 144
            aload 0 /* this */
            new freemarker.core.CollectionAndSequence
            dup
            new freemarker.template.SimpleSequence
            dup
            aload 3 /* keyList */
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;)V
            invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
            putfield freemarker.core.HashLiteral$SequenceHash.keyCollection:Lfreemarker/template/TemplateCollectionModel;
        32: .line 145
            aload 0 /* this */
            new freemarker.core.CollectionAndSequence
            dup
            new freemarker.template.SimpleSequence
            dup
            aload 4 /* valueList */
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;)V
            invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
            putfield freemarker.core.HashLiteral$SequenceHash.valueCollection:Lfreemarker/template/TemplateCollectionModel;
        end local 4 // java.util.ArrayList valueList
        end local 3 // java.util.ArrayList keyList
        33: .line 147
      StackMap locals:
      StackMap stack:
            return
        end local 2 // freemarker.core.Environment env
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lfreemarker/core/HashLiteral$SequenceHash;
            0   34     2        env  Lfreemarker/core/Environment;
            4   14     3          i  I
            6   12     4     keyExp  Lfreemarker/core/Expression;
            7   12     5     valExp  Lfreemarker/core/Expression;
            8   12     6        key  Ljava/lang/String;
            9   12     7      value  Lfreemarker/template/TemplateModel;
           17   33     3    keyList  Ljava/util/ArrayList;
           18   33     4  valueList  Ljava/util/ArrayList;
           19   31     5          i  I
           21   29     6     keyExp  Lfreemarker/core/Expression;
           22   29     7     valExp  Lfreemarker/core/Expression;
           23   29     8        key  Ljava/lang/String;
           24   29     9      value  Lfreemarker/template/TemplateModel;
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
        Name  Flags
      this$0  final
      env     

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 150
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.this$0:Lfreemarker/core/HashLiteral;
            getfield freemarker.core.HashLiteral.size:I
            ireturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/HashLiteral$SequenceHash;

  public freemarker.template.TemplateCollectionModel keys();
    descriptor: ()Lfreemarker/template/TemplateCollectionModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 154
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.keyCollection:Lfreemarker/template/TemplateCollectionModel;
            ifnonnull 2
         1: .line 156
            aload 0 /* this */
            new freemarker.core.CollectionAndSequence
            dup
            new freemarker.template.SimpleSequence
            dup
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;)V
            invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
            putfield freemarker.core.HashLiteral$SequenceHash.keyCollection:Lfreemarker/template/TemplateCollectionModel;
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.keyCollection:Lfreemarker/template/TemplateCollectionModel;
            areturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/HashLiteral$SequenceHash;

  public freemarker.template.TemplateCollectionModel values();
    descriptor: ()Lfreemarker/template/TemplateCollectionModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 162
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.valueCollection:Lfreemarker/template/TemplateCollectionModel;
            ifnonnull 2
         1: .line 164
            aload 0 /* this */
            new freemarker.core.CollectionAndSequence
            dup
            new freemarker.template.SimpleSequence
            dup
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;)V
            invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
            putfield freemarker.core.HashLiteral$SequenceHash.valueCollection:Lfreemarker/template/TemplateCollectionModel;
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.valueCollection:Lfreemarker/template/TemplateCollectionModel;
            areturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/HashLiteral$SequenceHash;

  public freemarker.template.TemplateModel get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
        start local 1 // java.lang.String key
         0: .line 170
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.map:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.template.TemplateModel
            areturn
        end local 1 // java.lang.String key
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/HashLiteral$SequenceHash;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 174
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.this$0:Lfreemarker/core/HashLiteral;
            getfield freemarker.core.HashLiteral.size:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/HashLiteral$SequenceHash;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 179
            aload 0 /* this */
            getfield freemarker.core.HashLiteral$SequenceHash.this$0:Lfreemarker/core/HashLiteral;
            invokevirtual freemarker.core.HashLiteral.getCanonicalForm:()Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/HashLiteral$SequenceHash;

  public freemarker.template.TemplateHashModelEx2$KeyValuePairIterator keyValuePairIterator();
    descriptor: ()Lfreemarker/template/TemplateHashModelEx2$KeyValuePairIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.core.HashLiteral$SequenceHash this
         0: .line 183
            new freemarker.core.HashLiteral$SequenceHash$1
            dup
            aload 0 /* this */
            invokespecial freemarker.core.HashLiteral$SequenceHash$1.<init>:(Lfreemarker/core/HashLiteral$SequenceHash;)V
            areturn
        end local 0 // freemarker.core.HashLiteral$SequenceHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/HashLiteral$SequenceHash;
    Exceptions:
      throws freemarker.template.TemplateModelException
}
SourceFile: "HashLiteral.java"
NestHost: freemarker.core.HashLiteral
InnerClasses:
  private SequenceHash = freemarker.core.HashLiteral$SequenceHash of freemarker.core.HashLiteral
  freemarker.core.HashLiteral$SequenceHash$1
  public abstract KeyValuePairIterator = freemarker.template.TemplateHashModelEx2$KeyValuePairIterator of freemarker.template.TemplateHashModelEx2