anchor.diff:  
   { TCShake }
   
  -function TCShake.LeftEncode(AInput: UInt64): THashLibByteArray;
  +class function TCShake.LeftEncode(AInput: UInt64): THashLibByteArray;
   var
     LN: Byte;
     LV: UInt64;
  
positive.code:   else
    begin
      FHashMode := THashMode.hmCShake;
      // LeftEncode returns max 9 bytes
      FInitBlock := TArrayUtils.Concatenate(FInitBlock,
        LeftEncode(UInt64(System.Length(FN) * 8)));
  
      FInitBlock := TArrayUtils.Concatenate(FInitBlock, FN);
  
      FInitBlock := TArrayUtils.Concatenate(FInitBlock,
        LeftEncode(UInt64(System.Length(FS) * 8)));
  
      FInitBlock := TArrayUtils.Concatenate(FInitBlock, FS);
    end;
  end;
  
  
negative.code:   end;
  end;
  
  // class function TCShake.RightEncode(AInput: UInt64): THashLibByteArray;
  // var
  // LN: Byte;
  // LV: UInt64;
  // LIdx: Int32;
  // begin
  // LN := 1;
  // LV := AInput;
  // LV := LV shr 8;
  //
  // while (LV <> 0) do
  // begin
  // System.Inc(LN);
  // LV := LV shr 8;
  // end;
  //
  // System.SetLength(Result, LN + 1);
  // Result[LN] := LN;
  // for LIdx := 1 to LN do
  // begin
  // Result[LIdx - 1] := Byte(AInput shr (8 * (LN - LIdx)));
  // end;
  // end;
  
  class function TCShake.BytePad(const AInput: THashLibByteArray; AW: Int32)
    : THashLibByteArray;
  var
    LBuffer: THashLibByteArray;
    LPadLength: Int32;
  begin
    LBuffer := TArrayUtils.Concatenate(LeftEncode(UInt64(AW)), AInput);
    LPadLength := AW - (System.Length(LBuffer) mod AW);
    System.SetLength(Result, LPadLength);
    Result := TArrayUtils.Concatenate(LBuffer, Result);
  end;
  
  class function TCShake.EncodeString(const AInput: THashLibByteArray)
    : THashLibByteArray;
  begin
    if System.Length(AInput) = 0 then
    begin
      Result := LeftEncode(0);
      Exit;
    end;
    Result := TArrayUtils.Concatenate(LeftEncode(UInt64(System.Length(AInput) * 8)
      ), AInput);
  end;
  
  constructor TCShake.Create(AHashSize: THashSize; const N, S: THashLibByteArray);
  begin
    Inherited Create(AHashSize);
  