/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

#include <string.h>
#include "gnome-pim.h"

#define GET_ATOM(x) G_STMT_START{ GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->decoder(&x, (GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur), sizeof(x)); ((guchar *)GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(x); }G_STMT_END
/***************** Begin module gnome_PIM ***************/
static void 
gnome_PIM_PIM_busy_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer, CORBA_Environment * ev)
{
   CORBA_exception_set(ev, CORBA_USER_EXCEPTION, TC_gnome_PIM_PIM_busy_struct.repo_id, gnome_PIM_PIM_busy__alloc());
   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
   } else {
   }
}
gnome_PIM_vCard_seq *
gnome_PIM_vCard_server_get_records(gnome_PIM_vCard_server _obj,
				   CORBA_Environment * ev)
{
   GIOP_unsigned_long _ORBIT_request_id;
   GIOPSendBuffer *_ORBIT_send_buffer;
   GIOPRecvBuffer *_ORBIT_recv_buffer;
   static const struct {
      CORBA_unsigned_long len;
      char opname[12];
   } _ORBIT_operation_name_data = {
      12, "get_records"
   };
   static const struct iovec _ORBIT_operation_vec =
   {(gpointer) & _ORBIT_operation_name_data, 16};
   gnome_PIM_vCard_seq *_ORBIT_retval;
   GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && gnome_PIM_vCard_server__classid) {
      return ((POA_gnome_PIM_vCard_server__epv *) _obj->vepv[gnome_PIM_vCard_server__classid])->get_records(_obj->servant, ev);

   }
   _cnx = ORBit_object_get_connection(_obj);
 retry_request:
   _ORBIT_request_id = giop_get_request_id();
   if ((_cnx == NULL) || (_obj->active_profile == NULL)) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return _ORBIT_retval;
   }
   _ORBIT_send_buffer =
      giop_send_request_buffer_use(_cnx, NULL,
     _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec),
		     &_ORBIT_operation_vec, &ORBit_default_principal_iovec);

   if (!_ORBIT_send_buffer) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return _ORBIT_retval;
   }
   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE);
   if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_MAYBE);
      if (_ORBIT_recv_buffer)
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return _ORBIT_retval;
   }
   if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) {
      if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return _ORBIT_retval;
      }
   }
   _ORBIT_retval = gnome_PIM_vCard_seq__alloc();
   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
