anchor.diff:  begin
     inherited;
     FContentTypesForExt := TDictionary<string, string>.Create;
  +  FMacros := TDictionary<string,TStringFunc>.Create;
     FIndexFileNames := TStringList.Create;
     FRootFolder := DefaultRootFolder;
     FEngineName := DefaultEngineName;
   
     InitExtDictionary;
     InitIndexFileNames;
  +  InitMacros;
   end;
   
   destructor TWiRLFileSystemEngine.Destroy;
   begin
     FContentTypesForExt.Free;
     FIndexFileNames.Free;
  +  FMacros.Free;
     inherited;
   end;
   
  
positive.code:   Result := Self;
  end;
  
  procedure TWiRLFileSystemEngine.Startup;
  begin
    inherited;
  
negative.code:     '  <p>{Detail}' + sLineBreak +
      '</html>';
  
  function RemoveTrailingDelim(const APath: string): string;
  begin
    if APath.EndsWith(PathDelim) then
      Result := APath.Substring(0, APath.Length - 1)
    else
      Result := APath;
  end;
  
  { TWiRLFileSystemEngine }
  
  procedure TWiRLFileSystemEngine.CheckRelativePath(const ARelativeURL: string);
  