anchor.diff:  
   function TSHA3.GetResult: THashLibByteArray;
   begin
  -  System.SetLength(Result, FHashSize);
  +  System.SetLength(Result, HashSize);
   
     TConverters.le64_copy(PUInt64(FState), 0, PByte(Result), 0,
       System.Length(Result));
  
positive.code:   LBlock := FBuffer.GetBytesZeroPadded();
  
    LBlock[LBufferPosition] := Int32(FHashMode);
    LBlock[FBlockSize - 1] := LBlock[FBlockSize - 1] xor $80;
  
    TransformBlock(PByte(LBlock), System.Length(LBlock), 0);
  end;
  
negative.code: 
    if FInitBlock <> Nil then
    begin
      TransformBytes(BytePad(FInitBlock, BlockSize));
    end;
  end;
  
  