/* demarshal return value */
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      GET_ATOM((*_ORBIT_retval)._length);
      (*_ORBIT_retval)._release = CORBA_TRUE;
      (*_ORBIT_retval)._buffer = CORBA_sequence_gnome_PIM_vCard_allocbuf((*_ORBIT_retval)._length);
      {
	 int i1;

	 for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) {
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).FN = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).FN,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).FN)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).N).family = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).family,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).family)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).N).given = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).given,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).given)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).N).additional = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).additional,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).additional)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).N).prefix = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).prefix,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).prefix)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).N).suffix = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).suffix,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).suffix)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).NICKNAME = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).NICKNAME,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).NICKNAME)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).PHOTO = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).PHOTO,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).PHOTO)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).BDAY).year);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).BDAY).month);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).BDAY).day);
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).type = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).type,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).type)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).pobox = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).pobox,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).pobox)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).extended_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).street_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).street_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).street_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).locality = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).locality,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).locality)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).region = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).region,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).region)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).postal_code = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).country_name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).country_name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).country_name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).type = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).type,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).type)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).pobox = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).street_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).locality = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).locality,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).locality)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).region = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).region,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).region)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).country_name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).country_name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).country_name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).TEL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).TEL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).TEL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).EMAIL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).EMAIL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).EMAIL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).MAILER = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).MAILER,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).MAILER)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).TZ).offset);
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).TZ).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).TZ).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).TZ).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).TZ).locale = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).TZ).locale,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).TZ).locale)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).GEO).LAT);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).GEO).LON);
	    {
	       GIOP_unsigned_long len;

	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).TITLE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).TITLE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).TITLE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).ROLE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).ROLE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).ROLE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).LOGO = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).LOGO,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).LOGO)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).AGENT = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).AGENT,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).AGENT)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit1 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit1,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit1)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit2 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit2,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit2)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit3 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit3,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit3)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit4 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit4,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit4)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).CATEGORIES = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).CATEGORIES,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).CATEGORIES)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).NOTE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).NOTE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).NOTE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).PRODID = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).PRODID,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).PRODID)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).REV = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).REV,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).REV)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).SORT_STRING = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).SORT_STRING,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).SORT_STRING)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).SOUND = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).SOUND,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).SOUND)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).URL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).URL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).URL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).UID = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).UID,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).UID)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).VERSION = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).VERSION,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).VERSION)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).CLASS = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).CLASS,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).CLASS)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       ((*_ORBIT_retval)._buffer[i1]).KEY = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).KEY,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).KEY)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	    GET_ATOM((((*_ORBIT_retval)._buffer[i1]).X)._length);
	    (((*_ORBIT_retval)._buffer[i1]).X)._release = CORBA_TRUE;
	    (((*_ORBIT_retval)._buffer[i1]).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf((((*_ORBIT_retval)._buffer[i1]).X)._length);
	    {
	       int i3;

	       for (i3 = 0; i3 < (((*_ORBIT_retval)._buffer[i1]).X)._length; i3++) {
		  {
		     GIOP_unsigned_long len;

		     GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
		     GET_ATOM(len);
		     ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name = CORBA_string_alloc(len);
		     if (len)
			strncpy(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name,
				GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
				len);
		     else
			(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name)[0] = '\0';
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
		  }
		  {
		     GIOP_unsigned_long len;

		     GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
		     GET_ATOM(len);
		     ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val = CORBA_string_alloc(len);
		     if (len)
			strncpy(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val,
				GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
				len);
		     else
			(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val)[0] = '\0';
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
		  }
	       }
	    }
	 }
      }
   } else {
/* demarshal return value */
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      (*_ORBIT_retval)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
      (*_ORBIT_retval)._release = CORBA_TRUE;
      (*_ORBIT_retval)._buffer = CORBA_sequence_gnome_PIM_vCard_allocbuf((*_ORBIT_retval)._length);
      {
	 int i1;

	 for (i1 = 0; i1 < (*_ORBIT_retval)._length; i1++) {
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).FN = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).FN,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).FN)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).N).family = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).family,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).family)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).N).given = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).given,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).given)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).N).additional = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).additional,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).additional)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).N).prefix = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).prefix,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).prefix)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).N).suffix = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).N).suffix,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).N).suffix)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).NICKNAME = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).NICKNAME,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).NICKNAME)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).PHOTO = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).PHOTO,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).PHOTO)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
	    memcpy(&((*_ORBIT_retval)._buffer[i1]).BDAY, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof(((*_ORBIT_retval)._buffer[i1]).BDAY));
	    ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(((*_ORBIT_retval)._buffer[i1]).BDAY);
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).type = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).type,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).type)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).pobox = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).pobox,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).pobox)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).extended_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).extended_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).street_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).street_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).street_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).locality = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).locality,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).locality)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).region = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).region,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).region)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).postal_code = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).postal_code)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ADR).country_name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ADR).country_name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ADR).country_name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).type = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).type,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).type)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).pobox = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).pobox)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).extended_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).street_address = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).street_address)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).locality = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).locality,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).locality)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).region = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).region,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).region)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).postal_code)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).LABEL).country_name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).LABEL).country_name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).LABEL).country_name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).TEL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).TEL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).TEL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).EMAIL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).EMAIL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).EMAIL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).MAILER = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).MAILER,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).MAILER)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
	    (((*_ORBIT_retval)._buffer[i1]).TZ).offset = *((CORBA_short *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	    ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_short);
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).TZ).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).TZ).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).TZ).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).TZ).locale = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).TZ).locale,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).TZ).locale)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	    memcpy(&((*_ORBIT_retval)._buffer[i1]).GEO, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof(((*_ORBIT_retval)._buffer[i1]).GEO));
	    ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(((*_ORBIT_retval)._buffer[i1]).GEO);
	    {
	       GIOP_unsigned_long len;

	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).TITLE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).TITLE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).TITLE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).ROLE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).ROLE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).ROLE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).LOGO = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).LOGO,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).LOGO)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).AGENT = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).AGENT,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).AGENT)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit1 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit1,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit1)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit2 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit2,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit2)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit3 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit3,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit3)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval)._buffer[i1]).ORG).unit4 = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval)._buffer[i1]).ORG).unit4,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval)._buffer[i1]).ORG).unit4)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).CATEGORIES = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).CATEGORIES,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).CATEGORIES)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).NOTE = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).NOTE,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).NOTE)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).PRODID = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).PRODID,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).PRODID)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).REV = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).REV,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).REV)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).SORT_STRING = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).SORT_STRING,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).SORT_STRING)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).SOUND = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).SOUND,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).SOUND)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).URL = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).URL,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).URL)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).UID = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).UID,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).UID)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).VERSION = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).VERSION,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).VERSION)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).CLASS = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).CLASS,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).CLASS)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       ((*_ORBIT_retval)._buffer[i1]).KEY = CORBA_string_alloc(len);
	       if (len)
		  strncpy(((*_ORBIT_retval)._buffer[i1]).KEY,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  (((*_ORBIT_retval)._buffer[i1]).KEY)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	    (((*_ORBIT_retval)._buffer[i1]).X)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	    ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	    (((*_ORBIT_retval)._buffer[i1]).X)._release = CORBA_TRUE;
	    (((*_ORBIT_retval)._buffer[i1]).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf((((*_ORBIT_retval)._buffer[i1]).X)._length);
	    {
	       int i3;

	       for (i3 = 0; i3 < (((*_ORBIT_retval)._buffer[i1]).X)._length; i3++) {
		  {
		     GIOP_unsigned_long len;

		     GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
		     len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
		     ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name = CORBA_string_alloc(len);
		     if (len)
			strncpy(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name,
				GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
				len);
		     else
			(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).name)[0] = '\0';
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
		  }
		  {
		     GIOP_unsigned_long len;

		     GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
		     len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
		     ((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val = CORBA_string_alloc(len);
		     if (len)
			strncpy(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val,
				GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
				len);
		     else
			(((((*_ORBIT_retval)._buffer[i1]).X)._buffer[i3]).val)[0] = '\0';
		     ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
		  }
	       }
	    }
	 }
      }
   }

   giop_recv_buffer_unuse(_ORBIT_recv_buffer);
   ev->_major = CORBA_NO_EXCEPTION;
   return _ORBIT_retval;
}

