<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_button_map(self, button_map):
 		"""Set the finger number to button number mapping for tap-to-click. 		The default mapping on most devices is to have a 1, 2 and 3 finger tap 		to map to the left, right and middle button, respectively. A device may 		permit changing the button mapping but disallow specific maps. In this 		case :attr:`~libinput.constant.ConfigStatus.UNSUPPORTED` is returned, 		the caller is expected to handle this case correctly. 		Changing the button mapping may not take effect immediately, the device 		may wait until it is in a neutral state before applying any changes. 		The mapping may be changed when tap-to-click is disabled. The new 		mapping takes effect when tap-to-click is enabled in the future. 		If :attr:`finger_count` is 0, this method raises :exc:`AssertionError`. 		Args: 			button_map (~libinput.constant.TapButtonMap):
 The new 				finger-to-button number mapping. 		Returns: 			~libinput.constant.ConfigStatus: A config status code. 		Raises: 			AssertionError 		"""


		assert self.finger_count > 0, 'This device does not support tapping'
		return self._libinput.libinput_device_config_tap_set_button_map(
			self._handle, button_map)