import Foundation public class OpenSSHReader { var remaining: Data public init(data: Data) { remaining = Data(data) } public func readNextChunk() -> Data { let lengthRange = 0..<(UInt32.bitWidth/8) let lengthChunk = remaining[lengthRange] remaining.removeSubrange(lengthRange) let littleEndianLength = lengthChunk.withUnsafeBytes { pointer in return pointer.load(as: UInt32.self) } let length = Int(littleEndianLength.bigEndian) let dataRange = 0..