gnome_PIM_vCard *
gnome_PIM_vCard_server_get_record(gnome_PIM_vCard_server _obj,
				  const CORBA_char * UID,
				  CORBA_Environment * ev)
{
   GIOP_unsigned_long _ORBIT_request_id;
   GIOPSendBuffer *_ORBIT_send_buffer;
   GIOPRecvBuffer *_ORBIT_recv_buffer;
   static const struct {
      CORBA_unsigned_long len;
      char opname[11];
   } _ORBIT_operation_name_data = {
      11, "get_record"
   };
   static const struct iovec _ORBIT_operation_vec =
   {(gpointer) & _ORBIT_operation_name_data, 15};
   gnome_PIM_vCard *_ORBIT_retval;
   GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && gnome_PIM_vCard_server__classid) {
      return ((POA_gnome_PIM_vCard_server__epv *) _obj->vepv[gnome_PIM_vCard_server__classid])->get_record(_obj->servant, UID, ev);

   }
   _cnx = ORBit_object_get_connection(_obj);
 retry_request:
   _ORBIT_request_id = giop_get_request_id();
   if ((_cnx == NULL) || (_obj->active_profile == NULL)) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return _ORBIT_retval;
   }
   _ORBIT_send_buffer =
      giop_send_request_buffer_use(_cnx, NULL,
     _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec),
		     &_ORBIT_operation_vec, &ORBit_default_principal_iovec);

   if (!_ORBIT_send_buffer) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return _ORBIT_retval;
   }
   /* marshal parameter UID */
   {
      GIOP_unsigned_long len = UID ? (strlen(UID) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (UID)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), UID, len);
   }

   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE);
   if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_MAYBE);
      if (_ORBIT_recv_buffer)
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return _ORBIT_retval;
   }
   if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) {
      if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return _ORBIT_retval;
      }
   }
   _ORBIT_retval = gnome_PIM_vCard__alloc();
   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
