accessing exportProfileImageOn: fileReference | file tempFile tempFileHash fileHash | file := fileReference asFileReference. file exists ifFalse: [ file ensureCreateFile. file binaryWriteStreamDo: [ :stream | stream nextPutAll: profileImageUrl retrieveContents ]. super class inform: 'Exported as: ', String cr, file fullName. ^ file] ifTrue: [ tempFile := FileLocator temp / fileReference basename. tempFile ensureCreateFile. tempFile binaryWriteStreamDo: [ :stream | stream nextPutAll: profileImageUrl asUrl retrieveContents. super class inform: 'Exported as: ', String cr, tempFile fullName. ]. OSSUnixSubprocess new command: 'openssl'; arguments: { 'dgst' . '-sha256' . file fullName}; workingDirectory: (self folder)fullName; redirectStdout; redirectStderr; runAndWaitOnExitDo: [ :process :outString | fileHash := (outString splitOn: ' ' ) second trimmed]. OSSUnixSubprocess new command: 'openssl'; arguments: { 'dgst' . '-sha256' . tempFile fullName}; workingDirectory: (self folder)fullName; redirectStdout; redirectStderr; runAndWaitOnExitDo: [ :process :outString | tempFileHash := (outString splitOn: ' ' ) second trimmed]. fileHash = tempFileHash ifFalse: [ file copyTo: self folder / (file basenameWithoutExtension , '-', ('-' join: ((file creationTime asLocalStringYMDHM) splitOn: ' ')), '.jpg'). file ensureDelete. ^ { 'Profile image changed' -> (tempFile moveTo: file)} asDictionary ]]. ^ { 'Same Profile Image' -> file } asDictionary