public abstract class org.apache.logging.log4j.core.layout.AbstractLayout<T extends java.io.Serializable> implements org.apache.logging.log4j.core.Layout<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.logging.log4j.core.layout.AbstractLayout
  super_class: java.lang.Object
{
  protected static final org.apache.logging.log4j.Logger LOGGER;
    descriptor: Lorg/apache/logging/log4j/Logger;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected final org.apache.logging.log4j.core.config.Configuration configuration;
    descriptor: Lorg/apache/logging/log4j/core/config/Configuration;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected long eventCount;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected final byte[] footer;
    descriptor: [B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final byte[] header;
    descriptor: [B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 92
            invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
            putstatic org.apache.logging.log4j.core.layout.AbstractLayout.LOGGER:Lorg/apache/logging/log4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(byte[], byte[]);
    descriptor: ([B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
        start local 1 // byte[] header
        start local 2 // byte[] footer
         0: .line 125
            aload 0 /* this */
            aconst_null
            aload 1 /* header */
            aload 2 /* footer */
            invokespecial org.apache.logging.log4j.core.layout.AbstractLayout.<init>:(Lorg/apache/logging/log4j/core/config/Configuration;[B[B)V
         1: .line 126
            return
        end local 2 // byte[] footer
        end local 1 // byte[] header
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;
            0    2     1  header  [B
            0    2     2  footer  [B
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      header  final
      footer  final

  public void <init>(org.apache.logging.log4j.core.config.Configuration, byte[], byte[]);
    descriptor: (Lorg/apache/logging/log4j/core/config/Configuration;[B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
        start local 1 // org.apache.logging.log4j.core.config.Configuration configuration
        start local 2 // byte[] header
        start local 3 // byte[] footer
         0: .line 139
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 140
            aload 0 /* this */
            aload 1 /* configuration */
            putfield org.apache.logging.log4j.core.layout.AbstractLayout.configuration:Lorg/apache/logging/log4j/core/config/Configuration;
         2: .line 141
            aload 0 /* this */
            aload 2 /* header */
            putfield org.apache.logging.log4j.core.layout.AbstractLayout.header:[B
         3: .line 142
            aload 0 /* this */
            aload 3 /* footer */
            putfield org.apache.logging.log4j.core.layout.AbstractLayout.footer:[B
         4: .line 143
            return
        end local 3 // byte[] footer
        end local 2 // byte[] header
        end local 1 // org.apache.logging.log4j.core.config.Configuration configuration
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;
            0    5     1  configuration  Lorg/apache/logging/log4j/core/config/Configuration;
            0    5     2         header  [B
            0    5     3         footer  [B
    MethodParameters:
               Name  Flags
      configuration  final
      header         final
      footer         final

  public org.apache.logging.log4j.core.config.Configuration getConfiguration();
    descriptor: ()Lorg/apache/logging/log4j/core/config/Configuration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
         0: .line 146
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.layout.AbstractLayout.configuration:Lorg/apache/logging/log4j/core/config/Configuration;
            areturn
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;

  public java.util.Map<java.lang.String, java.lang.String> getContentFormat();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
         0: .line 151
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            areturn
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public byte[] getFooter();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
         0: .line 161
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.layout.AbstractLayout.footer:[B
            areturn
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;

  public byte[] getHeader();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
         0: .line 171
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.layout.AbstractLayout.header:[B
            areturn
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;

  protected void markEvent();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
         0: .line 175
            aload 0 /* this */
            dup
            getfield org.apache.logging.log4j.core.layout.AbstractLayout.eventCount:J
            lconst_1
            ladd
            putfield org.apache.logging.log4j.core.layout.AbstractLayout.eventCount:J
         1: .line 176
            return
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;

  public void encode(org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
        start local 1 // org.apache.logging.log4j.core.LogEvent event
        start local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
         0: .line 210
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual org.apache.logging.log4j.core.layout.AbstractLayout.toByteArray:(Lorg/apache/logging/log4j/core/LogEvent;)[B
            astore 3 /* data */
        start local 3 // byte[] data
         1: .line 211
            aload 2 /* destination */
            aload 3 /* data */
            iconst_0
            aload 3 /* data */
            arraylength
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.writeBytes:([BII)V
         2: .line 212
            return
        end local 3 // byte[] data
        end local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 1 // org.apache.logging.log4j.core.LogEvent event
        end local 0 // org.apache.logging.log4j.core.layout.AbstractLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/apache/logging/log4j/core/layout/AbstractLayout<TT;>;
            0    3     1        event  Lorg/apache/logging/log4j/core/LogEvent;
            0    3     2  destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            1    3     3         data  [B
    MethodParameters:
             Name  Flags
      event        final
      destination  final

  public void encode(java.lang.Object, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Ljava/lang/Object;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.logging.log4j.core.LogEvent
            aload 2
            invokevirtual org.apache.logging.log4j.core.layout.AbstractLayout.encode:(Lorg/apache/logging/log4j/core/LogEvent;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T::Ljava/io/Serializable;>Ljava/lang/Object;Lorg/apache/logging/log4j/core/Layout<TT;>;
SourceFile: "AbstractLayout.java"
NestMembers:
  org.apache.logging.log4j.core.layout.AbstractLayout$Builder
InnerClasses:
  public abstract Builder = org.apache.logging.log4j.core.layout.AbstractLayout$Builder of org.apache.logging.log4j.core.layout.AbstractLayout