/* demarshal return value */
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).FN = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).FN,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).FN)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).N).family = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).family,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).family)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).N).given = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).given,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).given)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).N).additional = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).additional,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).additional)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).N).prefix = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).prefix,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).prefix)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).N).suffix = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).suffix,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).suffix)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).NICKNAME = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).NICKNAME,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).NICKNAME)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).PHOTO = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).PHOTO,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).PHOTO)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
      GET_ATOM(((*_ORBIT_retval).BDAY).year);
      GET_ATOM(((*_ORBIT_retval).BDAY).month);
      GET_ATOM(((*_ORBIT_retval).BDAY).day);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).type = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).type,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).type)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).pobox = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).pobox,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).pobox)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).extended_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).extended_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).extended_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).street_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).street_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).street_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).locality = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).locality,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).locality)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).region = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).region,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).region)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).postal_code = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).postal_code,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).postal_code)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ADR).country_name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).country_name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).country_name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).type = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).type,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).type)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).pobox = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).pobox,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).pobox)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).extended_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).extended_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).extended_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).street_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).street_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).street_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).locality = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).locality,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).locality)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).region = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).region,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).region)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).postal_code = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).postal_code,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).postal_code)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).LABEL).country_name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).country_name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).country_name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).TEL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).TEL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).TEL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).EMAIL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).EMAIL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).EMAIL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).MAILER = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).MAILER,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).MAILER)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
      GET_ATOM(((*_ORBIT_retval).TZ).offset);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).TZ).name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).TZ).name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).TZ).name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).TZ).locale = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).TZ).locale,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).TZ).locale)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      GET_ATOM(((*_ORBIT_retval).GEO).LAT);
      GET_ATOM(((*_ORBIT_retval).GEO).LON);
      {
	 GIOP_unsigned_long len;

	 GET_ATOM(len);
	 (*_ORBIT_retval).TITLE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).TITLE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).TITLE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).ROLE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).ROLE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).ROLE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).LOGO = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).LOGO,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).LOGO)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).AGENT = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).AGENT,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).AGENT)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ORG).name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ORG).unit1 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit1,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit1)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ORG).unit2 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit2,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit2)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ORG).unit3 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit3,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit3)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 ((*_ORBIT_retval).ORG).unit4 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit4,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit4)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).CATEGORIES = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).CATEGORIES,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).CATEGORIES)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).NOTE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).NOTE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).NOTE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).PRODID = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).PRODID,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).PRODID)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).REV = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).REV,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).REV)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).SORT_STRING = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).SORT_STRING,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).SORT_STRING)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).SOUND = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).SOUND,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).SOUND)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).URL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).URL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).URL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).UID = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).UID,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).UID)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).VERSION = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).VERSION,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).VERSION)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).CLASS = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).CLASS,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).CLASS)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 GET_ATOM(len);
	 (*_ORBIT_retval).KEY = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).KEY,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).KEY)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      GET_ATOM(((*_ORBIT_retval).X)._length);
      ((*_ORBIT_retval).X)._release = CORBA_TRUE;
      ((*_ORBIT_retval).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf(((*_ORBIT_retval).X)._length);
      {
	 int i2;

	 for (i2 = 0; i2 < ((*_ORBIT_retval).X)._length; i2++) {
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval).X)._buffer[i2]).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval).X)._buffer[i2]).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval).X)._buffer[i2]).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       GET_ATOM(len);
	       (((*_ORBIT_retval).X)._buffer[i2]).val = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval).X)._buffer[i2]).val,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval).X)._buffer[i2]).val)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	 }
      }
   } else {
/* demarshal return value */
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).FN = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).FN,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).FN)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).N).family = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).family,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).family)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).N).given = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).given,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).given)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).N).additional = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).additional,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).additional)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).N).prefix = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).prefix,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).prefix)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).N).suffix = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).N).suffix,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).N).suffix)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).NICKNAME = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).NICKNAME,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).NICKNAME)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).PHOTO = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).PHOTO,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).PHOTO)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
      memcpy(&(*_ORBIT_retval).BDAY, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof((*_ORBIT_retval).BDAY));
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof((*_ORBIT_retval).BDAY);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).type = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).type,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).type)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).pobox = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).pobox,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).pobox)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).extended_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).extended_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).extended_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).street_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).street_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).street_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).locality = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).locality,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).locality)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).region = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).region,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).region)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).postal_code = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).postal_code,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).postal_code)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ADR).country_name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ADR).country_name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ADR).country_name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).type = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).type,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).type)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).pobox = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).pobox,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).pobox)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).extended_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).extended_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).extended_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).street_address = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).street_address,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).street_address)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).locality = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).locality,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).locality)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).region = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).region,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).region)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).postal_code = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).postal_code,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).postal_code)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).LABEL).country_name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).LABEL).country_name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).LABEL).country_name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).TEL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).TEL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).TEL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).EMAIL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).EMAIL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).EMAIL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).MAILER = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).MAILER,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).MAILER)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 2);
      ((*_ORBIT_retval).TZ).offset = *((CORBA_short *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_short);
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).TZ).name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).TZ).name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).TZ).name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).TZ).locale = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).TZ).locale,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).TZ).locale)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      memcpy(&(*_ORBIT_retval).GEO, GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, sizeof((*_ORBIT_retval).GEO));
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof((*_ORBIT_retval).GEO);
      {
	 GIOP_unsigned_long len;

	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).TITLE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).TITLE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).TITLE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).ROLE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).ROLE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).ROLE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).LOGO = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).LOGO,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).LOGO)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).AGENT = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).AGENT,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).AGENT)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ORG).name = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).name,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).name)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ORG).unit1 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit1,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit1)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ORG).unit2 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit2,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit2)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ORG).unit3 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit3,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit3)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 ((*_ORBIT_retval).ORG).unit4 = CORBA_string_alloc(len);
	 if (len)
	    strncpy(((*_ORBIT_retval).ORG).unit4,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    (((*_ORBIT_retval).ORG).unit4)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).CATEGORIES = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).CATEGORIES,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).CATEGORIES)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).NOTE = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).NOTE,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).NOTE)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).PRODID = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).PRODID,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).PRODID)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).REV = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).REV,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).REV)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).SORT_STRING = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).SORT_STRING,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).SORT_STRING)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).SOUND = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).SOUND,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).SOUND)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).URL = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).URL,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).URL)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).UID = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).UID,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).UID)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).VERSION = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).VERSION,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).VERSION)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).CLASS = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).CLASS,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).CLASS)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      {
	 GIOP_unsigned_long len;

	 GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	 len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	 (*_ORBIT_retval).KEY = CORBA_string_alloc(len);
	 if (len)
	    strncpy((*_ORBIT_retval).KEY,
		    GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
		    len);
	 else
	    ((*_ORBIT_retval).KEY)[0] = '\0';
	 ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
      }
      GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
      ((*_ORBIT_retval).X)._length = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
      ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
      ((*_ORBIT_retval).X)._release = CORBA_TRUE;
      ((*_ORBIT_retval).X)._buffer = CORBA_sequence_gnome_PIM_vCard_X_allocbuf(((*_ORBIT_retval).X)._length);
      {
	 int i2;

	 for (i2 = 0; i2 < ((*_ORBIT_retval).X)._length; i2++) {
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval).X)._buffer[i2]).name = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval).X)._buffer[i2]).name,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval).X)._buffer[i2]).name)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	    {
	       GIOP_unsigned_long len;

	       GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur = ALIGN_ADDRESS(GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur, 4);
	       len = *((CORBA_unsigned_long *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur);
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += sizeof(CORBA_unsigned_long);
	       (((*_ORBIT_retval).X)._buffer[i2]).val = CORBA_string_alloc(len);
	       if (len)
		  strncpy((((*_ORBIT_retval).X)._buffer[i2]).val,
			  GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur,
			  len);
	       else
		  ((((*_ORBIT_retval).X)._buffer[i2]).val)[0] = '\0';
	       ((char *) GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur) += len;
	    }
	 }
      }
   }

   giop_recv_buffer_unuse(_ORBIT_recv_buffer);
   ev->_major = CORBA_NO_EXCEPTION;
   return _ORBIT_retval;
}

