anchor.diff:  
   procedure TBlkVyhybka.MenuPlusClick(SenderPnl:TIdContext; SenderOR:TObject);
   begin
  - Self.VyhStav.staveniPanel := SenderPnl;
  - Self.VyhStav.staveniOR    := SenderOR;
  + if ((Self.Stitek <> '') or (Self.Vyluka <> '')) then
  +   Self.StitVylUPO(SenderPnl, SenderOR, Self.UPOPlusClick, nil)
  + else begin
  +   TTCPOrsRef(SenderPnl.Data).UPO_ref := SenderOR;
  +   Self.UPOPlusClick(SenderPnl);
  + end;
  +end;
  +
  +procedure TBlkVyhybka.MenuMinusClick(SenderPnl:TIdContext; SenderOR:TObject);
  +begin
  + if ((Self.Stitek <> '') or (Self.Vyluka <> '')) then
  +   Self.StitVylUPO(SenderPnl, SenderOR, Self.UPOMinusClick, nil)
  + else begin
  +   TTCPOrsRef(SenderPnl.Data).UPO_ref := SenderOR;
  +   Self.UPOMinusClick(SenderPnl);
  + end;
  +end;
  +
  +procedure TBlkVyhybka.MenuNSPlusClick(SenderPnl:TIdContext; SenderOR:TObject);
  +begin
  + if ((Self.Stitek <> '') or (Self.Vyluka <> '')) then
  +   Self.StitVylUPO(SenderPnl, SenderOR, Self.UPONSPlusClick, nil)
  + else begin
  +   TTCPOrsRef(SenderPnl.Data).UPO_ref := SenderOR;
  +   Self.UPONSPlusClick(SenderPnl);
  + end;
  +end;
  +
  +procedure TBlkVyhybka.MenuNSMinusClick(SenderPnl:TIdContext; SenderOR:TObject);
  +begin
  + if ((Self.Stitek <> '') or (Self.Vyluka <> '')) then
  +   Self.StitVylUPO(SenderPnl, SenderOR, Self.UPONSMinusClick, nil)
  + else begin
  +   TTCPOrsRef(SenderPnl.Data).UPO_ref := SenderOR;
  +   Self.UPONSMinusClick(SenderPnl);
  + end;
  +end;
  +
  +procedure TBlkVyhybka.UPOPlusClick(Sender:TObject);
  +begin
  + Self.VyhStav.staveniPanel := TIdContext(Sender);
  + Self.VyhStav.staveniOR    := TTCPORsRef(TIdContext(Sender).Data).UPO_ref;
   
    Self.SetPoloha(TVyhPoloha.plus, false, false, nil, Self.PanelStaveniErr);
   end;
   
  -procedure TBlkVyhybka.MenuMinusClick(SenderPnl:TIdContext; SenderOR:TObject);
  -begin
  - Self.VyhStav.staveniPanel := SenderPnl;
  - Self.VyhStav.staveniOR    := SenderOR;
  +procedure TBlkVyhybka.UPOMinusClick(Sender:TObject);
  +begin
  + Self.VyhStav.staveniPanel := TIdContext(Sender);
  + Self.VyhStav.staveniOR    := TTCPORsRef(TIdContext(Sender).Data).UPO_ref;
   
    Self.SetPoloha(TVyhPoloha.minus, false, false, nil, Self.PanelStaveniErr);
   end;
   
  -procedure TBlkVyhybka.MenuNSPlusClick(SenderPnl:TIdContext; SenderOR:TObject);
  +procedure TBlkVyhybka.UPONSPlusClick(Sender:TObject);
   var Blk:TBlk;
   begin
  - Self.VyhStav.staveniPanel := SenderPnl;
  - Self.VyhStav.staveniOR    := SenderOR;
  + Self.VyhStav.staveniPanel := TIdContext(Sender);
  + Self.VyhStav.staveniOR    := TTCPORsRef(TIdContext(Sender).Data).UPO_ref;
   
    Blky.GetBlkByID(Self.UsekID, Blk);
  - ORTCPServer.Potvr(SenderPnl, Self.PanelPotvrSekvNSPlus, (SenderOR as TOR), 'Nouzov stavn do polohy plus',
  -                    TBlky.GetBlksList(Self), TOR.GetPSPodminky(TOR.GetPSPodminka(Blk, 'Obsazen kolejov sek')));
  -end;
  -
  -procedure TBlkVyhybka.MenuNSMinusClick(SenderPnl:TIdContext; SenderOR:TObject);
  + ORTCPServer.Potvr(TIdContext(Sender), Self.PanelPotvrSekvNSPlus, (TTCPORsRef(TIdContext(Sender).Data).UPO_ref as TOR),
  +                    'Nouzov stavn do polohy plus', TBlky.GetBlksList(Self),
  +                    TOR.GetPSPodminky(TOR.GetPSPodminka(Blk, 'Obsazen kolejov sek')));
  +end;
  +
  +procedure TBlkVyhybka.UPONSMinusClick(Sender:TObject);
   var Blk:TBlk;
   begin
  - Self.VyhStav.staveniPanel := SenderPnl;
  - Self.VyhStav.staveniOR    := SenderOR;
  + Self.VyhStav.staveniPanel := TIdContext(Sender);
  + Self.VyhStav.staveniOR    := TTCPORsRef(TIdContext(Sender).Data).UPO_ref;
   
    Blky.GetBlkByID(Self.UsekID, Blk);
  - ORTCPServer.Potvr(SenderPnl, Self.PanelPotvrSekvNSMinus, (SenderOR as TOR), 'Nouzov stavn do polohy mnus',
  -                    TBlky.GetBlksList(Self), TOR.GetPSPodminky(TOR.GetPSPodminka(Blk, 'Obsazen kolejov sek')));
  + ORTCPServer.Potvr(TIdContext(Sender), Self.PanelPotvrSekvNSMinus, (TTCPORsRef(TIdContext(Sender).Data).UPO_ref as TOR),
  +                    'Nouzov stavn do polohy mnus', TBlky.GetBlksList(Self),
  +                    TOR.GetPSPodminky(TOR.GetPSPodminka(Blk, 'Obsazen kolejov sek')));
   end;
   
   procedure TBlkVyhybka.MenuStitClick(SenderPnl:TIdContext; SenderOR:TObject);
  
positive.code: 
      procedure NpObsazChange(Sender:TObject; data:Integer);
      procedure MapNpEvents();
  
    public
      constructor Create(index:Integer);
  
negative.code:     procedure MenuZAVEnableClick(SenderPnl:TIdContext; SenderOR:TObject);
      procedure MenuZAVDisableClick(SenderPnl:TIdContext; SenderOR:TObject);
  
      procedure UPOPlusClick(Sender:TObject);
      procedure UPOMinusClick(Sender:TObject);
      procedure UPONSPlusClick(Sender:TObject);
      procedure UPONSMinusClick(Sender:TObject);
  
      procedure MenuAdminREDUKClick(SenderPnl:TIdContext; SenderOR:TObject);
  
      procedure PanelPotvrSekvNSPlus(Sender:TIdContext; success:boolean);
  