code: func (s *DynamicBanScore) increase(persistent, transient uint32, t time.Time) uint32 {
  	s.persistent += persistent
  	tu := t.Unix()
  	dt := tu - s.lastUnix
  
  	if transient > 0 {
  		if Lifetime < dt {
  			s.transient = 0
  		} else if s.transient > 1 && dt > 0 {
  			s.transient *= decayFactor(dt)
  		}
  		s.transient += float64(transient)
  		s.lastUnix = tu
  	}
  	return s.persistent + uint32(s.transient)
  }
docs: // increase increases the persistent, the decaying or both scores by the values
  // passed as parameters. The resulting score is calculated as if the action was
  // carried out at the point time represented by the third parameter. The
  // resulting score is returned.
  //
  // This function is not safe for concurrent access.