void
gnome_PIM_vCard_server_set_record(gnome_PIM_vCard_server _obj,
				  const CORBA_char * UID,
				  const gnome_PIM_vCard * record,
				  CORBA_Environment * ev)
{
   GIOP_unsigned_long _ORBIT_request_id;
   GIOPSendBuffer *_ORBIT_send_buffer;
   GIOPRecvBuffer *_ORBIT_recv_buffer;
   static const struct {
      CORBA_unsigned_long len;
      char opname[11];
   } _ORBIT_operation_name_data = {
      11, "set_record"
   };
   static const struct iovec _ORBIT_operation_vec =
   {(gpointer) & _ORBIT_operation_name_data, 15};
   GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && gnome_PIM_vCard_server__classid) {
      ((POA_gnome_PIM_vCard_server__epv *) _obj->vepv[gnome_PIM_vCard_server__classid])->set_record(_obj->servant, UID, record, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 retry_request:
   _ORBIT_request_id = giop_get_request_id();
   if ((_cnx == NULL) || (_obj->active_profile == NULL)) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return;
   }
   _ORBIT_send_buffer =
      giop_send_request_buffer_use(_cnx, NULL,
     _ORBIT_request_id, CORBA_TRUE, &(_obj->active_profile->object_key_vec),
		     &_ORBIT_operation_vec, &ORBit_default_principal_iovec);

   if (!_ORBIT_send_buffer) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_NO);
      return;
   }
   /* marshal parameter UID */
   {
      GIOP_unsigned_long len = UID ? (strlen(UID) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (UID)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), UID, len);
   }

   /* marshal parameter *record */
   {
      GIOP_unsigned_long len = (*record).FN ? (strlen((*record).FN) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).FN)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).FN, len);
   }
   {
      GIOP_unsigned_long len = ((*record).N).family ? (strlen(((*record).N).family) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).N).family)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).N).family, len);
   }
   {
      GIOP_unsigned_long len = ((*record).N).given ? (strlen(((*record).N).given) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).N).given)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).N).given, len);
   }
   {
      GIOP_unsigned_long len = ((*record).N).additional ? (strlen(((*record).N).additional) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).N).additional)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).N).additional, len);
   }
   {
      GIOP_unsigned_long len = ((*record).N).prefix ? (strlen(((*record).N).prefix) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).N).prefix)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).N).prefix, len);
   }
   {
      GIOP_unsigned_long len = ((*record).N).suffix ? (strlen(((*record).N).suffix) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).N).suffix)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).N).suffix, len);
   }
   {
      GIOP_unsigned_long len = (*record).NICKNAME ? (strlen((*record).NICKNAME) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).NICKNAME)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).NICKNAME, len);
   }
   {
      GIOP_unsigned_long len = (*record).PHOTO ? (strlen((*record).PHOTO) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).PHOTO)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).PHOTO, len);
   }
   giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
   giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*record).BDAY), sizeof((*record).BDAY));
   {
      GIOP_unsigned_long len = ((*record).ADR).type ? (strlen(((*record).ADR).type) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).type)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).type, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).pobox ? (strlen(((*record).ADR).pobox) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).pobox)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).pobox, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).extended_address ? (strlen(((*record).ADR).extended_address) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).extended_address)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).extended_address, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).street_address ? (strlen(((*record).ADR).street_address) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).street_address)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).street_address, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).locality ? (strlen(((*record).ADR).locality) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).locality)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).locality, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).region ? (strlen(((*record).ADR).region) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).region)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).region, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).postal_code ? (strlen(((*record).ADR).postal_code) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).postal_code)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).postal_code, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ADR).country_name ? (strlen(((*record).ADR).country_name) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ADR).country_name)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ADR).country_name, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).type ? (strlen(((*record).LABEL).type) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).type)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).type, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).pobox ? (strlen(((*record).LABEL).pobox) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).pobox)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).pobox, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).extended_address ? (strlen(((*record).LABEL).extended_address) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).extended_address)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).extended_address, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).street_address ? (strlen(((*record).LABEL).street_address) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).street_address)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).street_address, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).locality ? (strlen(((*record).LABEL).locality) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).locality)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).locality, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).region ? (strlen(((*record).LABEL).region) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).region)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).region, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).postal_code ? (strlen(((*record).LABEL).postal_code) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).postal_code)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).postal_code, len);
   }
   {
      GIOP_unsigned_long len = ((*record).LABEL).country_name ? (strlen(((*record).LABEL).country_name) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).LABEL).country_name)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).LABEL).country_name, len);
   }
   {
      GIOP_unsigned_long len = (*record).TEL ? (strlen((*record).TEL) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).TEL)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).TEL, len);
   }
   {
      GIOP_unsigned_long len = (*record).EMAIL ? (strlen((*record).EMAIL) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).EMAIL)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).EMAIL, len);
   }
   {
      GIOP_unsigned_long len = (*record).MAILER ? (strlen((*record).MAILER) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).MAILER)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).MAILER, len);
   }
   giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 2);
   giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*record).TZ).offset, sizeof(((*record).TZ).offset));
   {
      GIOP_unsigned_long len = ((*record).TZ).name ? (strlen(((*record).TZ).name) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).TZ).name)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).TZ).name, len);
   }
   {
      GIOP_unsigned_long len = ((*record).TZ).locale ? (strlen(((*record).TZ).locale) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).TZ).locale)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).TZ).locale, len);
   }
   giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
   giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*record).GEO), sizeof((*record).GEO));
   {
      GIOP_unsigned_long len = (*record).TITLE ? (strlen((*record).TITLE) + 1) : 0;

      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).TITLE)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).TITLE, len);
   }
   {
      GIOP_unsigned_long len = (*record).ROLE ? (strlen((*record).ROLE) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).ROLE)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).ROLE, len);
   }
   {
      GIOP_unsigned_long len = (*record).LOGO ? (strlen((*record).LOGO) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).LOGO)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).LOGO, len);
   }
   {
      GIOP_unsigned_long len = (*record).AGENT ? (strlen((*record).AGENT) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).AGENT)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).AGENT, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ORG).name ? (strlen(((*record).ORG).name) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ORG).name)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ORG).name, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ORG).unit1 ? (strlen(((*record).ORG).unit1) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ORG).unit1)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ORG).unit1, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ORG).unit2 ? (strlen(((*record).ORG).unit2) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ORG).unit2)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ORG).unit2, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ORG).unit3 ? (strlen(((*record).ORG).unit3) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ORG).unit3)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ORG).unit3, len);
   }
   {
      GIOP_unsigned_long len = ((*record).ORG).unit4 ? (strlen(((*record).ORG).unit4) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if (((*record).ORG).unit4)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), ((*record).ORG).unit4, len);
   }
   {
      GIOP_unsigned_long len = (*record).CATEGORIES ? (strlen((*record).CATEGORIES) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).CATEGORIES)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).CATEGORIES, len);
   }
   {
      GIOP_unsigned_long len = (*record).NOTE ? (strlen((*record).NOTE) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).NOTE)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).NOTE, len);
   }
   {
      GIOP_unsigned_long len = (*record).PRODID ? (strlen((*record).PRODID) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).PRODID)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).PRODID, len);
   }
   {
      GIOP_unsigned_long len = (*record).REV ? (strlen((*record).REV) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).REV)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).REV, len);
   }
   {
      GIOP_unsigned_long len = (*record).SORT_STRING ? (strlen((*record).SORT_STRING) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).SORT_STRING)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).SORT_STRING, len);
   }
   {
      GIOP_unsigned_long len = (*record).SOUND ? (strlen((*record).SOUND) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).SOUND)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).SOUND, len);
   }
   {
      GIOP_unsigned_long len = (*record).URL ? (strlen((*record).URL) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).URL)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).URL, len);
   }
   {
      GIOP_unsigned_long len = (*record).UID ? (strlen((*record).UID) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).UID)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).UID, len);
   }
   {
      GIOP_unsigned_long len = (*record).VERSION ? (strlen((*record).VERSION) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).VERSION)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).VERSION, len);
   }
   {
      GIOP_unsigned_long len = (*record).CLASS ? (strlen((*record).CLASS) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).CLASS)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).CLASS, len);
   }
   {
      GIOP_unsigned_long len = (*record).KEY ? (strlen((*record).KEY) + 1) : 0;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
      if ((*record).KEY)
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (*record).KEY, len);
   }
   {
      GIOP_unsigned_long i2;

      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), &((*record).X)._length, sizeof(((*record).X)._length));
      for (i2 = 0; i2 < ((*record).X)._length; i2++) {
	 {
	    GIOP_unsigned_long len = (((*record).X)._buffer[i2]).name ? (strlen((((*record).X)._buffer[i2]).name) + 1) : 0;

	    giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	    giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	    if ((((*record).X)._buffer[i2]).name)
	       giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*record).X)._buffer[i2]).name, len);
	 }
	 {
	    GIOP_unsigned_long len = (((*record).X)._buffer[i2]).val ? (strlen((((*record).X)._buffer[i2]).val) + 1) : 0;

	    giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), 4);
	    giop_send_buffer_append_mem_indirect(GIOP_SEND_BUFFER(_ORBIT_send_buffer), &len, sizeof(len));
	    if ((((*record).X)._buffer[i2]).val)
	       giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer), (((*record).X)._buffer[i2]).val, len);
	 }
      }
   }

   giop_send_buffer_write(_ORBIT_send_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   _ORBIT_recv_buffer = giop_recv_reply_buffer_use_2(ORBit_object_get_connection(_obj), _ORBIT_request_id, TRUE);
   if (_ORBIT_recv_buffer == NULL || _ORBIT_recv_buffer->message_buffer.message_header.message_type != GIOP_REPLY) {
      CORBA_exception_set_system(ev, ex_CORBA_COMM_FAILURE, CORBA_COMPLETED_MAYBE);
      if (_ORBIT_recv_buffer)
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
   }
   if (_ORBIT_recv_buffer->message.u.reply.reply_status != GIOP_NO_EXCEPTION) {
      if (_ORBIT_recv_buffer->message.u.reply.reply_status == GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
   giop_recv_buffer_unuse(_ORBIT_recv_buffer);
   ev->_major = CORBA_NO_EXCEPTION;
}

/***************** End module gnome_PIM ***************/
