         let blue = CIVector(x: 0.0, y: lightBlue, z: 0.0, w: 0.0)
         //let alpha = CIVector(x: 0.0, y: 1.0, z: 0.0, w: 0.0)
         print("light: \(lightRed), \(lightGreen), \(lightBlue)")
-
+        
         filter.setValue(ciImage, forKey: "inputImage")
         filter.setValue(red, forKey: "inputRedCoefficients")
         filter.setValue(green, forKey: "inputGreenCoefficients")

        //let token = self.binaryData.subdata(in: NSRange.init(location: self.pos, length: strlen))
        let token = self.binaryData.subdata(in: Range(self.pos..<self.pos+strlen))
        let str = NSString.init(data: token, encoding: encoding.rawValue)

        self.pos += length
        
        return str

        var chars = [UInt8](repeating: 0, count: length)
        //self.binaryData.copyBytes(to: &chars, range: NSRange.init(location: self.pos, length: length))
        self.binaryData.copyBytes(to: &chars, from: Range(self.pos..<self.pos+length))
        
        if encoding != String.Encoding.utf16LittleEndian {
            for index in 0..<length {
                if (chars[index] == 0) {
