text: /* calcC.c
     Generated by gSOAP 2.8.8 from calc.h
  
  Copyright(C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
  The generated code is released under one of the following licenses:
  1) GPL or 2) Genivia's license for commercial use.
  This program is released under the GPL with the additional exemption that
  compiling, linking, and/or using OpenSSL is allowed.
  */
  
  #if defined(__BORLANDC__)
  #pragma option push -w-8060
  #pragma option push -w-8004
  #endif
  
  #include "calcH.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  SOAP_SOURCE_STAMP("@(#) calcC.c ver 2.8.8 2012-04-18 14:36:19 GMT")
  
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)
  {
  	if (soap->header)
  		soap_serialize_SOAP_ENV__Header(soap, soap->header);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)
  {
  	if (soap->header)
  	{	soap->part = SOAP_IN_HEADER;
  		if (soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL))
  			return soap->error;
  		soap->part = SOAP_END_HEADER;
  	}
  	return SOAP_OK;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)
  {
  	soap->part = SOAP_IN_HEADER;
  	soap->header = soap_in_SOAP_ENV__Header(soap, "SOAP-ENV:Header", NULL, NULL);
  	soap->part = SOAP_END_HEADER;
  	return soap->header == NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
  {
  	if (!soap->header)
  	{	if ((soap->header = (struct SOAP_ENV__Header*)soap_malloc(soap, sizeof(struct SOAP_ENV__Header))))
  			soap_default_SOAP_ENV__Header(soap, soap->header);
  	}
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
  {
  	if (!soap->fault)
  	{	soap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));
  		if (!soap->fault)
  			return;
  		soap_default_SOAP_ENV__Fault(soap, soap->fault);
  	}
  	if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
  	{	soap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
  		soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
  	}
  	if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
  	{	soap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));
  		soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
  	}
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
  {
  	if (soap->fault)
  		soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)
  {
  	if (soap->fault)
  		return soap_put_SOAP_ENV__Fault(soap, soap->fault, "SOAP-ENV:Fault", NULL);
  	return SOAP_OK;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
  {
  	return (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, "SOAP-ENV:Fault", NULL)) == NULL;
  }
  
  SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
  		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
  	return (const char**)&soap->fault->faultcode;
  }
  
  SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 2)
  	{	if (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
  		{	soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
  			soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
  		}
  		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
  	}
  	return (const char**)&soap->fault->faultcode;
  }
  
  SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultsubcode(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 2)
  	{	if (soap->fault->SOAP_ENV__Code && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
  			return soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
  		return NULL;
  	}
  	return soap->fault->faultcode;
  }
  
  SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 2)
  		return (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
  	return (const char**)&soap->fault->faultstring;
  }
  
  SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 1)
  	{	if (!soap->fault->detail)
  		{	soap->fault->detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
  			soap_default_SOAP_ENV__Detail(soap, soap->fault->detail);
  		}
  		return (const char**)&soap->fault->detail->__any;
  	}
  	if (!soap->fault->SOAP_ENV__Detail)
  	{	soap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
  		soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
  	}
  	return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
  }
  
  SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultdetail(struct soap *soap)
  {
  	soap_fault(soap);
  	if (soap->version == 2 && soap->fault->SOAP_ENV__Detail)
  		return soap->fault->SOAP_ENV__Detail->__any;
  	if (soap->fault->detail)
  		return soap->fault->detail->__any;
  	return NULL;
  }
  
  #endif
  
  #ifndef WITH_NOIDREF
  SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
  {
  	int t;
  	if (soap->version == 1)
  	{	for (;;)
  		{	if (!soap_getelement(soap, &t))
  				if (soap->error || soap_ignore_element(soap))
  					break;
  		}
  	}
  	if (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)
  		soap->error = SOAP_OK;
  	return soap->error;
  }
  #endif
  
  #ifndef WITH_NOIDREF
  SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
  {	(void)type;
  	if (soap_peek_element(soap))
  		return NULL;
  	if (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))
  		*type = soap_lookup_type(soap, soap->href);
  	switch (*type)
  	{
  	case SOAP_TYPE_byte:
  		return soap_in_byte(soap, NULL, NULL, "xsd:byte");
  	case SOAP_TYPE_int:
  		return soap_in_int(soap, NULL, NULL, "xsd:int");
  	case SOAP_TYPE_double:
  		return soap_in_double(soap, NULL, NULL, "xsd:double");
  	case SOAP_TYPE_ns__pow:
  		return soap_in_ns__pow(soap, NULL, NULL, "ns:pow");
  	case SOAP_TYPE_ns__powResponse:
  		return soap_in_ns__powResponse(soap, NULL, NULL, "ns:powResponse");
  	case SOAP_TYPE_ns__div:
  		return soap_in_ns__div(soap, NULL, NULL, "ns:div");
  	case SOAP_TYPE_ns__divResponse:
  		return soap_in_ns__divResponse(soap, NULL, NULL, "ns:divResponse");
  	case SOAP_TYPE_ns__mul:
  		return soap_in_ns__mul(soap, NULL, NULL, "ns:mul");
  	case SOAP_TYPE_ns__mulResponse:
  		return soap_in_ns__mulResponse(soap, NULL, NULL, "ns:mulResponse");
  	case SOAP_TYPE_ns__sub:
  		return soap_in_ns__sub(soap, NULL, NULL, "ns:sub");
  	case SOAP_TYPE_ns__subResponse:
  		return soap_in_ns__subResponse(soap, NULL, NULL, "ns:subResponse");
  	case SOAP_TYPE_ns__add:
  		return soap_in_ns__add(soap, NULL, NULL, "ns:add");
  	case SOAP_TYPE_ns__addResponse:
  		return soap_in_ns__addResponse(soap, NULL, NULL, "ns:addResponse");
  	case SOAP_TYPE_PointerTodouble:
  		return soap_in_PointerTodouble(soap, NULL, NULL, "xsd:double");
  	case SOAP_TYPE__QName:
  	{	char **s;
  		s = soap_in__QName(soap, NULL, NULL, "xsd:QName");
  		return s ? *s : NULL;
  	}
  	case SOAP_TYPE_string:
  	{	char **s;
  		s = soap_in_string(soap, NULL, NULL, "xsd:string");
  		return s ? *s : NULL;
  	}
  	default:
  	{	const char *t = soap->type;
  		if (!*t)
  			t = soap->tag;
  		if (!soap_match_tag(soap, t, "xsd:byte"))
  		{	*type = SOAP_TYPE_byte;
  			return soap_in_byte(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "xsd:int"))
  		{	*type = SOAP_TYPE_int;
  			return soap_in_int(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "xsd:double"))
  		{	*type = SOAP_TYPE_double;
  			return soap_in_double(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:pow"))
  		{	*type = SOAP_TYPE_ns__pow;
  			return soap_in_ns__pow(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:powResponse"))
  		{	*type = SOAP_TYPE_ns__powResponse;
  			return soap_in_ns__powResponse(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:div"))
  		{	*type = SOAP_TYPE_ns__div;
  			return soap_in_ns__div(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:divResponse"))
  		{	*type = SOAP_TYPE_ns__divResponse;
  			return soap_in_ns__divResponse(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:mul"))
  		{	*type = SOAP_TYPE_ns__mul;
  			return soap_in_ns__mul(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:mulResponse"))
  		{	*type = SOAP_TYPE_ns__mulResponse;
  			return soap_in_ns__mulResponse(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:sub"))
  		{	*type = SOAP_TYPE_ns__sub;
  			return soap_in_ns__sub(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:subResponse"))
  		{	*type = SOAP_TYPE_ns__subResponse;
  			return soap_in_ns__subResponse(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:add"))
  		{	*type = SOAP_TYPE_ns__add;
  			return soap_in_ns__add(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "ns:addResponse"))
  		{	*type = SOAP_TYPE_ns__addResponse;
  			return soap_in_ns__addResponse(soap, NULL, NULL, NULL);
  		}
  		if (!soap_match_tag(soap, t, "xsd:QName"))
  		{	char **s;
  			*type = SOAP_TYPE__QName;
  			s = soap_in__QName(soap, NULL, NULL, NULL);
  			return s ? *s : NULL;
  		}
  		if (!soap_match_tag(soap, t, "xsd:string"))
  		{	char **s;
  			*type = SOAP_TYPE_string;
  			s = soap_in_string(soap, NULL, NULL, NULL);
  			return s ? *s : NULL;
  		}
  		t = soap->tag;
  	}
  	}
  	soap->error = SOAP_TAG_MISMATCH;
  	return NULL;
  }
  #endif
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
  {
  	if (!soap_peek_element(soap))
  	{	int t;
  		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level=%u, %d)\n", soap->tag, soap->level, soap->body));
  		if (soap->mustUnderstand && !soap->other)
  			return soap->error = SOAP_MUSTUNDERSTAND;
  		if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
  		{	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
  			return soap->error = SOAP_TAG_MISMATCH;
  		}
  		if (!*soap->id || !soap_getelement(soap, &t))
  		{	soap->peeked = 0;
  			if (soap->fignore)
  				soap->error = soap->fignore(soap, soap->tag);
  			else
  				soap->error = SOAP_OK;
  			DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
  			if (!soap->error && soap->body)
  			{	soap->level++;
  				while (!soap_ignore_element(soap))
  					;
  				if (soap->error == SOAP_NO_TAG)
  					soap->error = soap_element_end_in(soap, NULL);
  			}
  		}
  	}
  	return soap->error;
  }
  
  #ifndef WITH_NOIDREF
  SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)
  {
  	int i;
  	struct soap_plist *pp;
  	if (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))
  		for (i = 0; i < SOAP_PTRHASH; i++)
  			for (pp = soap->pht[i]; pp; pp = pp->next)
  				if (pp->mark1 == 2 || pp->mark2 == 2)
  					if (soap_putelement(soap, pp->ptr, "id", pp->id, pp->type))
  						return soap->error;
  	return SOAP_OK;
  }
  #endif
  
  #ifndef WITH_NOIDREF
  SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
  {	(void)tag;
  	switch (type)
  	{
  	case SOAP_TYPE_byte:
  		return soap_out_byte(soap, tag, id, (const char *)ptr, "xsd:byte");
  	case SOAP_TYPE_int:
  		return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
  	case SOAP_TYPE_double:
  		return soap_out_double(soap, tag, id, (const double *)ptr, "xsd:double");
  	case SOAP_TYPE_ns__pow:
  		return soap_out_ns__pow(soap, tag, id, (const struct ns__pow *)ptr, "ns:pow");
  	case SOAP_TYPE_ns__powResponse:
  		return soap_out_ns__powResponse(soap, tag, id, (const struct ns__powResponse *)ptr, "ns:powResponse");
  	case SOAP_TYPE_ns__div:
  		return soap_out_ns__div(soap, tag, id, (const struct ns__div *)ptr, "ns:div");
  	case SOAP_TYPE_ns__divResponse:
  		return soap_out_ns__divResponse(soap, tag, id, (const struct ns__divResponse *)ptr, "ns:divResponse");
  	case SOAP_TYPE_ns__mul:
  		return soap_out_ns__mul(soap, tag, id, (const struct ns__mul *)ptr, "ns:mul");
  	case SOAP_TYPE_ns__mulResponse:
  		return soap_out_ns__mulResponse(soap, tag, id, (const struct ns__mulResponse *)ptr, "ns:mulResponse");
  	case SOAP_TYPE_ns__sub:
  		return soap_out_ns__sub(soap, tag, id, (const struct ns__sub *)ptr, "ns:sub");
  	case SOAP_TYPE_ns__subResponse:
  		return soap_out_ns__subResponse(soap, tag, id, (const struct ns__subResponse *)ptr, "ns:subResponse");
  	case SOAP_TYPE_ns__add:
  		return soap_out_ns__add(soap, tag, id, (const struct ns__add *)ptr, "ns:add");
  	case SOAP_TYPE_ns__addResponse:
  		return soap_out_ns__addResponse(soap, tag, id, (const struct ns__addResponse *)ptr, "ns:addResponse");
  	case SOAP_TYPE_PointerTodouble:
  		return soap_out_PointerTodouble(soap, tag, id, (double *const*)ptr, "xsd:double");
  	case SOAP_TYPE__QName:
  		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:QName");
  	case SOAP_TYPE_string:
  		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:string");
  	}
  	return SOAP_OK;
  }
  #endif
  
  #ifndef WITH_NOIDREF
  SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
  {
  	(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
  	switch (type)
  	{
  	case SOAP_TYPE_ns__pow:
  		soap_serialize_ns__pow(soap, (const struct ns__pow *)ptr);
  		break;
  	case SOAP_TYPE_ns__powResponse:
  		soap_serialize_ns__powResponse(soap, (const struct ns__powResponse *)ptr);
  		break;
  	case SOAP_TYPE_ns__div:
  		soap_serialize_ns__div(soap, (const struct ns__div *)ptr);
  		break;
  	case SOAP_TYPE_ns__divResponse:
  		soap_serialize_ns__divResponse(soap, (const struct ns__divResponse *)ptr);
  		break;
  	case SOAP_TYPE_ns__mul:
  		soap_serialize_ns__mul(soap, (const struct ns__mul *)ptr);
  		break;
  	case SOAP_TYPE_ns__mulResponse:
  		soap_serialize_ns__mulResponse(soap, (const struct ns__mulResponse *)ptr);
  		break;
  	case SOAP_TYPE_ns__sub:
  		soap_serialize_ns__sub(soap, (const struct ns__sub *)ptr);
  		break;
  	case SOAP_TYPE_ns__subResponse:
  		soap_serialize_ns__subResponse(soap, (const struct ns__subResponse *)ptr);
  		break;
  	case SOAP_TYPE_ns__add:
  		soap_serialize_ns__add(soap, (const struct ns__add *)ptr);
  		break;
  	case SOAP_TYPE_ns__addResponse:
  		soap_serialize_ns__addResponse(soap, (const struct ns__addResponse *)ptr);
  		break;
  	case SOAP_TYPE_PointerTodouble:
  		soap_serialize_PointerTodouble(soap, (double *const*)ptr);
  		break;
  	case SOAP_TYPE__QName:
  		soap_serialize_string(soap, (char*const*)&ptr);
  		break;
  	case SOAP_TYPE_string:
  		soap_serialize_string(soap, (char*const*)&ptr);
  		break;
  	}
  }
  #endif
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_byte(struct soap *soap, char *a)
  {
  	(void)soap; /* appease -Wall -Werror */
  #ifdef SOAP_DEFAULT_byte
  	*a = SOAP_DEFAULT_byte;
  #else
  	*a = (char)0;
  #endif
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap *soap, const char *tag, int id, const char *a, const char *type)
  {	(void)soap; (void)type; (void)tag; (void)id;
  	return soap_outbyte(soap, tag, id, a, type, SOAP_TYPE_byte);
  }
  
  SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap *soap, const char *tag, char *a, const char *type)
  {	char *p;
  	p = soap_inbyte(soap, tag, a, type, SOAP_TYPE_byte);
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap *soap, const char *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_byte);
  	if (soap_out_byte(soap, tag?tag:"byte", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap *soap, char *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_byte(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_int(struct soap *soap, int *a)
  {
  	(void)soap; /* appease -Wall -Werror */
  #ifdef SOAP_DEFAULT_int
  	*a = SOAP_DEFAULT_int;
  #else
  	*a = (int)0;
  #endif
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap *soap, const char *tag, int id, const int *a, const char *type)
  {	(void)soap; (void)type; (void)tag; (void)id;
  	return soap_outint(soap, tag, id, a, type, SOAP_TYPE_int);
  }
  
  SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap *soap, const char *tag, int *a, const char *type)
  {	int *p;
  	p = soap_inint(soap, tag, a, type, SOAP_TYPE_int);
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap *soap, const int *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_int);
  	if (soap_out_int(soap, tag?tag:"int", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_int(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap *soap, double *a)
  {
  	(void)soap; /* appease -Wall -Werror */
  #ifdef SOAP_DEFAULT_double
  	*a = SOAP_DEFAULT_double;
  #else
  	*a = (double)0;
  #endif
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_double(struct soap *soap, const char *tag, int id, const double *a, const char *type)
  {	(void)soap; (void)type; (void)tag; (void)id;
  	return soap_outdouble(soap, tag, id, a, type, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 double * SOAP_FMAC4 soap_in_double(struct soap *soap, const char *tag, double *a, const char *type)
  {	double *p;
  	p = soap_indouble(soap, tag, a, type, SOAP_TYPE_double);
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_double(struct soap *soap, const double *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_double);
  	if (soap_out_double(soap, tag?tag:"double", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 double * SOAP_FMAC4 soap_get_double(struct soap *soap, double *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_double(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default__QName(soap, &a->faultcode);
  	soap_default_string(soap, &a->faultstring);
  	soap_default_string(soap, &a->faultactor);
  	a->detail = NULL;
  	a->SOAP_ENV__Code = NULL;
  	a->SOAP_ENV__Reason = NULL;
  	soap_default_string(soap, &a->SOAP_ENV__Node);
  	soap_default_string(soap, &a->SOAP_ENV__Role);
  	a->SOAP_ENV__Detail = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize__QName(soap, &a->faultcode);
  	soap_serialize_string(soap, &a->faultstring);
  	soap_serialize_string(soap, &a->faultactor);
  	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
  	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
  	soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
  	soap_serialize_string(soap, &a->SOAP_ENV__Node);
  	soap_serialize_string(soap, &a->SOAP_ENV__Role);
  	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
  {
  	const char *soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
  		return soap->error;
  	if (soap_out__QName(soap, "faultcode", -1, (char*const*)&soap_tmp_faultcode, ""))
  		return soap->error;
  	if (soap_out_string(soap, "faultstring", -1, &a->faultstring, ""))
  		return soap->error;
  	if (soap_out_string(soap, "faultactor", -1, &a->faultactor, ""))
  		return soap->error;
  	if (soap_out_PointerToSOAP_ENV__Detail(soap, "detail", -1, &a->detail, ""))
  		return soap->error;
  	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", -1, &a->SOAP_ENV__Code, ""))
  		return soap->error;
  	if (soap_out_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", -1, &a->SOAP_ENV__Reason, ""))
  		return soap->error;
  	if (soap_out_string(soap, "SOAP-ENV:Node", -1, &a->SOAP_ENV__Node, ""))
  		return soap->error;
  	if (soap_out_string(soap, "SOAP-ENV:Role", -1, &a->SOAP_ENV__Role, ""))
  		return soap->error;
  	if (soap_out_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", -1, &a->SOAP_ENV__Detail, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type)
  {
  	size_t soap_flag_faultcode = 1;
  	size_t soap_flag_faultstring = 1;
  	size_t soap_flag_faultactor = 1;
  	size_t soap_flag_detail = 1;
  	size_t soap_flag_SOAP_ENV__Code = 1;
  	size_t soap_flag_SOAP_ENV__Reason = 1;
  	size_t soap_flag_SOAP_ENV__Node = 1;
  	size_t soap_flag_SOAP_ENV__Role = 1;
  	size_t soap_flag_SOAP_ENV__Detail = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_SOAP_ENV__Fault(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in__QName(soap, "faultcode", &a->faultcode, ""))
  				{	soap_flag_faultcode--;
  					continue;
  				}
  			if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in_string(soap, "faultstring", &a->faultstring, "xsd:string"))
  				{	soap_flag_faultstring--;
  					continue;
  				}
  			if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in_string(soap, "faultactor", &a->faultactor, "xsd:string"))
  				{	soap_flag_faultactor--;
  					continue;
  				}
  			if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))
  				{	soap_flag_detail--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))
  				{	soap_flag_SOAP_ENV__Code--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Reason && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))
  				{	soap_flag_SOAP_ENV__Reason--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in_string(soap, "SOAP-ENV:Node", &a->SOAP_ENV__Node, "xsd:string"))
  				{	soap_flag_SOAP_ENV__Node--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in_string(soap, "SOAP-ENV:Role", &a->SOAP_ENV__Role, "xsd:string"))
  				{	soap_flag_SOAP_ENV__Role--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))
  				{	soap_flag_SOAP_ENV__Detail--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
  	if (soap_out_SOAP_ENV__Fault(soap, tag?tag:"SOAP-ENV:Fault", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_SOAP_ENV__Fault(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_string(soap, &a->SOAP_ENV__Text);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_string(soap, &a->SOAP_ENV__Text);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Reason *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Reason), type))
  		return soap->error;
  	if (soap->lang)
  		soap_set_attr(soap, "xml:lang", soap->lang, 1);
  	if (soap_out_string(soap, "SOAP-ENV:Text", -1, &a->SOAP_ENV__Text, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
  {
  	size_t soap_flag_SOAP_ENV__Text = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct SOAP_ENV__Reason *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_SOAP_ENV__Reason(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_SOAP_ENV__Text && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in_string(soap, "SOAP-ENV:Text", &a->SOAP_ENV__Text, "xsd:string"))
  				{	soap_flag_SOAP_ENV__Text--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Reason);
  	if (soap_out_SOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_SOAP_ENV__Reason(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->__any = NULL;
  	a->__type = 0;
  	a->fault = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_markelement(soap, a->fault, a->__type);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Detail *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
  		return soap->error;
  	soap_outliteral(soap, "-any", &a->__any, NULL);
  	if (soap_putelement(soap, a->fault, "fault", -1, a->__type))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail *a, const char *type)
  {
  	size_t soap_flag___any = 1;
  	size_t soap_flag_fault = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct SOAP_ENV__Detail *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_SOAP_ENV__Detail(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_fault && soap->error == SOAP_TAG_MISMATCH)
  				if ((a->fault = soap_getelement(soap, &a->__type)))
  				{	soap_flag_fault = 0;
  					continue;
  				}
  			if (soap_flag___any && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_inliteral(soap, "-any", &a->__any))
  				{	soap_flag___any--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
  	if (soap_out_SOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_SOAP_ENV__Detail(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default__QName(soap, &a->SOAP_ENV__Value);
  	a->SOAP_ENV__Subcode = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize__QName(soap, &a->SOAP_ENV__Value);
  	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
  {
  	const char *soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
  		return soap->error;
  	if (soap_out__QName(soap, "SOAP-ENV:Value", -1, (char*const*)&soap_tmp_SOAP_ENV__Value, ""))
  		return soap->error;
  	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", -1, &a->SOAP_ENV__Subcode, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code *a, const char *type)
  {
  	size_t soap_flag_SOAP_ENV__Value = 1;
  	size_t soap_flag_SOAP_ENV__Subcode = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct SOAP_ENV__Code *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_SOAP_ENV__Code(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_SOAP_ENV__Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
  				if (soap_in__QName(soap, "SOAP-ENV:Value", &a->SOAP_ENV__Value, ""))
  				{	soap_flag_SOAP_ENV__Value--;
  					continue;
  				}
  			if (soap_flag_SOAP_ENV__Subcode && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", &a->SOAP_ENV__Subcode, ""))
  				{	soap_flag_SOAP_ENV__Subcode--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Code);
  	if (soap_out_SOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_SOAP_ENV__Code(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
  {
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_SOAP_ENV__Header(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Header);
  	if (soap_out_SOAP_ENV__Header(soap, tag?tag:"SOAP-ENV:Header", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_SOAP_ENV__Header(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__pow(struct soap *soap, struct ns__pow *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_double(soap, &a->a);
  	soap_default_double(soap, &a->b);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__pow(struct soap *soap, const struct ns__pow *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_embedded(soap, &a->a, SOAP_TYPE_double);
  	soap_embedded(soap, &a->b, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__pow(struct soap *soap, const char *tag, int id, const struct ns__pow *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__pow), type))
  		return soap->error;
  	if (soap_out_double(soap, "a", -1, &a->a, ""))
  		return soap->error;
  	if (soap_out_double(soap, "b", -1, &a->b, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__pow * SOAP_FMAC4 soap_in_ns__pow(struct soap *soap, const char *tag, struct ns__pow *a, const char *type)
  {
  	size_t soap_flag_a = 1;
  	size_t soap_flag_b = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__pow *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__pow, sizeof(struct ns__pow), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__pow(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_a && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "a", &a->a, "xsd:double"))
  				{	soap_flag_a--;
  					continue;
  				}
  			if (soap_flag_b && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "b", &a->b, "xsd:double"))
  				{	soap_flag_b--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__pow *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__pow, 0, sizeof(struct ns__pow), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_a > 0 || soap_flag_b > 0))
  	{	soap->error = SOAP_OCCURS;
  		return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__pow(struct soap *soap, const struct ns__pow *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__pow);
  	if (soap_out_ns__pow(soap, tag?tag:"ns:pow", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__pow * SOAP_FMAC4 soap_get_ns__pow(struct soap *soap, struct ns__pow *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__pow(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__powResponse(struct soap *soap, struct ns__powResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->result = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__powResponse(struct soap *soap, const struct ns__powResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_PointerTodouble(soap, &a->result);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__powResponse(struct soap *soap, const char *tag, int id, const struct ns__powResponse *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__powResponse), type))
  		return soap->error;
  	if (soap_out_PointerTodouble(soap, "result", -1, &a->result, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__powResponse * SOAP_FMAC4 soap_in_ns__powResponse(struct soap *soap, const char *tag, struct ns__powResponse *a, const char *type)
  {
  	size_t soap_flag_result = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__powResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__powResponse, sizeof(struct ns__powResponse), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__powResponse(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerTodouble(soap, "result", &a->result, "xsd:double"))
  				{	soap_flag_result--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__powResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__powResponse, 0, sizeof(struct ns__powResponse), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__powResponse(struct soap *soap, const struct ns__powResponse *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__powResponse);
  	if (soap_out_ns__powResponse(soap, tag?tag:"ns:powResponse", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__powResponse * SOAP_FMAC4 soap_get_ns__powResponse(struct soap *soap, struct ns__powResponse *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__powResponse(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__div(struct soap *soap, struct ns__div *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_double(soap, &a->a);
  	soap_default_double(soap, &a->b);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__div(struct soap *soap, const struct ns__div *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_embedded(soap, &a->a, SOAP_TYPE_double);
  	soap_embedded(soap, &a->b, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__div(struct soap *soap, const char *tag, int id, const struct ns__div *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__div), type))
  		return soap->error;
  	if (soap_out_double(soap, "a", -1, &a->a, ""))
  		return soap->error;
  	if (soap_out_double(soap, "b", -1, &a->b, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__div * SOAP_FMAC4 soap_in_ns__div(struct soap *soap, const char *tag, struct ns__div *a, const char *type)
  {
  	size_t soap_flag_a = 1;
  	size_t soap_flag_b = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__div *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__div, sizeof(struct ns__div), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__div(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_a && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "a", &a->a, "xsd:double"))
  				{	soap_flag_a--;
  					continue;
  				}
  			if (soap_flag_b && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "b", &a->b, "xsd:double"))
  				{	soap_flag_b--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__div *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__div, 0, sizeof(struct ns__div), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_a > 0 || soap_flag_b > 0))
  	{	soap->error = SOAP_OCCURS;
  		return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__div(struct soap *soap, const struct ns__div *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__div);
  	if (soap_out_ns__div(soap, tag?tag:"ns:div", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__div * SOAP_FMAC4 soap_get_ns__div(struct soap *soap, struct ns__div *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__div(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__divResponse(struct soap *soap, struct ns__divResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->result = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__divResponse(struct soap *soap, const struct ns__divResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_PointerTodouble(soap, &a->result);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__divResponse(struct soap *soap, const char *tag, int id, const struct ns__divResponse *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__divResponse), type))
  		return soap->error;
  	if (soap_out_PointerTodouble(soap, "result", -1, &a->result, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__divResponse * SOAP_FMAC4 soap_in_ns__divResponse(struct soap *soap, const char *tag, struct ns__divResponse *a, const char *type)
  {
  	size_t soap_flag_result = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__divResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__divResponse, sizeof(struct ns__divResponse), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__divResponse(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerTodouble(soap, "result", &a->result, "xsd:double"))
  				{	soap_flag_result--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__divResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__divResponse, 0, sizeof(struct ns__divResponse), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__divResponse(struct soap *soap, const struct ns__divResponse *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__divResponse);
  	if (soap_out_ns__divResponse(soap, tag?tag:"ns:divResponse", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__divResponse * SOAP_FMAC4 soap_get_ns__divResponse(struct soap *soap, struct ns__divResponse *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__divResponse(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__mul(struct soap *soap, struct ns__mul *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_double(soap, &a->a);
  	soap_default_double(soap, &a->b);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__mul(struct soap *soap, const struct ns__mul *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_embedded(soap, &a->a, SOAP_TYPE_double);
  	soap_embedded(soap, &a->b, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__mul(struct soap *soap, const char *tag, int id, const struct ns__mul *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__mul), type))
  		return soap->error;
  	if (soap_out_double(soap, "a", -1, &a->a, ""))
  		return soap->error;
  	if (soap_out_double(soap, "b", -1, &a->b, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__mul * SOAP_FMAC4 soap_in_ns__mul(struct soap *soap, const char *tag, struct ns__mul *a, const char *type)
  {
  	size_t soap_flag_a = 1;
  	size_t soap_flag_b = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__mul *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__mul, sizeof(struct ns__mul), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__mul(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_a && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "a", &a->a, "xsd:double"))
  				{	soap_flag_a--;
  					continue;
  				}
  			if (soap_flag_b && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "b", &a->b, "xsd:double"))
  				{	soap_flag_b--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__mul *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__mul, 0, sizeof(struct ns__mul), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_a > 0 || soap_flag_b > 0))
  	{	soap->error = SOAP_OCCURS;
  		return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__mul(struct soap *soap, const struct ns__mul *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__mul);
  	if (soap_out_ns__mul(soap, tag?tag:"ns:mul", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__mul * SOAP_FMAC4 soap_get_ns__mul(struct soap *soap, struct ns__mul *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__mul(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__mulResponse(struct soap *soap, struct ns__mulResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->result = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__mulResponse(struct soap *soap, const struct ns__mulResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_PointerTodouble(soap, &a->result);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__mulResponse(struct soap *soap, const char *tag, int id, const struct ns__mulResponse *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__mulResponse), type))
  		return soap->error;
  	if (soap_out_PointerTodouble(soap, "result", -1, &a->result, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__mulResponse * SOAP_FMAC4 soap_in_ns__mulResponse(struct soap *soap, const char *tag, struct ns__mulResponse *a, const char *type)
  {
  	size_t soap_flag_result = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__mulResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__mulResponse, sizeof(struct ns__mulResponse), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__mulResponse(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerTodouble(soap, "result", &a->result, "xsd:double"))
  				{	soap_flag_result--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__mulResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__mulResponse, 0, sizeof(struct ns__mulResponse), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__mulResponse(struct soap *soap, const struct ns__mulResponse *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__mulResponse);
  	if (soap_out_ns__mulResponse(soap, tag?tag:"ns:mulResponse", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__mulResponse * SOAP_FMAC4 soap_get_ns__mulResponse(struct soap *soap, struct ns__mulResponse *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__mulResponse(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__sub(struct soap *soap, struct ns__sub *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_double(soap, &a->a);
  	soap_default_double(soap, &a->b);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__sub(struct soap *soap, const struct ns__sub *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_embedded(soap, &a->a, SOAP_TYPE_double);
  	soap_embedded(soap, &a->b, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__sub(struct soap *soap, const char *tag, int id, const struct ns__sub *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__sub), type))
  		return soap->error;
  	if (soap_out_double(soap, "a", -1, &a->a, ""))
  		return soap->error;
  	if (soap_out_double(soap, "b", -1, &a->b, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__sub * SOAP_FMAC4 soap_in_ns__sub(struct soap *soap, const char *tag, struct ns__sub *a, const char *type)
  {
  	size_t soap_flag_a = 1;
  	size_t soap_flag_b = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__sub *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__sub, sizeof(struct ns__sub), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__sub(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_a && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "a", &a->a, "xsd:double"))
  				{	soap_flag_a--;
  					continue;
  				}
  			if (soap_flag_b && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "b", &a->b, "xsd:double"))
  				{	soap_flag_b--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__sub *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__sub, 0, sizeof(struct ns__sub), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_a > 0 || soap_flag_b > 0))
  	{	soap->error = SOAP_OCCURS;
  		return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__sub(struct soap *soap, const struct ns__sub *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__sub);
  	if (soap_out_ns__sub(soap, tag?tag:"ns:sub", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__sub * SOAP_FMAC4 soap_get_ns__sub(struct soap *soap, struct ns__sub *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__sub(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__subResponse(struct soap *soap, struct ns__subResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->result = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__subResponse(struct soap *soap, const struct ns__subResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_PointerTodouble(soap, &a->result);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__subResponse(struct soap *soap, const char *tag, int id, const struct ns__subResponse *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__subResponse), type))
  		return soap->error;
  	if (soap_out_PointerTodouble(soap, "result", -1, &a->result, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__subResponse * SOAP_FMAC4 soap_in_ns__subResponse(struct soap *soap, const char *tag, struct ns__subResponse *a, const char *type)
  {
  	size_t soap_flag_result = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__subResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__subResponse, sizeof(struct ns__subResponse), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__subResponse(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerTodouble(soap, "result", &a->result, "xsd:double"))
  				{	soap_flag_result--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__subResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__subResponse, 0, sizeof(struct ns__subResponse), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__subResponse(struct soap *soap, const struct ns__subResponse *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__subResponse);
  	if (soap_out_ns__subResponse(soap, tag?tag:"ns:subResponse", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__subResponse * SOAP_FMAC4 soap_get_ns__subResponse(struct soap *soap, struct ns__subResponse *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__subResponse(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__add(struct soap *soap, struct ns__add *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_default_double(soap, &a->a);
  	soap_default_double(soap, &a->b);
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__add(struct soap *soap, const struct ns__add *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_embedded(soap, &a->a, SOAP_TYPE_double);
  	soap_embedded(soap, &a->b, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__add(struct soap *soap, const char *tag, int id, const struct ns__add *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__add), type))
  		return soap->error;
  	if (soap_out_double(soap, "a", -1, &a->a, ""))
  		return soap->error;
  	if (soap_out_double(soap, "b", -1, &a->b, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__add * SOAP_FMAC4 soap_in_ns__add(struct soap *soap, const char *tag, struct ns__add *a, const char *type)
  {
  	size_t soap_flag_a = 1;
  	size_t soap_flag_b = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__add *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__add, sizeof(struct ns__add), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__add(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_a && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "a", &a->a, "xsd:double"))
  				{	soap_flag_a--;
  					continue;
  				}
  			if (soap_flag_b && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_double(soap, "b", &a->b, "xsd:double"))
  				{	soap_flag_b--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__add *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__add, 0, sizeof(struct ns__add), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_a > 0 || soap_flag_b > 0))
  	{	soap->error = SOAP_OCCURS;
  		return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__add(struct soap *soap, const struct ns__add *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__add);
  	if (soap_out_ns__add(soap, tag?tag:"ns:add", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__add * SOAP_FMAC4 soap_get_ns__add(struct soap *soap, struct ns__add *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__add(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__addResponse(struct soap *soap, struct ns__addResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	a->result = NULL;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__addResponse(struct soap *soap, const struct ns__addResponse *a)
  {
  	(void)soap; (void)a; /* appease -Wall -Werror */
  	soap_serialize_PointerTodouble(soap, &a->result);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__addResponse(struct soap *soap, const char *tag, int id, const struct ns__addResponse *a, const char *type)
  {
  	(void)soap; (void)tag; (void)id; (void)type;
  	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__addResponse), type))
  		return soap->error;
  	if (soap_out_PointerTodouble(soap, "result", -1, &a->result, ""))
  		return soap->error;
  	return soap_element_end_out(soap, tag);
  }
  
  SOAP_FMAC3 struct ns__addResponse * SOAP_FMAC4 soap_in_ns__addResponse(struct soap *soap, const char *tag, struct ns__addResponse *a, const char *type)
  {
  	size_t soap_flag_result = 1;
  	if (soap_element_begin_in(soap, tag, 0, type))
  		return NULL;
  	a = (struct ns__addResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__addResponse, sizeof(struct ns__addResponse), 0, NULL, NULL, NULL);
  	if (!a)
  		return NULL;
  	soap_default_ns__addResponse(soap, a);
  	if (soap->body && !*soap->href)
  	{
  		for (;;)
  		{	soap->error = SOAP_TAG_MISMATCH;
  			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
  				if (soap_in_PointerTodouble(soap, "result", &a->result, "xsd:double"))
  				{	soap_flag_result--;
  					continue;
  				}
  			if (soap->error == SOAP_TAG_MISMATCH)
  				soap->error = soap_ignore_element(soap);
  			if (soap->error == SOAP_NO_TAG)
  				break;
  			if (soap->error)
  				return NULL;
  		}
  		if (soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	else
  	{	a = (struct ns__addResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__addResponse, 0, sizeof(struct ns__addResponse), 0, NULL);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__addResponse(struct soap *soap, const struct ns__addResponse *a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__addResponse);
  	if (soap_out_ns__addResponse(soap, tag?tag:"ns:addResponse", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct ns__addResponse * SOAP_FMAC4 soap_get_ns__addResponse(struct soap *soap, struct ns__addResponse *p, const char *tag, const char *type)
  {
  	if ((p = soap_in_ns__addResponse(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a)
  {
  	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Reason))
  		soap_serialize_SOAP_ENV__Reason(soap, *a);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Reason *const*a, const char *type)
  {
  	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Reason);
  	if (id < 0)
  		return soap->error;
  	return soap_out_SOAP_ENV__Reason(soap, tag, id, *a, type);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason **a, const char *type)
  {
  	if (soap_element_begin_in(soap, tag, 1, NULL))
  		return NULL;
  	if (!a)
  		if (!(a = (struct SOAP_ENV__Reason **)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason *))))
  			return NULL;
  	*a = NULL;
  	if (!soap->null && *soap->href != '#')
  	{	soap_revert(soap);
  		if (!(*a = soap_in_SOAP_ENV__Reason(soap, tag, *a, type)))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Reason **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Reason);
  	if (soap_out_PointerToSOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason **p, const char *tag, const char *type)
  {
  	if ((p = soap_in_PointerToSOAP_ENV__Reason(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a)
  {
  	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Detail))
  		soap_serialize_SOAP_ENV__Detail(soap, *a);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Detail *const*a, const char *type)
  {
  	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Detail);
  	if (id < 0)
  		return soap->error;
  	return soap_out_SOAP_ENV__Detail(soap, tag, id, *a, type);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail **a, const char *type)
  {
  	if (soap_element_begin_in(soap, tag, 1, NULL))
  		return NULL;
  	if (!a)
  		if (!(a = (struct SOAP_ENV__Detail **)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail *))))
  			return NULL;
  	*a = NULL;
  	if (!soap->null && *soap->href != '#')
  	{	soap_revert(soap);
  		if (!(*a = soap_in_SOAP_ENV__Detail(soap, tag, *a, type)))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Detail **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Detail);
  	if (soap_out_PointerToSOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail **p, const char *tag, const char *type)
  {
  	if ((p = soap_in_PointerToSOAP_ENV__Detail(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  #ifndef WITH_NOGLOBAL
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a)
  {
  	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))
  		soap_serialize_SOAP_ENV__Code(soap, *a);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type)
  {
  	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code);
  	if (id < 0)
  		return soap->error;
  	return soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type)
  {
  	if (soap_element_begin_in(soap, tag, 1, NULL))
  		return NULL;
  	if (!a)
  		if (!(a = (struct SOAP_ENV__Code **)soap_malloc(soap, sizeof(struct SOAP_ENV__Code *))))
  			return NULL;
  	*a = NULL;
  	if (!soap->null && *soap->href != '#')
  	{	soap_revert(soap);
  		if (!(*a = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))
  			return NULL;
  	}
  	else
  	{	a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Code);
  	if (soap_out_PointerToSOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type)
  {
  	if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #endif
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodouble(struct soap *soap, double *const*a)
  {
  	soap_reference(soap, *a, SOAP_TYPE_double);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodouble(struct soap *soap, const char *tag, int id, double *const*a, const char *type)
  {
  	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_double);
  	if (id < 0)
  		return soap->error;
  	return soap_out_double(soap, tag, id, *a, type);
  }
  
  SOAP_FMAC3 double ** SOAP_FMAC4 soap_in_PointerTodouble(struct soap *soap, const char *tag, double **a, const char *type)
  {
  	if (soap_element_begin_in(soap, tag, 1, NULL))
  		return NULL;
  	if (!a)
  		if (!(a = (double **)soap_malloc(soap, sizeof(double *))))
  			return NULL;
  	*a = NULL;
  	if (!soap->null && *soap->href != '#')
  	{	soap_revert(soap);
  		if (!(*a = soap_in_double(soap, tag, *a, type)))
  			return NULL;
  	}
  	else
  	{	a = (double **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_double, sizeof(double), 0);
  		if (soap->body && soap_element_end_in(soap, tag))
  			return NULL;
  	}
  	return a;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodouble(struct soap *soap, double *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTodouble);
  	if (soap_out_PointerTodouble(soap, tag?tag:"double", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 double ** SOAP_FMAC4 soap_get_PointerTodouble(struct soap *soap, double **p, const char *tag, const char *type)
  {
  	if ((p = soap_in_PointerTodouble(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
  {
  	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
  }
  
  SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type)
  {	char **p;
  	p = soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2, 0, -1);
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__QName);
  	if (soap_out__QName(soap, tag?tag:"byte", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
  {
  	if ((p = soap_in__QName(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_default_string(struct soap *soap, char **a)
  {
  	(void)soap; /* appease -Wall -Werror */
  #ifdef SOAP_DEFAULT_string
  	*a = SOAP_DEFAULT_string;
  #else
  	*a = (char *)0;
  #endif
  }
  
  SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap *soap, char *const*a)
  {
  	soap_reference(soap, *a, SOAP_TYPE_string);
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
  {
  	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_string);
  }
  
  SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type)
  {	char **p;
  	p = soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, 0, -1);
  	return p;
  }
  
  SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
  {
  	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_string);
  	if (soap_out_string(soap, tag?tag:"byte", id, a, type))
  		return soap->error;
  	return soap_putindependent(soap);
  }
  
  SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
  {
  	if ((p = soap_in_string(soap, tag, p, type)))
  		if (soap_getindependent(soap))
  			return NULL;
  	return p;
  }
  
  #ifdef __cplusplus
  }
  #endif
  
  #if defined(__BORLANDC__)
  #pragma option pop
  #pragma option pop
  #endif
  
  /* End of calcC.c */
  