anchor.diff:    FLock.Release;
   end;
   
  -function TPCSafeBox.LoadSafeBoxFromStream(Stream : TStream; checkAll : Boolean; checkSafeboxHash : TRawBytes; progressNotify : TProgressNotify; var LastReadBlock : TBlockAccount; var errors : AnsiString) : Boolean;
  +function TPCSafeBox.LoadSafeBoxFromStream(Stream : TStream; checkAll : Boolean; checkSafeboxHash : TRawBytes; progressNotify : TProgressNotify; previousCheckedSafebox : TPCSafebox; var LastReadBlock : TBlockAccount; var errors : AnsiString) : Boolean;
   Var
     iblock,iacc : Cardinal;
     s : AnsiString;
  
positive.code: var pn : TProgressNotify;
  begin
    pn := Nil;
    Result := LoadSafeBoxFromStream(Stream,checkAll,'',pn,LastReadBlock,errors);
  end;
  
  class function TPCSafeBox.LoadSafeBoxStreamHeader(Stream: TStream; var sbHeader : TPCSafeBoxHeader) : Boolean;
  
negative.code:   offsets : Array of Cardinal;
    sbHeader : TPCSafeBoxHeader;
    tc : TTickCount;
    previous_Block : TBlockAccount;
    do_check_blockchain_info : Boolean;
  begin
    If Assigned(FPreviousSafeBox) then Raise Exception.Create('Cannot loadSafeBoxFromStream on a Safebox in a Separate chain');
    if (previousCheckedSafebox = Self) then previousCheckedSafebox := Nil; // Protection
    tc := TPlatform.GetTickCount;
    StartThreadSafe;
    try
  