namespace SabreTools.Models.Compression.LZX
{
///
/// The fields of a verbatim block that follow the generic block header
///
///
public class VerbatimBlockData : BlockData
{
///
/// Pretree for first 256 elements of main tree
///
/// 20 elements, 4 bits each
#if NET48
public byte[] PretreeFirst256 { get; set; }
#else
public byte[]? PretreeFirst256 { get; set; }
#endif
///
/// Path lengths of first 256 elements of main tree
///
/// Encoded using pretree
#if NET48
public int[] PathLengthsFirst256 { get; set; }
#else
public int[]? PathLengthsFirst256 { get; set; }
#endif
///
/// Pretree for remainder of main tree
///
/// 20 elements, 4 bits each
#if NET48
public byte[] PretreeRemainder { get; set; }
#else
public byte[]? PretreeRemainder { get; set; }
#endif
///
/// Path lengths of remaining elements of main tree
///
/// Encoded using pretree
#if NET48
public int[] PathLengthsRemainder { get; set; }
#else
public int[]? PathLengthsRemainder { get; set; }
#endif
///
/// Pretree for length tree
///
/// 20 elements, 4 bits each
#if NET48
public byte[] PretreeLengthTree { get; set; }
#else
public byte[]? PretreeLengthTree { get; set; }
#endif
///
/// Path lengths of elements in length tree
///
/// Encoded using pretree
#if NET48
public int[] PathLengthsLengthTree { get; set; }
#else
public int[]? PathLengthsLengthTree { get; set; }
#endif
///
/// Token sequence (matches and literals)
///
/// Variable
#if NET48
public byte[] TokenSequence { get; set; }
#else
public byte[]? TokenSequence { get; set; }
#endif
}
}