anchor.diff:  
     @HostListener('mouseout')
     void onMouseOut(MouseEvent event) {
  -    _isMouseDriven = false;
  +    // If not triggered by mouse movement, don't handle it. This can happen when
  +    // the DOM moved but mouse didn't.
  +    if (!_isMouseDriven) return;
   
       MenuItem item = _itemForTarget(event.target);
       if (item == null) return;
  
positive.code:         break;
        }
      }
    }
  
    @override
  
negative.code: 
    @HostListener('mouseover')
    void onMouseOver(MouseEvent event) {
      // If not triggered by mouse movement, don't handle it. This can happen when
      // the DOM moved but mouse didn't.
      if (!_isMouseDriven) return;
  
      var item = _itemForTarget(event.target);
      if (item == null) return;
  