namespace SabreTools.Models.Compression.LZX { /// /// An aligned offset block is identical to the verbatim block except for the presence of the aligned offset /// tree preceding the other trees. /// /// public class AlignedOffsetBlockData : BlockData { /// /// Aligned offset tree /// /// 8 elements, 3 bits each public byte[]? AlignedOffsetTree { get; set; } /// /// Pretree for first 256 elements of main tree /// /// 20 elements, 4 bits each public byte[]? PretreeFirst256 { get; set; } /// /// Path lengths of first 256 elements of main tree /// /// Encoded using pretree public int[]? PathLengthsFirst256 { get; set; } /// /// Pretree for remainder of main tree /// /// 20 elements, 4 bits each public byte[]? PretreeRemainder { get; set; } /// /// Path lengths of remaining elements of main tree /// /// Encoded using pretree public int[]? PathLengthsRemainder { get; set; } /// /// Pretree for length tree /// /// 20 elements, 4 bits each public byte[]? PretreeLengthTree { get; set; } /// /// Path lengths of elements in length tree /// /// Encoded using pretree public int[]? PathLengthsLengthTree { get; set; } /// /// Token sequence (matches and literals) /// /// Variable public byte[]? TokenSequence { get; set; } } }