code: def update_values(self, min=None, max=None, conflict='warning'):
  		
  		conflict_txt = None
  		if min is not None:
  			if min > self.min:
  				if min > self.max:
  					self.max = self.highest
  					self.prefer_highest = False
  					conflict_txt = 'Minimum {0:s} conflicts with maximum {1:s}; minimum is higher so it takes precedence, but lower values in range are not preferred.'.format('{0:d}.{1:d}'.format(*self.to_tup(min)), '{0:d}.{1:d}'.format(*self.to_tup(self.max)))
  				self.min = min
  		if max is not None:
  			if max < self.max:
  				if max >= self.min:
  					self.max = max
  				else:
  					self.prefer_highest = False
  					conflict_txt = 'Maximum {0:s} conflicts with minimum {1:s}; minimum is higher so takes it precedence, but lower values in range are now preferred.'.format('{0:d}.{1:d}'.format(*self.to_tup(max)), '{0:d}.{1:d}'.format(*self.to_tup(self.min)))
  		if conflict_txt:
  			version_problem_notify(conflict_txt, conflict=conflict)
docs: Update the boundaries, handling possible conflicts.
  
  		:param conflict: What to do in case of failure: 'silent', 'warning' or 'error'.