<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def kamada_kawai(self,defaultEdgeWeight=None,EdgeAttribute=None,\ 		m_anticollisionSpringStrength=None,m_averageIterationsPerNode=None,\ 		m_disconnectedNodeDistanceSpringRestLength=None,\ 		m_disconnectedNodeDistanceSpringStrength=None,m_layoutPass=None,\ 		m_nodeDistanceRestLengthConstant=None,m_nodeDistanceStrengthConstant=None,\ 		maxWeightCutoff=None,minWeightCutoff=None,network=None,NodeAttribute=None,\ 		nodeList=None,randomize=None,singlePartition=None,Type=None,unweighted=None,\ 		verbose=None):
 		""" 		Execute the Edge-weighted Spring Embedded Layout on a network. 		:param defaultEdgeWeight (string, optional):
 The default edge weight to con 			sider, default is 0.5 		:param EdgeAttribute (string, optional):
 The name of the edge column contai 			ning numeric values that will be used as weights in the layout algor 			ithm. Only columns containing numeric values are shown 		:param m_anticollisionSpringStrength (string, optional):
 Strength to apply 			to avoid collisions, in numeric value 		:param m_averageIterationsPerNode (string, optional):
 Average number of ite 			ratations for each node, in numeric value 		:param m_disconnectedNodeDistanceSpringRestLength (string, optional):
 Rest 			length of a 'disconnected' spring, in numeric value 		:param m_disconnectedNodeDistanceSpringStrength (string, optional):
 Strengt 			h of a 'disconnected' spring, in numeric value 		:param m_layoutPass (string, optional):
 Number of layout passes, in numeric 				value 		:param m_nodeDistanceRestLengthConstant (string, optional):
 Spring rest len 			gth, in numeric value 		:param m_nodeDistanceStrengthConstant (string, optional):
 Spring strength, 			in numeric value 		:param maxWeightCutoff (string, optional):
 The maximum edge weight to consi 			der, default to the Double.MAX value 		:param minWeightCutoff (string, optional):
 The minimum edge weight to consi 			der, numeric values, default is 0 		:param network (string, optional):
 Specifies a network by name, or by SUID 			if the prefix SUID: is used. The keyword CURRENT, or a blank value c 			an also be used to specify the current network. 		:param NodeAttribute (string, optional):
 The name of the node column contai 			ning numeric values that will be used as weights in the layout algor 			ithm. Only columns containing numeric values are shown 		:param nodeList (string, optional):
 Specifies a list of nodes. The keywords 				all, selected, or unselected can be used to specify nodes by their 			selection state. The pattern COLUMN:VALUE sets this parameter to any 				rows that contain the specified column value; if the COLUMN prefix 			is not used, the NAME column is matched by default. A list of COLUMN 			used to match multiple values. 		:param randomize (string, optional):
 Randomize graph before layout; boolean 				values only, true or false; defaults to true 		:param singlePartition (string, optional):
 Don't partition graph before lay 			out; boolean values only, true or false; defaults to false 		:param Type (string, optional):
 How to interpret weight values; must be one 				of Heuristic, -Log(value), 1 - normalized value and normalized valu 			e. Defaults to Heuristic = ['Heuristic', '-Log(value)', '1 - normali 			zed value', 'normalized value'] 		:param unweighted (string, optional):
 Use unweighted edges; boolean values 			only, true or false; defaults to false 		"""

		network=check_network(self,network,verbose=verbose)
		PARAMS=set_param(['defaultEdgeWeight','EdgeAttribute',\
		'm_anticollisionSpringStrength','m_averageIterationsPerNode',\
		'm_disconnectedNodeDistanceSpringRestLength',\
		'm_disconnectedNodeDistanceSpringStrength','m_layoutPass',\
		'm_nodeDistanceRestLengthConstant','m_nodeDistanceStrengthConstant',\
		'maxWeightCutoff','minWeightCutoff','network','NodeAttribute','nodeList',\
		'randomize','singlePartition','Type','unweighted'],[defaultEdgeWeight,\
		EdgeAttribute,m_anticollisionSpringStrength,m_averageIterationsPerNode,\
		m_disconnectedNodeDistanceSpringRestLength,\
		m_disconnectedNodeDistanceSpringStrength,m_layoutPass,\
		m_nodeDistanceRestLengthConstant,m_nodeDistanceStrengthConstant,\
		maxWeightCutoff,minWeightCutoff,network,NodeAttribute,nodeList,randomize,\
		singlePartition,Type,unweighted])
		response=api(url=self.__url+"/kamada-kawai", PARAMS=PARAMS, method="POST", verbose=verbose)
		return response