anchor.diff:      Result := ChangeFileExt(Result, ExtractFileExt(aSrc));
   end;
   
  +procedure AddUTF8BOMToFileStream(aFileStream: TFileStream);
  +begin
  +  aFileStream.Write(UTF8BOM[0],3);
  +end;
  +
   function IsRunningAsRoot: boolean;
   begin
   {$IFDEF WINDOWS}
  
positive.code:   {$ifdef windows}shlobj, registry, winutils,{$else}LazUTF8,{$endif}
    {$ifdef linux}initc, ctypes, BaseUnix,{$endif}
    mMathUtility;
  
  {$ifdef linux}
  function sysconf(i:cint):clong;cdecl;external name 'sysconf';
  
negative.code: // https://docs.microsoft.com/it-it/windows/desktop/FileIO/naming-a-file#basic_naming_conventions
  function SanitizeFileName(const aSrc: String) : String;
  
  function GetTimeStampForFileName(const aInstant : TDateTime; const aAddTime : boolean = true): string;
  
  // encode a file to base64
  procedure EncodeFileToBase64(const aFullPathInputFile: String; out aOutputData: String);
  procedure DecodeBase64ToFile(const aInputData : String; const aFullPathOutputFile: String);
  
  procedure AddUTF8BOMToFileStream (aFileStream : TFileStream);
  
  function IsRunningAsRoot : boolean;
  
  