         }
         self.alignDecoder = LZMABitTreeDecoder(numBits: LZMAConstants.numAlignBits, &self.pointerData)
         self.posDecoders = Array(repeating: LZMAConstants.probInitValue,
-                                count: 1 + LZMAConstants.numFullDistances - LZMAConstants.endPosModelIndex)
+                                 count: 1 + LZMAConstants.numFullDistances - LZMAConstants.endPosModelIndex)
 
         // There are two types of matches so we need two decoders for them.
         self.lenDecoder = LZMALenDecoder(&self.pointerData)

            throw LZMA2Error.WrongReset
        }
        var uncompressedSize = unpackSize
        out = try decodeLZMA(&uncompressedSize)
        guard unpackSize == out.count && pointerData.index - dataStartIndex == compressedSize
            else { throw LZMA2Error.WrongSizes }
        return out
    }

    func decodeLZMA(_ uncompressedSize: inout Int) throws -> [UInt8] {
        // First, we need to initialize Rande Decoder.
        guard let rD = LZMARangeDecoder(&self.pointerData) else {
            throw LZMAError.RangeDecoderInitError
        }
        self.rangeDecoder = rD

        /// An array for storing output data
        var out: [UInt8] = []

        // Main decoding cycle.
        while true {

            if rangeDecoder.decode(bitWithProb: &probabilities[193 + state]) != 0 {
                // REP MATCH CASE
                if uncompressedSize == 0 { throw LZMAError.ExceededUncompressedSize }
                if dictEnd == 0 { throw LZMAError.WindowIsEmpty }
                if rangeDecoder.decode(bitWithProb: &probabilities[205 + state]) == 0 {
                    // (We use last distance from 'distance history table').
                    if rangeDecoder.decode(bitWithProb: &probabilities[241 + (state << LZMAConstants.numPosBitsMax) + posState]) == 0 {
                        // SHORT REP MATCH CASE
                        state = state < 7 ? 9 : 11
                        let byte = out[rep0 + 1 <= dictEnd ? dictEnd - rep0 - 1 : dictionarySize - rep0 - 1 + dictEnd]
                        out.append(byte)
                        uncompressedSize -= 1
                        dictEnd += 1
                        if dictEnd - dictStart == dictionarySize {
                            dictStart += 1
                        }
                        continue
                    }
                } else { // REP MATCH CASE
