/* edsf-persona-store.c generated by valac 0.17.6.5-65f99, the Vala compiler
 * generated from edsf-persona-store.vala, do not modify */

/*
 * Copyright (C) 2011 Collabora Ltd.
 *
 * This library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *       Travis Reitter <travis.reitter@collabora.co.uk>
 *       Philip Withnall <philip.withnall@collabora.co.uk>
 *       Marco Barisione <marco.barisione@collabora.co.uk>
 *       Raul Gutierrez Segales <raul.gutierrez.segales@collabora.co.uk>
 */

#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <libedataserver/libedataserver.h>
#include <folks/folks.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>
#include <libebook/libebook.h>
#include <glib/gi18n-lib.h>
#include <folks-internal.h>


#define EDSF_TYPE_PERSONA_STORE (edsf_persona_store_get_type ())
#define EDSF_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore))
#define EDSF_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStoreClass))
#define EDSF_IS_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDSF_TYPE_PERSONA_STORE))
#define EDSF_IS_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDSF_TYPE_PERSONA_STORE))
#define EDSF_PERSONA_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStoreClass))

typedef struct _EdsfPersonaStore EdsfPersonaStore;
typedef struct _EdsfPersonaStoreClass EdsfPersonaStoreClass;
typedef struct _EdsfPersonaStorePrivate EdsfPersonaStorePrivate;

#define EDSF_TYPE_PERSONA (edsf_persona_get_type ())
#define EDSF_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDSF_TYPE_PERSONA, EdsfPersona))
#define EDSF_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDSF_TYPE_PERSONA, EdsfPersonaClass))
#define EDSF_IS_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDSF_TYPE_PERSONA))
#define EDSF_IS_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDSF_TYPE_PERSONA))
#define EDSF_PERSONA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDSF_TYPE_PERSONA, EdsfPersonaClass))

typedef struct _EdsfPersona EdsfPersona;
typedef struct _EdsfPersonaClass EdsfPersonaClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
typedef struct _EdsfPersonaStoreAddPersonaFromDetailsData EdsfPersonaStoreAddPersonaFromDetailsData;
typedef struct _EdsfPersonaStoreRemovePersonaData EdsfPersonaStoreRemovePersonaData;
typedef struct _EdsfPersonaStorePrepareData EdsfPersonaStorePrepareData;
typedef struct _EdsfPersonaStoreOpenAddressBookData EdsfPersonaStoreOpenAddressBookData;
typedef struct _Block2Data Block2Data;
typedef struct _Block3Data Block3Data;
typedef struct _EdsfPersonaStoreCommitModifiedPropertyData EdsfPersonaStoreCommitModifiedPropertyData;
typedef struct _EdsfPersonaStoreSetAvatarData EdsfPersonaStoreSetAvatarData;
typedef struct _EdsfPersonaStoreSetWebServiceAddressesData EdsfPersonaStoreSetWebServiceAddressesData;
#define __vala_EVCardAttributeParam_free0(var) ((var == NULL) ? NULL : (var = (_vala_EVCardAttributeParam_free (var), NULL)))
#define __vala_EVCardAttribute_free0(var) ((var == NULL) ? NULL : (var = (_vala_EVCardAttribute_free (var), NULL)))
typedef struct _EdsfPersonaStoreSetUrlsData EdsfPersonaStoreSetUrlsData;

#define EDSF_PERSONA_TYPE_URL_TYPE_MAPPING (edsf_persona_url_type_mapping_get_type ())
typedef struct _EdsfPersonaUrlTypeMapping EdsfPersonaUrlTypeMapping;
typedef struct _EdsfPersonaStoreSetLocalIdsData EdsfPersonaStoreSetLocalIdsData;
typedef struct _EdsfPersonaStoreSetIsFavouriteData EdsfPersonaStoreSetIsFavouriteData;
#define __vala_EContactPhoto_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactPhoto_free (var), NULL)))
typedef struct _EdsfPersonaStoreSetContactAvatarData EdsfPersonaStoreSetContactAvatarData;
typedef struct _EdsfPersonaStoreSetEmailsData EdsfPersonaStoreSetEmailsData;
typedef struct _EdsfPersonaStoreSetPhonesData EdsfPersonaStoreSetPhonesData;
typedef struct _EdsfPersonaStoreSetPostalAddressesData EdsfPersonaStoreSetPostalAddressesData;
#define __g_list_free___vala_EVCardAttribute_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free___vala_EVCardAttribute_free0_ (var), NULL)))
typedef struct _EdsfPersonaStoreSetFullNameData EdsfPersonaStoreSetFullNameData;
typedef struct _EdsfPersonaStoreSetNicknameData EdsfPersonaStoreSetNicknameData;
typedef struct _EdsfPersonaStoreSetNotesData EdsfPersonaStoreSetNotesData;
typedef struct _EdsfPersonaStoreSetBirthdayData EdsfPersonaStoreSetBirthdayData;
#define __vala_EContactDate_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactDate_free (var), NULL)))
typedef struct _EdsfPersonaStoreSetRolesData EdsfPersonaStoreSetRolesData;
typedef struct _EdsfPersonaStoreSetStructuredNameData EdsfPersonaStoreSetStructuredNameData;
#define __vala_EContactName_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactName_free (var), NULL)))
typedef struct _EdsfPersonaStoreSetImFdsData EdsfPersonaStoreSetImFdsData;
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
typedef struct _EdsfPersonaStoreSetGroupsData EdsfPersonaStoreSetGroupsData;
#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
typedef struct _EdsfPersonaStoreSetGenderData EdsfPersonaStoreSetGenderData;
typedef struct _EdsfPersonaStoreSetAntiLinksData EdsfPersonaStoreSetAntiLinksData;
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _EdsfPersonaStore {
	FolksPersonaStore parent_instance;
	EdsfPersonaStorePrivate * priv;
};

struct _EdsfPersonaStoreClass {
	FolksPersonaStoreClass parent_class;
};

struct _EdsfPersonaStorePrivate {
	GeeHashMap* _personas;
	GStaticRecMutex __lock__personas;
	GeeMap* _personas_ro;
	gboolean _is_prepared;
	gboolean _prepare_pending;
	gboolean _is_quiescent;
	GeeHashSet* _pending_personas;
	EBookClient* _addressbook;
	EBookClientView* _ebookview;
	ESourceRegistry* _source_registry;
	gchar* _query_str;
	gchar** _always_writeable_properties;
	gint _always_writeable_properties_length1;
	gint __always_writeable_properties_size_;
	ESource* _source;
	GError* _open_address_book_error;
	GSourceFunc _open_address_book_callback;
	gpointer _open_address_book_callback_target;
	GDestroyNotify _open_address_book_callback_target_destroy_notify;
};

struct _EdsfPersonaStoreAddPersonaFromDetailsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	GHashTable* details;
	FolksPersona* result;
	gboolean _tmp0_;
	GError* _tmp1_;
	EContact* _tmp2_;
	EContact* contact;
	GHashTable* _tmp3_;
	GHashTableIter iter;
	const gchar* k;
	GValue* _v;
	gconstpointer _tmp4_;
	gconstpointer _tmp5_;
	gboolean _tmp6_;
	GValue* _tmp7_;
	GValue* _tmp8_;
	GValue v;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* full_name;
	gboolean _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gboolean _tmp16_;
	EContact* _tmp17_;
	EContactField _tmp18_;
	const gchar* _tmp19_;
	const gchar* _tmp20_;
	const gchar* _tmp21_;
	GObject* _tmp22_;
	GeeSet* _tmp23_;
	GeeSet* email_addresses;
	EContact* _tmp24_;
	GeeSet* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	GObject* _tmp28_;
	GLoadableIcon* _tmp29_;
	GLoadableIcon* avatar;
	EContact* _tmp30_;
	GLoadableIcon* _tmp31_;
	GError* e1;
	GError* _tmp32_;
	const gchar* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	GObject* _tmp36_;
	GeeMultiMap* _tmp37_;
	GeeMultiMap* im_fds;
	EContact* _tmp38_;
	GeeMultiMap* _tmp39_;
	const gchar* _tmp40_;
	const gchar* _tmp41_;
	GObject* _tmp42_;
	GeeSet* _tmp43_;
	GeeSet* phone_numbers;
	EContact* _tmp44_;
	GeeSet* _tmp45_;
	const gchar* _tmp46_;
	const gchar* _tmp47_;
	GObject* _tmp48_;
	GeeSet* _tmp49_;
	GeeSet* postal_fds;
	EContact* _tmp50_;
	GeeSet* _tmp51_;
	const gchar* _tmp52_;
	const gchar* _tmp53_;
	GObject* _tmp54_;
	FolksStructuredName* _tmp55_;
	FolksStructuredName* sname;
	EContact* _tmp56_;
	FolksStructuredName* _tmp57_;
	const gchar* _tmp58_;
	const gchar* _tmp59_;
	GObject* _tmp60_;
	GeeSet* _tmp61_;
	GeeSet* local_ids;
	EContact* _tmp62_;
	GeeSet* _tmp63_;
	const gchar* _tmp64_;
	const gchar* _tmp65_;
	GObject* _tmp66_;
	GeeHashMultiMap* _tmp67_;
	GeeHashMultiMap* web_service_addresses;
	EContact* _tmp68_;
	GeeHashMultiMap* _tmp69_;
	const gchar* _tmp70_;
	const gchar* _tmp71_;
	GObject* _tmp72_;
	GeeHashSet* _tmp73_;
	GeeHashSet* notes;
	EContact* _tmp74_;
	GeeHashSet* _tmp75_;
	const gchar* _tmp76_;
	const gchar* _tmp77_;
	gint _tmp78_;
	FolksGender gender;
	EContact* _tmp79_;
	FolksGender _tmp80_;
	const gchar* _tmp81_;
	const gchar* _tmp82_;
	GObject* _tmp83_;
	GeeSet* _tmp84_;
	GeeSet* urls;
	EContact* _tmp85_;
	GeeSet* _tmp86_;
	const gchar* _tmp87_;
	const gchar* _tmp88_;
	void* _tmp89_;
	GDateTime* _tmp90_;
	GDateTime* birthday;
	EContact* _tmp91_;
	GDateTime* _tmp92_;
	const gchar* _tmp93_;
	const gchar* _tmp94_;
	GObject* _tmp95_;
	GeeSet* _tmp96_;
	GeeSet* roles;
	EContact* _tmp97_;
	GeeSet* _tmp98_;
	const gchar* _tmp99_;
	const gchar* _tmp100_;
	gboolean _tmp101_;
	gboolean is_fav;
	EContact* _tmp102_;
	gboolean _tmp103_;
	EdsfPersona* _persona;
	gchar* added_uid;
	EBookClient* _tmp104_;
	EContact* _tmp105_;
	gchar* _tmp106_;
	gboolean _tmp107_;
	gboolean _result_;
	gboolean _tmp108_;
	const gchar* _tmp109_;
	GeeHashMap* _tmp110_;
	const gchar* _tmp111_;
	const gchar* _tmp112_;
	const gchar* _tmp113_;
	gchar* _tmp114_;
	gchar* iid;
	GeeHashMap* _tmp115_;
	const gchar* _tmp116_;
	gpointer _tmp117_;
	EdsfPersona* _tmp118_;
	EdsfPersona* persona;
	EContact* _tmp119_;
	EContactField _tmp120_;
	const gchar* _tmp121_;
	EContact* _tmp122_;
	EdsfPersona* _tmp123_;
	GeeHashMap* _tmp124_;
	EdsfPersona* _tmp125_;
	const gchar* _tmp126_;
	const gchar* _tmp127_;
	EdsfPersona* _tmp128_;
	GeeHashSet* _tmp129_;
	GeeHashSet* added_personas;
	GeeHashSet* _tmp130_;
	EdsfPersona* _tmp131_;
	GeeHashSet* _tmp132_;
	EdsfPersona* _tmp133_;
	EdsfPersona* _tmp134_;
	GeeHashMap* _tmp135_;
	GError* _tmp136_;
	GError* e;
	GError* _tmp137_;
	const gchar* _tmp138_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreRemovePersonaData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	FolksPersona* persona;
	gboolean _tmp0_;
	GError* _tmp1_;
	EBookClient* _tmp2_;
	FolksPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GError* e;
	GError* _tmp6_;
	GQuark _tmp7_;
	GQuark _tmp8_;
	GError* _tmp9_;
	gint _tmp10_;
	GError* _tmp11_;
	GQuark _tmp12_;
	GQuark _tmp13_;
	GError* _tmp14_;
	gint _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	FolksPersona* _tmp19_;
	const gchar* _tmp20_;
	const gchar* _tmp21_;
	GError* _tmp22_;
	const gchar* _tmp23_;
	FolksPersona* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	GError* _tmp27_;
	const gchar* _tmp28_;
	GError* _tmp29_;
	const gchar* _tmp30_;
	GError* _tmp31_;
	const gchar* _tmp32_;
	GError* _tmp33_;
	const gchar* _tmp34_;
	FolksPersona* _tmp35_;
	const gchar* _tmp36_;
	const gchar* _tmp37_;
	GError* _tmp38_;
	const gchar* _tmp39_;
	GError* _tmp40_;
	GError * _inner_error_;
};

struct _EdsfPersonaStorePrepareData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	ESourceRegistry* _tmp6_;
	ESourceRegistry* _tmp7_;
	ESourceRegistry* _tmp8_;
	ESourceRegistry* _tmp9_;
	ESourceRegistry* _tmp10_;
	ESource* _tmp11_;
	EBookClient* _tmp12_;
	EBookClient* _tmp13_;
	EBookClient* _tmp14_;
	EBookClient* _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	GError* e1;
	GError* _tmp20_;
	GQuark _tmp21_;
	GQuark _tmp22_;
	GError* _tmp23_;
	gint _tmp24_;
	GError* _tmp25_;
	GQuark _tmp26_;
	GQuark _tmp27_;
	GError* _tmp28_;
	gint _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	const gchar* _tmp32_;
	GError* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	const gchar* _tmp36_;
	GError* _tmp37_;
	const gchar* _tmp38_;
	GError* _tmp39_;
	const gchar* _tmp40_;
	const gchar* _tmp41_;
	const gchar* _tmp42_;
	GError* _tmp43_;
	const gchar* _tmp44_;
	GError* _tmp45_;
	gchar* supported_fields;
	EBookClient* _tmp46_;
	gchar* _tmp47_;
	const gchar* _tmp48_;
	const gchar* _tmp49_;
	GeeHashSet* _tmp50_;
	GeeHashSet* prop_set;
	const gchar* _tmp51_;
	const gchar* _tmp52_;
	gchar** _tmp53_;
	gchar** _tmp54_;
	gchar** fields;
	gint fields_length1;
	gint _fields_size_;
	GeeHashSet* _tmp55_;
	const gchar* _tmp56_;
	GeeHashSet* _tmp57_;
	const gchar* _tmp58_;
	GeeHashSet* _tmp59_;
	const gchar* _tmp60_;
	GeeHashSet* _tmp61_;
	const gchar* _tmp62_;
	GeeHashSet* _tmp63_;
	const gchar* _tmp64_;
	gchar** _tmp65_;
	gint _tmp65__length1;
	gchar** field_collection;
	gint field_collection_length1;
	gint _field_collection_size_;
	gint field_it;
	const gchar* field;
	const gchar* _tmp66_;
	FolksPersonaDetail _tmp67_;
	const gchar* _tmp68_;
	gchar* _tmp69_;
	gchar* prop;
	const gchar* _tmp70_;
	GeeHashSet* _tmp71_;
	gchar* _tmp72_;
	gchar* _tmp73_;
	GeeHashSet* _tmp74_;
	gint _tmp75_;
	gint _tmp76_;
	gchar** _tmp77_;
	guint i;
	GeeHashSet* _tmp78_;
	GeeIterator* _tmp79_;
	GeeIterator* _final_prop_it;
	GeeIterator* _tmp80_;
	gboolean _tmp81_;
	GeeIterator* _tmp82_;
	gpointer _tmp83_;
	gchar* final_prop;
	gchar** _tmp84_;
	gint _tmp84__length1;
	guint _tmp85_;
	const gchar* _tmp86_;
	gchar* _tmp87_;
	gchar* _tmp88_;
	GError* e2;
	const gchar* _tmp89_;
	GError* _tmp90_;
	const gchar* _tmp91_;
	GError* _tmp92_;
	gboolean do_initial_query;
	gchar* capabilities;
	EBookClient* _tmp93_;
	gchar* _tmp94_;
	const gchar* _tmp95_;
	const gchar* _tmp96_;
	const gchar* _tmp97_;
	const gchar* _tmp98_;
	gchar** _tmp99_;
	gchar** _tmp100_;
	gchar** caps;
	gint caps_length1;
	gint _caps_size_;
	gchar** _tmp101_;
	gint _tmp101__length1;
	GError* e4;
	const gchar* _tmp102_;
	GError* _tmp103_;
	const gchar* _tmp104_;
	GError* _tmp105_;
	gboolean got_view;
	EBookClient* _tmp106_;
	const gchar* _tmp107_;
	EBookClientView* _tmp108_;
	gboolean _tmp109_;
	gboolean _tmp110_;
	const gchar* _tmp111_;
	const gchar* _tmp112_;
	gboolean _tmp113_;
	const gchar* _tmp114_;
	const gchar* _tmp115_;
	const gchar* _tmp116_;
	GError* _tmp117_;
	EBookClientView* _tmp118_;
	EBookClientView* _tmp119_;
	EBookClientView* _tmp120_;
	EBookClientView* _tmp121_;
	EBookClientView* _tmp122_;
	GError* e3;
	GError* _tmp123_;
	GQuark _tmp124_;
	GQuark _tmp125_;
	GError* _tmp126_;
	gint _tmp127_;
	GError* _tmp128_;
	GQuark _tmp129_;
	GQuark _tmp130_;
	GError* _tmp131_;
	gint _tmp132_;
	const gchar* _tmp133_;
	const gchar* _tmp134_;
	const gchar* _tmp135_;
	GError* _tmp136_;
	const gchar* _tmp137_;
	const gchar* _tmp138_;
	const gchar* _tmp139_;
	GError* _tmp140_;
	const gchar* _tmp141_;
	GError* _tmp142_;
	const gchar* _tmp143_;
	const gchar* _tmp144_;
	const gchar* _tmp145_;
	GError* _tmp146_;
	const gchar* _tmp147_;
	GError* _tmp148_;
	gboolean _tmp149_;
	gboolean _tmp150_;
	gboolean _tmp151_;
	gboolean _tmp152_;
	GeeHashSet* _tmp153_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreOpenAddressBookData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	GError* err_out;
	EBookClient* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	EBookClient* _tmp3_;
	gulong _tmp4_;
	gulong signal_id;
	EBookClient* _tmp5_;
	GError* _tmp6_;
	GError* _tmp7_;
	GError* _tmp8_;
	GError* e1;
	gboolean _tmp9_;
	GError* _tmp10_;
	GQuark _tmp11_;
	GQuark _tmp12_;
	GError* _tmp13_;
	gint _tmp14_;
	gboolean _tmp15_;
	EBookClient* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	GError* _tmp19_;
	GError* _tmp20_;
	GError* _tmp21_;
	GError* _tmp22_;
	GError* _tmp23_;
	GError* _tmp24_;
	GError* _tmp25_;
	EBookClient* _tmp26_;
	gulong _tmp27_;
	gboolean _tmp28_;
	EBookClient* _tmp29_;
	gboolean _tmp30_;
	GError* _tmp31_;
	gboolean _tmp32_;
	GQuark _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	GError* _tmp36_;
	GError * _inner_error_;
};

struct _Block2Data {
	int _ref_count_;
	EdsfPersonaStore * self;
	gpointer _async_data_;
};

struct _Block3Data {
	int _ref_count_;
	Block2Data * _data2_;
	gboolean received_notification;
	gboolean has_yielded;
};

struct _EdsfPersonaStoreCommitModifiedPropertyData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	gchar* property_name;
	Block2Data* _data2_;
	EBookClient* _tmp0_;
	EdsfPersona* _tmp1_;
	EContact* _tmp2_;
	EContact* _tmp3_;
	EContact* _tmp4_;
	EContact* contact;
	gulong signal_id;
	guint timeout_id;
	Block3Data* _data3_;
	EdsfPersona* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	gulong _tmp8_;
	EBookClient* _tmp9_;
	EContact* _tmp10_;
	guint _tmp11_;
	gboolean _tmp12_;
	gboolean _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	GError* _tmp16_;
	GError* e;
	const gchar* _tmp17_;
	GError* _tmp18_;
	GError* _tmp19_;
	gulong _tmp20_;
	EdsfPersona* _tmp21_;
	gulong _tmp22_;
	guint _tmp23_;
	guint _tmp24_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetAvatarData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GLoadableIcon* avatar;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	EdsfPersona* _tmp5_;
	GLoadableIcon* _tmp6_;
	GLoadableIcon* _tmp7_;
	GLoadableIcon* _tmp8_;
	gboolean _tmp9_;
	gboolean _tmp10_;
	EdsfPersona* _tmp11_;
	GLoadableIcon* _tmp12_;
	GLoadableIcon* _tmp13_;
	EdsfPersona* _tmp14_;
	GLoadableIcon* _tmp15_;
	GLoadableIcon* _tmp16_;
	GLoadableIcon* _tmp17_;
	gboolean _tmp18_;
	gboolean _tmp19_;
	gboolean _tmp20_;
	EdsfPersona* _tmp21_;
	EContact* _tmp22_;
	EContact* _tmp23_;
	GLoadableIcon* _tmp24_;
	EdsfPersona* _tmp25_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetWebServiceAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeMultiMap* web_service_addresses;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	GeeMultiMap* _tmp4_;
	GeeMultiMap* _tmp5_;
	GeeMultiMap* _tmp6_;
	gboolean _tmp7_;
	EdsfPersona* _tmp8_;
	EContact* _tmp9_;
	EContact* _tmp10_;
	GeeMultiMap* _tmp11_;
	EdsfPersona* _tmp12_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetUrlsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* urls;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	GeeSet* _tmp4_;
	GeeSet* _tmp5_;
	GeeSet* _tmp6_;
	gboolean _tmp7_;
	EdsfPersona* _tmp8_;
	EContact* _tmp9_;
	EContact* _tmp10_;
	GeeSet* _tmp11_;
	EdsfPersona* _tmp12_;
	GError * _inner_error_;
};

struct _EdsfPersonaUrlTypeMapping {
	gchar* vcard_field_name;
	gchar* folks_type;
};

struct _EdsfPersonaStoreSetLocalIdsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* local_ids;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetIsFavouriteData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	gboolean is_favourite;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	gboolean _tmp6_;
	EdsfPersona* _tmp7_;
	EContact* _tmp8_;
	EContact* _tmp9_;
	EdsfPersona* _tmp10_;
	GeeSet* _tmp11_;
	GeeSet* _tmp12_;
	gboolean _tmp13_;
	EdsfPersona* _tmp14_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetContactAvatarData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EContact* contact;
	GLoadableIcon* avatar;
	GLoadableIcon* _tmp0_;
	EContact* _tmp1_;
	EContactPhoto* _tmp2_;
	EContactPhoto* cp;
	EContactPhoto* _tmp3_;
	GLoadableIcon* _tmp4_;
	GInputStream* _tmp5_;
	GInputStream* input_s;
	guint8* _tmp6_;
	guint8* image_data;
	gint image_data_length1;
	gint _image_data_size_;
	guint8* _tmp7_;
	guint8* buffer;
	gint buffer_length1;
	gint _buffer_size_;
	GInputStream* _tmp8_;
	guint8* _tmp9_;
	gint _tmp9__length1;
	gssize _tmp10_;
	gssize size_read;
	gssize _tmp11_;
	guint8* _tmp12_;
	gint _tmp12__length1;
	gint read_cur;
	gint _tmp13_;
	gssize _tmp14_;
	gint _tmp15_;
	guint8* _tmp16_;
	gint _tmp16__length1;
	gint _tmp17_;
	guint8* _tmp18_;
	gint _tmp18__length1;
	gssize _tmp19_;
	EContactPhoto* _tmp20_;
	guint8* _tmp21_;
	gint _tmp21__length1;
	gboolean uncertain;
	guint8* _tmp22_;
	gint _tmp22__length1;
	gboolean _tmp23_;
	gchar* _tmp24_;
	gchar* mime_type;
	gboolean _tmp25_;
	EContactPhoto* _tmp26_;
	const gchar* _tmp27_;
	EContact* _tmp28_;
	EContactPhoto* _tmp29_;
	GError* e1;
	const gchar* _tmp30_;
	GError* _tmp31_;
	const gchar* _tmp32_;
	GError* _tmp33_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetEmailsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* emails;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetPhonesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* phones;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetPostalAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* postal_fds;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

typedef void (*EdsfPersonaStoreFieldToAttribute) (EVCardAttribute* attr, gconstpointer value, void* user_data);
struct _EdsfPersonaStoreSetFullNameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	gchar* full_name;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _full_name;
	const gchar* _tmp5_;
	EdsfPersona* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	EdsfPersona* _tmp10_;
	EContact* _tmp11_;
	EContact* _tmp12_;
	EContactField _tmp13_;
	const gchar* _tmp14_;
	EdsfPersona* _tmp15_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetNicknameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	gchar* nickname;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _nickname;
	const gchar* _tmp5_;
	EdsfPersona* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	EdsfPersona* _tmp10_;
	EContact* _tmp11_;
	EContact* _tmp12_;
	EContactField _tmp13_;
	const gchar* _tmp14_;
	EdsfPersona* _tmp15_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetNotesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* notes;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetBirthdayData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GDateTime* bday;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	EdsfPersona* _tmp5_;
	GDateTime* _tmp6_;
	GDateTime* _tmp7_;
	GDateTime* _tmp8_;
	gboolean _tmp9_;
	EdsfPersona* _tmp10_;
	GDateTime* _tmp11_;
	GDateTime* _tmp12_;
	GDateTime* _tmp13_;
	gboolean _tmp14_;
	gboolean _tmp15_;
	gboolean _tmp16_;
	EdsfPersona* _tmp17_;
	GDateTime* _tmp18_;
	GDateTime* _tmp19_;
	GDateTime* _tmp20_;
	gboolean _tmp21_;
	EdsfPersona* _tmp22_;
	EContact* _tmp23_;
	EContact* _tmp24_;
	GDateTime* _tmp25_;
	EdsfPersona* _tmp26_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetRolesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* roles;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	GeeSet* _tmp3_;
	EdsfPersona* _tmp4_;
	GeeSet* _tmp5_;
	GeeSet* _tmp6_;
	gboolean _tmp7_;
	EdsfPersona* _tmp8_;
	EContact* _tmp9_;
	EContact* _tmp10_;
	GeeSet* _tmp11_;
	EdsfPersona* _tmp12_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetStructuredNameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	FolksStructuredName* sname;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	EdsfPersona* _tmp5_;
	FolksStructuredName* _tmp6_;
	FolksStructuredName* _tmp7_;
	FolksStructuredName* _tmp8_;
	gboolean _tmp9_;
	EdsfPersona* _tmp10_;
	FolksStructuredName* _tmp11_;
	FolksStructuredName* _tmp12_;
	FolksStructuredName* _tmp13_;
	gboolean _tmp14_;
	gboolean _tmp15_;
	gboolean _tmp16_;
	EdsfPersona* _tmp17_;
	FolksStructuredName* _tmp18_;
	FolksStructuredName* _tmp19_;
	FolksStructuredName* _tmp20_;
	gboolean _tmp21_;
	EdsfPersona* _tmp22_;
	EContact* _tmp23_;
	EContact* _tmp24_;
	FolksStructuredName* _tmp25_;
	EdsfPersona* _tmp26_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetImFdsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeMultiMap* im_fds;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	GeeMultiMap* _tmp4_;
	GeeMultiMap* _tmp5_;
	GeeMultiMap* _tmp6_;
	gboolean _tmp7_;
	EdsfPersona* _tmp8_;
	EContact* _tmp9_;
	EContact* _tmp10_;
	GeeMultiMap* _tmp11_;
	EdsfPersona* _tmp12_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetGroupsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* groups;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	GeeSet* _tmp6_;
	EdsfPersona* _tmp7_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	EdsfPersona* _tmp10_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetGenderData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	FolksGender gender;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	EdsfPersona* _tmp3_;
	EContact* _tmp4_;
	EContact* _tmp5_;
	FolksGender _tmp6_;
	EdsfPersona* _tmp7_;
	GError * _inner_error_;
};

struct _EdsfPersonaStoreSetAntiLinksData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersonaStore* self;
	EdsfPersona* persona;
	GeeSet* anti_links;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	GError* _tmp2_;
	GeeSet* _tmp3_;
	EdsfPersona* _tmp4_;
	GeeSet* _tmp5_;
	GeeSet* _tmp6_;
	gboolean _tmp7_;
	EdsfPersona* _tmp8_;
	EContact* _tmp9_;
	EContact* _tmp10_;
	GeeSet* _tmp11_;
	EdsfPersona* _tmp12_;
	GError * _inner_error_;
};


static gpointer edsf_persona_store_parent_class = NULL;
static gchar** edsf_persona_store__always_writeable_properties_empty;
static gint edsf_persona_store__always_writeable_properties_empty_length1;
static gchar** edsf_persona_store__always_writeable_properties_empty = NULL;
static gint edsf_persona_store__always_writeable_properties_empty_length1 = 0;
static gint _edsf_persona_store__always_writeable_properties_empty_size_ = 0;

void e_source_registry_new (GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
ESourceRegistry* e_source_registry_new_finish (GAsyncResult* _res_, GError** error);
GType edsf_persona_store_get_type (void) G_GNUC_CONST;
GType edsf_persona_get_type (void) G_GNUC_CONST;
#define EDSF_PERSONA_STORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStorePrivate))
enum  {
	EDSF_PERSONA_STORE_DUMMY_PROPERTY,
	EDSF_PERSONA_STORE_TYPE_ID,
	EDSF_PERSONA_STORE_CAN_ADD_PERSONAS,
	EDSF_PERSONA_STORE_CAN_ALIAS_PERSONAS,
	EDSF_PERSONA_STORE_CAN_GROUP_PERSONAS,
	EDSF_PERSONA_STORE_CAN_REMOVE_PERSONAS,
	EDSF_PERSONA_STORE_IS_PREPARED,
	EDSF_PERSONA_STORE_ALWAYS_WRITEABLE_PROPERTIES,
	EDSF_PERSONA_STORE_IS_QUIESCENT,
	EDSF_PERSONA_STORE_PERSONAS,
	EDSF_PERSONA_STORE_SOURCE
};
static void _edsf_persona_store_contacts_added_cb (EdsfPersonaStore* self, GList* contacts);
static void __edsf_persona_store_contacts_added_cb_e_book_client_view_objects_added (EBookClientView* _sender, GList* object, gpointer self);
static void _edsf_persona_store_contacts_removed_cb (EdsfPersonaStore* self, GList* contacts_ids);
static void __edsf_persona_store_contacts_removed_cb_e_book_client_view_objects_removed (EBookClientView* _sender, GList* object, gpointer self);
static void _edsf_persona_store_contacts_changed_cb (EdsfPersonaStore* self, GList* contacts);
static void __edsf_persona_store_contacts_changed_cb_e_book_client_view_objects_modified (EBookClientView* _sender, GList* object, gpointer self);
static void _edsf_persona_store_contacts_complete_cb (EdsfPersonaStore* self, GError* err);
static void __edsf_persona_store_contacts_complete_cb_e_book_client_view_complete (EBookClientView* _sender, GError* _error_, gpointer self);
static void _edsf_persona_store_address_book_notify_read_only_cb (EdsfPersonaStore* self, GObject* address_book, GParamSpec* pspec);
static void __edsf_persona_store_address_book_notify_read_only_cb_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void _edsf_persona_store_source_registry_changed_cb (EdsfPersonaStore* self, ESource* list);
static void __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_removed (ESourceRegistry* _sender, ESource* source, gpointer self);
static void __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_disabled (ESourceRegistry* _sender, ESource* source, gpointer self);
#define EDSF_PERSONA_STORE__property_change_timeout ((guint) 30)
#define EDSF_PERSONA_STORE_android_favourite_group_name "Starred in Android"
#define EDSF_PERSONA_STORE_anti_links_attribute_name "X-FOLKS-ANTI-LINKS"
static void _edsf_persona_store_update_trust_level (EdsfPersonaStore* self);
EdsfPersonaStore* edsf_persona_store_new (ESource* s) G_GNUC_DEPRECATED;
EdsfPersonaStore* edsf_persona_store_construct (GType object_type, ESource* s);
EdsfPersonaStore* edsf_persona_store_new_with_source_registry (ESourceRegistry* r, ESource* s);
EdsfPersonaStore* edsf_persona_store_construct_with_source_registry (GType object_type, ESourceRegistry* r, ESource* s);
static void edsf_persona_store_real_add_persona_from_details_data_free (gpointer _data);
static void edsf_persona_store_real_add_persona_from_details (FolksPersonaStore* base, GHashTable* details, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_store_real_add_persona_from_details_co (EdsfPersonaStoreAddPersonaFromDetailsData* _data_);
static void _edsf_persona_store_set_contact_attributes_string (EdsfPersonaStore* self, EContact* contact, GeeSet* new_attributes, const gchar* attrib_name, EContactField field_id);
static void _edsf_persona_store_set_contact_avatar (EdsfPersonaStore* self, EContact* contact, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void _edsf_persona_store_set_contact_avatar_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_store_add_persona_from_details_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_contact_im_fds (EdsfPersonaStore* self, EContact* contact, GeeMultiMap* im_fds);
static void _edsf_persona_store_set_contact_postal_addresses (EdsfPersonaStore* self, EContact* contact, GeeSet* postal_fds);
static void _edsf_persona_store_set_contact_name (EdsfPersonaStore* self, EContact* contact, FolksStructuredName* _sname);
static void _edsf_persona_store_set_contact_local_ids (EdsfPersonaStore* self, EContact* contact, GeeSet* local_ids);
static void _edsf_persona_store_set_contact_web_service_addresses (EdsfPersonaStore* self, EContact* contact, GeeMultiMap* web_service_addresses);
static void _edsf_persona_store_set_contact_notes (EdsfPersonaStore* self, EContact* contact, GeeSet* notes);
static void _edsf_persona_store_set_contact_gender (EdsfPersonaStore* self, EContact* contact, FolksGender gender);
static void _edsf_persona_store_set_contact_urls (EdsfPersonaStore* self, EContact* contact, GeeSet* urls);
static void _edsf_persona_store_set_contact_birthday (EdsfPersonaStore* self, EContact* contact, GDateTime* _bday);
static void _edsf_persona_store_set_contact_roles (EdsfPersonaStore* self, EContact* contact, GeeSet* roles);
static void _edsf_persona_store_set_contact_is_favourite (EdsfPersonaStore* self, EContact* contact, gboolean is_favourite);
gchar* edsf_persona_build_iid (const gchar* store_id, const gchar* contact_id);
EdsfPersona* edsf_persona_new (EdsfPersonaStore* store, EContact* contact);
EdsfPersona* edsf_persona_construct (GType object_type, EdsfPersonaStore* store, EContact* contact);
static void edsf_persona_store_real_remove_persona_data_free (gpointer _data);
static void edsf_persona_store_real_remove_persona (FolksPersonaStore* base, FolksPersona* persona, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_store_real_remove_persona_co (EdsfPersonaStoreRemovePersonaData* _data_);
EContact* edsf_persona_get_contact (EdsfPersona* self);
static void edsf_persona_store_remove_persona_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_store_real_prepare_data_free (gpointer _data);
static void edsf_persona_store_real_prepare (FolksPersonaStore* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_store_real_prepare_co (EdsfPersonaStorePrepareData* _data_);
static void edsf_persona_store_prepare_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
ESource* edsf_persona_store_get_source (EdsfPersonaStore* self);
static void _edsf_persona_store_open_address_book (EdsfPersonaStore* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void _edsf_persona_store_open_address_book_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void _edsf_persona_store_notify_if_default (EdsfPersonaStore* self);
static FolksPersonaDetail _edsf_persona_store_eds_field_name_to_folks_persona_detail (EdsfPersonaStore* self, const gchar* eds_field_name);
static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle);
static void _edsf_persona_store_open_address_book_data_free (gpointer _data);
static gboolean _edsf_persona_store_open_address_book_co (EdsfPersonaStoreOpenAddressBookData* _data_);
static void _edsf_persona_store_address_book_opened_cb (EdsfPersonaStore* self, GError* err, EBookClient* address_book);
static void _edsf_persona_store_open_address_book_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static gboolean __edsf_persona_store_open_address_book_co_gsource_func (gpointer self);
static void _edsf_persona_store_commit_modified_property_data_free (gpointer _data);
static void _edsf_persona_store_commit_modified_property (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* property_name, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void _edsf_persona_store_commit_modified_property_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_commit_modified_property_co (EdsfPersonaStoreCommitModifiedPropertyData* _data_);
static Block2Data* block2_data_ref (Block2Data* _data2_);
static void block2_data_unref (void * _userdata_);
static Block3Data* block3_data_ref (Block3Data* _data3_);
static void block3_data_unref (void * _userdata_);
static void ___lambda6_ (Block3Data* _data3_, GObject* obj, GParamSpec* pspec);
static void ____lambda6__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void _edsf_persona_store_commit_modified_property_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static gboolean ___lambda7_ (Block3Data* _data3_);
static gboolean ____lambda7__gsource_func (gpointer self);
static GError* edsf_persona_store_e_client_error_to_property_error (EdsfPersonaStore* self, const gchar* property_name, GError* error_in);
static void _edsf_persona_store_remove_attribute (EdsfPersonaStore* self, EContact* contact, const gchar* attr_name);
static void _edsf_persona_store_set_avatar_data_free (gpointer _data);
void _edsf_persona_store_set_avatar (EdsfPersonaStore* self, EdsfPersona* persona, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_avatar_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_avatar_co (EdsfPersonaStoreSetAvatarData* _data_);
static void _edsf_persona_store_set_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_web_service_addresses_data_free (gpointer _data);
void _edsf_persona_store_set_web_service_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* web_service_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_web_service_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_web_service_addresses_co (EdsfPersonaStoreSetWebServiceAddressesData* _data_);
static void _edsf_persona_store_set_web_service_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static EVCardAttributeParam* _vala_EVCardAttributeParam_copy (EVCardAttributeParam* self);
static void _vala_EVCardAttributeParam_free (EVCardAttributeParam* self);
static void _vala_EVCardAttribute_free (EVCardAttribute* self);
static void _edsf_persona_store_set_urls_data_free (gpointer _data);
void _edsf_persona_store_set_urls (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* urls, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_urls_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_urls_co (EdsfPersonaStoreSetUrlsData* _data_);
static void _edsf_persona_store_set_urls_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static GType edsf_persona_url_type_mapping_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static EdsfPersonaUrlTypeMapping* edsf_persona_url_type_mapping_dup (const EdsfPersonaUrlTypeMapping* self);
static void edsf_persona_url_type_mapping_free (EdsfPersonaUrlTypeMapping* self);
static void edsf_persona_url_type_mapping_copy (const EdsfPersonaUrlTypeMapping* self, EdsfPersonaUrlTypeMapping* dest);
static void edsf_persona_url_type_mapping_destroy (EdsfPersonaUrlTypeMapping* self);
static void _edsf_persona_store_set_local_ids_data_free (gpointer _data);
void _edsf_persona_store_set_local_ids (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* local_ids, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_local_ids_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_local_ids_co (EdsfPersonaStoreSetLocalIdsData* _data_);
static void _edsf_persona_store_set_local_ids_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_is_favourite_data_free (gpointer _data);
void _edsf_persona_store_set_is_favourite (EdsfPersonaStore* self, EdsfPersona* persona, gboolean is_favourite, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_is_favourite_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_is_favourite_co (EdsfPersonaStoreSetIsFavouriteData* _data_);
static void _edsf_persona_store_set_contact_groups (EdsfPersonaStore* self, EContact* contact, GeeSet* groups, gboolean is_favourite);
static void _edsf_persona_store_set_is_favourite_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_contact_avatar_data_free (gpointer _data);
static gboolean _edsf_persona_store_set_contact_avatar_co (EdsfPersonaStoreSetContactAvatarData* _data_);
static void _edsf_persona_store_set_contact_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _vala_EContactPhoto_free (EContactPhoto* self);
static void _edsf_persona_store_set_emails_data_free (gpointer _data);
void _edsf_persona_store_set_emails (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* emails, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_emails_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_emails_co (EdsfPersonaStoreSetEmailsData* _data_);
static void _edsf_persona_store_set_emails_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_phones_data_free (gpointer _data);
void _edsf_persona_store_set_phones (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* phones, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_phones_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_phones_co (EdsfPersonaStoreSetPhonesData* _data_);
static void _edsf_persona_store_set_phones_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_postal_addresses_data_free (gpointer _data);
void _edsf_persona_store_set_postal_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* postal_fds, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_postal_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_postal_addresses_co (EdsfPersonaStoreSetPostalAddressesData* _data_);
static void _edsf_persona_store_set_postal_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_contact_attributes (EdsfPersonaStore* self, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, EContact* contact, GeeSet* new_attributes, EdsfPersonaStoreFieldToAttribute fill_attribute, void* fill_attribute_target, const gchar* attrib_name, EContactField field_id);
static void __lambda3_ (EdsfPersonaStore* self, EVCardAttribute* attr, FolksPostalAddress* address);
static void ___lambda3__edsf_persona_store_field_to_attribute (EVCardAttribute* attr, gconstpointer value, gpointer self);
static void __vala_EVCardAttribute_free0_ (gpointer var);
static void _g_list_free___vala_EVCardAttribute_free0_ (GList* self);
static void __lambda2_ (EdsfPersonaStore* self, EVCardAttribute* attr, const gchar* value);
static void ___lambda2__edsf_persona_store_field_to_attribute (EVCardAttribute* attr, gconstpointer value, gpointer self);
static void _edsf_persona_store_set_full_name_data_free (gpointer _data);
void _edsf_persona_store_set_full_name (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* full_name, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_full_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_full_name_co (EdsfPersonaStoreSetFullNameData* _data_);
static void _edsf_persona_store_set_full_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_nickname_data_free (gpointer _data);
void _edsf_persona_store_set_nickname (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* nickname, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_nickname_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_nickname_co (EdsfPersonaStoreSetNicknameData* _data_);
static void _edsf_persona_store_set_nickname_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_notes_data_free (gpointer _data);
void _edsf_persona_store_set_notes (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* notes, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_notes_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_notes_co (EdsfPersonaStoreSetNotesData* _data_);
static void _edsf_persona_store_set_notes_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_birthday_data_free (gpointer _data);
void _edsf_persona_store_set_birthday (EdsfPersonaStore* self, EdsfPersona* persona, GDateTime* bday, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_birthday_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_birthday_co (EdsfPersonaStoreSetBirthdayData* _data_);
static void _edsf_persona_store_set_birthday_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _vala_EContactDate_free (EContactDate* self);
static EContactDate* _vala_EContactDate_copy (EContactDate* self);
static void _edsf_persona_store_set_roles_data_free (gpointer _data);
void _edsf_persona_store_set_roles (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* roles, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_roles_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_roles_co (EdsfPersonaStoreSetRolesData* _data_);
static void _edsf_persona_store_set_roles_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _edsf_persona_store_set_structured_name_data_free (gpointer _data);
void _edsf_persona_store_set_structured_name (EdsfPersonaStore* self, EdsfPersona* persona, FolksStructuredName* sname, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_structured_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_structured_name_co (EdsfPersonaStoreSetStructuredNameData* _data_);
static void _edsf_persona_store_set_structured_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _vala_EContactName_free (EContactName* self);
static void _edsf_persona_store_set_im_fds_data_free (gpointer _data);
void _edsf_persona_store_set_im_fds (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* im_fds, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_im_fds_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_im_fds_co (EdsfPersonaStoreSetImFdsData* _data_);
static void _edsf_persona_store_set_im_fds_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GHashTable* _edsf_persona_get_im_eds_map (void);
static void _edsf_persona_store_set_groups_data_free (gpointer _data);
void _edsf_persona_store_set_groups (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* groups, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_groups_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_groups_co (EdsfPersonaStoreSetGroupsData* _data_);
static void _edsf_persona_store_set_groups_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gboolean _edsf_persona_store_is_google_contacts_address_book (EdsfPersonaStore* self);
static void _g_free0_ (gpointer var);
static void _g_list_free__g_free0_ (GList* self);
static void _edsf_persona_store_set_gender_data_free (gpointer _data);
void _edsf_persona_store_set_gender (EdsfPersonaStore* self, EdsfPersona* persona, FolksGender gender, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_gender_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_gender_co (EdsfPersonaStoreSetGenderData* _data_);
static void _edsf_persona_store_set_gender_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
#define EDSF_PERSONA_gender_attribute_name "X-GENDER"
#define EDSF_PERSONA_gender_male "M"
#define EDSF_PERSONA_gender_female "F"
static void _edsf_persona_store_set_anti_links_data_free (gpointer _data);
void _edsf_persona_store_set_anti_links (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* anti_links, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_anti_links_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static gboolean _edsf_persona_store_set_anti_links_co (EdsfPersonaStoreSetAntiLinksData* _data_);
static void _edsf_persona_store_set_contact_anti_links (EdsfPersonaStore* self, EContact* contact, GeeSet* anti_links);
static void _edsf_persona_store_set_anti_links_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gchar* edsf_persona_build_iid_from_contact (const gchar* store_id, EContact* contact);
void _edsf_persona_update (EdsfPersona* self, EContact* updated_contact);
static gboolean _edsf_persona_store_backend_name_matches (EdsfPersonaStore* self, const gchar* backend_name);
static gboolean _edsf_persona_store_is_in_source_registry (EdsfPersonaStore* self);
static void _edsf_persona_store_source_changed_cb (EdsfPersonaStore* self);
static void edsf_persona_store_set_source (EdsfPersonaStore* self, ESource* value);
static GObject * edsf_persona_store_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void __edsf_persona_store_source_changed_cb_e_source_changed (ESource* _sender, gpointer self);
static void edsf_persona_store_finalize (GObject* obj);
static void _vala_edsf_persona_store_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_edsf_persona_store_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);

extern const EdsfPersonaUrlTypeMapping EDSF_PERSONA__url_properties[4];

static void __edsf_persona_store_contacts_added_cb_e_book_client_view_objects_added (EBookClientView* _sender, GList* object, gpointer self) {
#line 281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_contacts_added_cb (self, object);
#line 1443 "edsf-persona-store.c"
}


static void __edsf_persona_store_contacts_removed_cb_e_book_client_view_objects_removed (EBookClientView* _sender, GList* object, gpointer self) {
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_contacts_removed_cb (self, object);
#line 1450 "edsf-persona-store.c"
}


static void __edsf_persona_store_contacts_changed_cb_e_book_client_view_objects_modified (EBookClientView* _sender, GList* object, gpointer self) {
#line 285 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_contacts_changed_cb (self, object);
#line 1457 "edsf-persona-store.c"
}


static void __edsf_persona_store_contacts_complete_cb_e_book_client_view_complete (EBookClientView* _sender, GError* _error_, gpointer self) {
#line 287 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_contacts_complete_cb (self, _error_);
#line 1464 "edsf-persona-store.c"
}


static void __edsf_persona_store_address_book_notify_read_only_cb_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 296 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_address_book_notify_read_only_cb (self, _sender, pspec);
#line 1471 "edsf-persona-store.c"
}


static void __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_removed (ESourceRegistry* _sender, ESource* source, gpointer self) {
#line 304 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_source_registry_changed_cb (self, source);
#line 1478 "edsf-persona-store.c"
}


static void __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_disabled (ESourceRegistry* _sender, ESource* source, gpointer self) {
#line 306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_source_registry_changed_cb (self, source);
#line 1485 "edsf-persona-store.c"
}


static void _edsf_persona_store_address_book_notify_read_only_cb (EdsfPersonaStore* self, GObject* address_book, GParamSpec* pspec) {
#line 76 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 76 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (address_book != NULL);
#line 76 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (pspec != NULL);
#line 79 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_update_trust_level (self);
#line 80 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_notify ((GObject*) self, "can-add-personas");
#line 81 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_notify ((GObject*) self, "can-remove-personas");
#line 1502 "edsf-persona-store.c"
}


/**
   * Create a new PersonaStore.
   *
   * Create a new persona store to store the {@link Persona}s for the contacts
   *
   * @param s the e-d-s source being represented by the persona store
   *
   * @since 0.6.0
   */
EdsfPersonaStore* edsf_persona_store_construct (GType object_type, ESource* s) {
	EdsfPersonaStore * self = NULL;
	ESource* _tmp0_;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_;
	gchar* eds_uid;
	ESource* _tmp3_;
	const gchar* _tmp4_ = NULL;
	gchar* _tmp5_;
	gchar* eds_name;
	ESource* _tmp6_;
#line 233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (s != NULL, NULL);
#line 235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = s;
#line 235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_source_get_uid (_tmp0_);
#line 235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	eds_uid = _tmp2_;
#line 236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = s;
#line 236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = e_source_get_display_name (_tmp3_);
#line 236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	eds_name = _tmp5_;
#line 237 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = s;
#line 237 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) g_object_new (object_type, "id", eds_uid, "display-name", eds_name, "source", _tmp6_, NULL);
#line 241 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_source_registry);
#line 241 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_source_registry = NULL;
#line 233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (eds_name);
#line 233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (eds_uid);
#line 233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self;
#line 1558 "edsf-persona-store.c"
}


EdsfPersonaStore* edsf_persona_store_new (ESource* s) {
#line 233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return edsf_persona_store_construct (EDSF_TYPE_PERSONA_STORE, s);
#line 1565 "edsf-persona-store.c"
}


/**
   * Create a new PersonaStore.
   *
   * Create a new persona store to store the {@link Persona}s for the contacts
   * in ``s``. Passing a re-used source registry to the constructor (compared to
   * the old {@link Edsf.PersonaStore} constructor) saves a lot of time and
   * D-Bus round trips.
   *
   * @param r the EDS source registry giving access to all EDS sources
   * @param s the EDS source being represented by the persona store
   *
   * @since 0.7.2
   */
static gpointer _g_object_ref0 (gpointer self) {
#line 264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? g_object_ref (self) : NULL;
#line 1585 "edsf-persona-store.c"
}


EdsfPersonaStore* edsf_persona_store_construct_with_source_registry (GType object_type, ESourceRegistry* r, ESource* s) {
	EdsfPersonaStore * self = NULL;
	ESource* _tmp0_;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_;
	gchar* eds_uid;
	ESource* _tmp3_;
	ESourceRegistry* _tmp4_;
	ESourceRegistry* _tmp5_;
#line 257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (r != NULL, NULL);
#line 257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (s != NULL, NULL);
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = s;
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_source_get_uid (_tmp0_);
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	eds_uid = _tmp2_;
#line 260 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = s;
#line 260 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) g_object_new (object_type, "id", eds_uid, "display-name", eds_uid, "source", _tmp3_, NULL);
#line 264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = r;
#line 264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_source_registry);
#line 264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_source_registry = _tmp5_;
#line 257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (eds_uid);
#line 257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self;
#line 1626 "edsf-persona-store.c"
}


EdsfPersonaStore* edsf_persona_store_new_with_source_registry (ESourceRegistry* r, ESource* s) {
#line 257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return edsf_persona_store_construct_with_source_registry (EDSF_TYPE_PERSONA_STORE, r, s);
#line 1633 "edsf-persona-store.c"
}


static void edsf_persona_store_real_add_persona_from_details_data_free (gpointer _data) {
	EdsfPersonaStoreAddPersonaFromDetailsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_hash_table_unref0 (_data_->details);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->result);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreAddPersonaFromDetailsData, _data_);
#line 1648 "edsf-persona-store.c"
}


static gpointer _g_hash_table_ref0 (gpointer self) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? g_hash_table_ref (self) : NULL;
#line 1655 "edsf-persona-store.c"
}


static void edsf_persona_store_real_add_persona_from_details (FolksPersonaStore* base, GHashTable* details, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStore * self;
	EdsfPersonaStoreAddPersonaFromDetailsData* _data_;
	EdsfPersonaStore* _tmp0_;
	GHashTable* _tmp1_;
	GHashTable* _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreAddPersonaFromDetailsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_store_real_add_persona_from_details);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_store_real_add_persona_from_details_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = details;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_hash_table_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_hash_table_unref0 (_data_->details);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->details = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_add_persona_from_details_co (_data_);
#line 1687 "edsf-persona-store.c"
}


static FolksPersona* edsf_persona_store_real_add_persona_from_details_finish (FolksPersonaStore* base, GAsyncResult* _res_, GError** error) {
	FolksPersona* result;
	EdsfPersonaStoreAddPersonaFromDetailsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return NULL;
#line 1698 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _data_->result;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->result = NULL;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 1708 "edsf-persona-store.c"
}


/**
   * Add a new {@link Persona} to the PersonaStore.
   *
   * Accepted keys for ``details`` are:
   * - PersonaStore.detail_key (PersonaDetail.AVATAR)
   * - PersonaStore.detail_key (PersonaDetail.BIRTHDAY)
   * - PersonaStore.detail_key (PersonaDetail.EMAIL_ADDRESSES)
   * - PersonaStore.detail_key (PersonaDetail.FULL_NAME)
   * - PersonaStore.detail_key (PersonaDetail.GENDER)
   * - PersonaStore.detail_key (PersonaDetail.IM_ADDRESSES)
   * - PersonaStore.detail_key (PersonaDetail.IS_FAVOURITE)
   * - PersonaStore.detail_key (PersonaDetail.PHONE_NUMBERS)
   * - PersonaStore.detail_key (PersonaDetail.POSTAL_ADDRESSES)
   * - PersonaStore.detail_key (PersonaDetail.ROLES)
   * - PersonaStore.detail_key (PersonaDetail.STRUCTURED_NAME)
   * - PersonaStore.detail_key (PersonaDetail.LOCAL_IDS)
   * - PersonaStore.detail_key (PersonaDetail.WEB_SERVICE_ADDRESSES)
   * - PersonaStore.detail_key (PersonaDetail.NOTES)
   * - PersonaStore.detail_key (PersonaDetail.URLS)
   *
   * See {@link Folks.PersonaStore.add_persona_from_details}.
   *
   * @throws Folks.PersonaStoreError.STORE_OFFLINE if the store hasn’t been
   * prepared
   * @throws Folks.PersonaStoreError.CREATE_FAILED if creating the persona in
   * the EDS store failed
   *
   * @since 0.6.0
   */
static void edsf_persona_store_add_persona_from_details_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreAddPersonaFromDetailsData* _data_;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_add_persona_from_details_co (_data_);
#line 1751 "edsf-persona-store.c"
}


static gpointer _g_date_time_ref0 (gpointer self) {
#line 462 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? g_date_time_ref (self) : NULL;
#line 1758 "edsf-persona-store.c"
}


static gboolean edsf_persona_store_real_add_persona_from_details_co (EdsfPersonaStoreAddPersonaFromDetailsData* _data_) {
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 1767 "edsf-persona-store.c"
		goto _state_0;
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 1771 "edsf-persona-store.c"
		goto _state_1;
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 1775 "edsf-persona-store.c"
		goto _state_2;
		default:
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 1780 "edsf-persona-store.c"
	}
	_state_0:
#line 350 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_is_prepared;
#line 350 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_data_->_tmp0_) {
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = g_error_new_literal (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE, "Persona store has not yet been prepared.");
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp1_;
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1801 "edsf-persona-store.c"
			} else {
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1805 "edsf-persona-store.c"
			}
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 1811 "edsf-persona-store.c"
		} else {
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 1819 "edsf-persona-store.c"
		}
	}
#line 356 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp2_ = e_contact_new ();
#line 356 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->contact = _data_->_tmp2_;
#line 358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->details;
#line 358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp3_);
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	while (TRUE) {
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = NULL;
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp5_ = NULL;
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp6_ = FALSE;
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp6_ = g_hash_table_iter_next (&_data_->iter, &_data_->_tmp4_, &_data_->_tmp5_);
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->k = _data_->_tmp4_;
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_v = _data_->_tmp5_;
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (!(_data_->_tmp6_ == TRUE)) {
#line 362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			break;
#line 1848 "edsf-persona-store.c"
		}
#line 364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp7_ = _data_->_v;
#line 364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp7_ == NULL) {
#line 366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			continue;
#line 1856 "edsf-persona-store.c"
		}
#line 368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = _data_->_v;
#line 368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->v = (GValue) (*_data_->_tmp8_);
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp9_ = _data_->k;
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = NULL;
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_FULL_NAME);
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (g_strcmp0 (_data_->_tmp9_, _data_->_tmp10_) == 0) {
#line 373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp11_ = NULL;
#line 373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp11_ = g_value_get_string (&_data_->v);
#line 373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp12_ = g_strdup (_data_->_tmp11_);
#line 373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->full_name = _data_->_tmp12_;
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = _data_->full_name;
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp14_ != NULL) {
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp15_ = _data_->full_name;
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp13_ = g_strcmp0 ((const gchar*) _data_->_tmp15_, "") == 0;
#line 1886 "edsf-persona-store.c"
			} else {
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp13_ = FALSE;
#line 1890 "edsf-persona-store.c"
			}
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp16_ = _data_->_tmp13_;
#line 374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp16_) {
#line 376 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (_data_->full_name);
#line 376 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->full_name = NULL;
#line 1900 "edsf-persona-store.c"
			}
#line 379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp17_ = _data_->contact;
#line 379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = 0;
#line 379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = e_contact_field_id ("full_name");
#line 379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp19_ = _data_->full_name;
#line 379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_contact_set (_data_->_tmp17_, _data_->_tmp18_, _data_->_tmp19_);
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->full_name);
#line 1914 "edsf-persona-store.c"
		} else {
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp20_ = _data_->k;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = NULL;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_EMAIL_ADDRESSES);
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (g_strcmp0 (_data_->_tmp20_, _data_->_tmp21_) == 0) {
#line 384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp22_ = NULL;
#line 384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp22_ = g_value_get_object (&_data_->v);
#line 384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp22_, GEE_TYPE_SET, GeeSet));
#line 384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->email_addresses = _data_->_tmp23_;
#line 386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp24_ = _data_->contact;
#line 386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp25_ = _data_->email_addresses;
#line 386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_edsf_persona_store_set_contact_attributes_string (_data_->self, _data_->_tmp24_, _data_->_tmp25_, "EMAIL", E_CONTACT_EMAIL);
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_data_->email_addresses);
#line 1940 "edsf-persona-store.c"
			} else {
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp26_ = _data_->k;
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp27_ = NULL;
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp27_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_AVATAR);
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (g_strcmp0 (_data_->_tmp26_, _data_->_tmp27_) == 0) {
#line 1950 "edsf-persona-store.c"
					{
#line 394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp28_ = NULL;
#line 394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp28_ = g_value_get_object (&_data_->v);
#line 394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp28_, g_loadable_icon_get_type (), GLoadableIcon));
#line 394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->avatar = _data_->_tmp29_;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp30_ = _data_->contact;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp31_ = _data_->avatar;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_state_ = 1;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_edsf_persona_store_set_contact_avatar (_data_->self, _data_->_tmp30_, _data_->_tmp31_, edsf_persona_store_add_persona_from_details_ready, _data_);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						return FALSE;
#line 1970 "edsf-persona-store.c"
						_state_1:
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_edsf_persona_store_set_contact_avatar_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						if (_data_->_inner_error_ != NULL) {
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->avatar);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1980 "edsf-persona-store.c"
								goto __catch6_folks_property_error;
							}
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->avatar);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->contact);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_clear_error (&_data_->_inner_error_);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							return FALSE;
#line 1993 "edsf-persona-store.c"
						}
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->avatar);
#line 1997 "edsf-persona-store.c"
					}
					goto __finally6;
					__catch6_folks_property_error:
					{
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->e1 = _data_->_inner_error_;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_inner_error_ = NULL;
#line 399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp32_ = _data_->e1;
#line 399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp33_ = _data_->_tmp32_->message;
#line 399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						g_warning ("edsf-persona-store.vala:399: Couldn't set avatar on the EContact: %s", _data_->_tmp33_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_error_free0 (_data_->e1);
#line 2014 "edsf-persona-store.c"
					}
					__finally6:
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (_data_->_inner_error_ != NULL) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_error_free (_data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->contact);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (_data_->_state_ == 0) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2031 "edsf-persona-store.c"
							} else {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								g_simple_async_result_complete (_data_->_async_result);
#line 2035 "edsf-persona-store.c"
							}
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_object_unref (_data_->_async_result);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							return FALSE;
#line 2041 "edsf-persona-store.c"
						} else {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->contact);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							g_clear_error (&_data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							return FALSE;
#line 2051 "edsf-persona-store.c"
						}
					}
				} else {
#line 403 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp34_ = _data_->k;
#line 403 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp35_ = NULL;
#line 403 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp35_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_IM_ADDRESSES);
#line 403 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (g_strcmp0 (_data_->_tmp34_, _data_->_tmp35_) == 0) {
#line 406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp36_ = NULL;
#line 406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp36_ = g_value_get_object (&_data_->v);
#line 406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp36_, GEE_TYPE_MULTI_MAP, GeeMultiMap));
#line 406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->im_fds = _data_->_tmp37_;
#line 407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp38_ = _data_->contact;
#line 407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp39_ = _data_->im_fds;
#line 407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_edsf_persona_store_set_contact_im_fds (_data_->self, _data_->_tmp38_, _data_->_tmp39_);
#line 403 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->im_fds);
#line 2079 "edsf-persona-store.c"
					} else {
#line 409 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp40_ = _data_->k;
#line 409 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp41_ = NULL;
#line 409 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp41_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_PHONE_NUMBERS);
#line 409 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						if (g_strcmp0 (_data_->_tmp40_, _data_->_tmp41_) == 0) {
#line 412 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp42_ = NULL;
#line 412 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp42_ = g_value_get_object (&_data_->v);
#line 412 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp43_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp42_, GEE_TYPE_SET, GeeSet));
#line 412 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->phone_numbers = _data_->_tmp43_;
#line 414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp44_ = _data_->contact;
#line 414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp45_ = _data_->phone_numbers;
#line 414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_edsf_persona_store_set_contact_attributes_string (_data_->self, _data_->_tmp44_, _data_->_tmp45_, "TEL", E_CONTACT_TEL);
#line 409 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_data_->phone_numbers);
#line 2105 "edsf-persona-store.c"
						} else {
#line 418 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp46_ = _data_->k;
#line 418 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp47_ = NULL;
#line 418 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp47_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_POSTAL_ADDRESSES);
#line 418 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (g_strcmp0 (_data_->_tmp46_, _data_->_tmp47_) == 0) {
#line 421 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp48_ = NULL;
#line 421 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp48_ = g_value_get_object (&_data_->v);
#line 421 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp49_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp48_, GEE_TYPE_SET, GeeSet));
#line 421 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->postal_fds = _data_->_tmp49_;
#line 423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp50_ = _data_->contact;
#line 423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp51_ = _data_->postal_fds;
#line 423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_edsf_persona_store_set_contact_postal_addresses (_data_->self, _data_->_tmp50_, _data_->_tmp51_);
#line 418 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_g_object_unref0 (_data_->postal_fds);
#line 2131 "edsf-persona-store.c"
							} else {
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp52_ = _data_->k;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp53_ = NULL;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp53_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_STRUCTURED_NAME);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								if (g_strcmp0 (_data_->_tmp52_, _data_->_tmp53_) == 0) {
#line 428 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp54_ = NULL;
#line 428 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp54_ = g_value_get_object (&_data_->v);
#line 428 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp55_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp54_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName));
#line 428 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->sname = _data_->_tmp55_;
#line 429 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp56_ = _data_->contact;
#line 429 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp57_ = _data_->sname;
#line 429 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_edsf_persona_store_set_contact_name (_data_->self, _data_->_tmp56_, _data_->_tmp57_);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_g_object_unref0 (_data_->sname);
#line 2157 "edsf-persona-store.c"
								} else {
#line 431 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp58_ = _data_->k;
#line 431 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp59_ = NULL;
#line 431 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									_data_->_tmp59_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_LOCAL_IDS);
#line 431 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									if (g_strcmp0 (_data_->_tmp58_, _data_->_tmp59_) == 0) {
#line 433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp60_ = NULL;
#line 433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp60_ = g_value_get_object (&_data_->v);
#line 433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp61_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp60_, GEE_TYPE_SET, GeeSet));
#line 433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->local_ids = _data_->_tmp61_;
#line 434 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp62_ = _data_->contact;
#line 434 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp63_ = _data_->local_ids;
#line 434 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_edsf_persona_store_set_contact_local_ids (_data_->self, _data_->_tmp62_, _data_->_tmp63_);
#line 431 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_g_object_unref0 (_data_->local_ids);
#line 2183 "edsf-persona-store.c"
									} else {
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp64_ = _data_->k;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp65_ = NULL;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										_data_->_tmp65_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_WEB_SERVICE_ADDRESSES);
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										if (g_strcmp0 (_data_->_tmp64_, _data_->_tmp65_) == 0) {
#line 440 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp66_ = NULL;
#line 440 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp66_ = g_value_get_object (&_data_->v);
#line 440 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp67_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp66_, GEE_TYPE_HASH_MULTI_MAP, GeeHashMultiMap));
#line 440 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->web_service_addresses = _data_->_tmp67_;
#line 442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp68_ = _data_->contact;
#line 442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp69_ = _data_->web_service_addresses;
#line 442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_edsf_persona_store_set_contact_web_service_addresses (_data_->self, _data_->_tmp68_, (GeeMultiMap*) _data_->_tmp69_);
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_g_object_unref0 (_data_->web_service_addresses);
#line 2209 "edsf-persona-store.c"
										} else {
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp70_ = _data_->k;
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp71_ = NULL;
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_data_->_tmp71_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_NOTES);
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											if (g_strcmp0 (_data_->_tmp70_, _data_->_tmp71_) == 0) {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp72_ = NULL;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp72_ = g_value_get_object (&_data_->v);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp73_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp72_, GEE_TYPE_HASH_SET, GeeHashSet));
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->notes = _data_->_tmp73_;
#line 448 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp74_ = _data_->contact;
#line 448 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp75_ = _data_->notes;
#line 448 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_edsf_persona_store_set_contact_notes (_data_->self, _data_->_tmp74_, (GeeSet*) _data_->_tmp75_);
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_g_object_unref0 (_data_->notes);
#line 2235 "edsf-persona-store.c"
											} else {
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp76_ = _data_->k;
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp77_ = NULL;
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_data_->_tmp77_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_GENDER);
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												if (g_strcmp0 (_data_->_tmp76_, _data_->_tmp77_) == 0) {
#line 452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp78_ = 0;
#line 452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp78_ = g_value_get_enum (&_data_->v);
#line 452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->gender = (FolksGender) _data_->_tmp78_;
#line 453 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp79_ = _data_->contact;
#line 453 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp80_ = _data_->gender;
#line 453 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_edsf_persona_store_set_contact_gender (_data_->self, _data_->_tmp79_, _data_->_tmp80_);
#line 2257 "edsf-persona-store.c"
												} else {
#line 455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp81_ = _data_->k;
#line 455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp82_ = NULL;
#line 455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													_data_->_tmp82_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_URLS);
#line 455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
													if (g_strcmp0 (_data_->_tmp81_, _data_->_tmp82_) == 0) {
#line 457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp83_ = NULL;
#line 457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp83_ = g_value_get_object (&_data_->v);
#line 457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp84_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp83_, GEE_TYPE_SET, GeeSet));
#line 457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->urls = _data_->_tmp84_;
#line 458 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp85_ = _data_->contact;
#line 458 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp86_ = _data_->urls;
#line 458 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_edsf_persona_store_set_contact_urls (_data_->self, _data_->_tmp85_, _data_->_tmp86_);
#line 455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_g_object_unref0 (_data_->urls);
#line 2283 "edsf-persona-store.c"
													} else {
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp87_ = _data_->k;
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp88_ = NULL;
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														_data_->_tmp88_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_BIRTHDAY);
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
														if (g_strcmp0 (_data_->_tmp87_, _data_->_tmp88_) == 0) {
#line 462 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp89_ = NULL;
#line 462 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp89_ = g_value_get_boxed (&_data_->v);
#line 462 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp90_ = _g_date_time_ref0 ((GDateTime*) _data_->_tmp89_);
#line 462 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->birthday = _data_->_tmp90_;
#line 463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp91_ = _data_->contact;
#line 463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp92_ = _data_->birthday;
#line 463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_edsf_persona_store_set_contact_birthday (_data_->self, _data_->_tmp91_, _data_->_tmp92_);
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_g_date_time_unref0 (_data_->birthday);
#line 2309 "edsf-persona-store.c"
														} else {
#line 465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp93_ = _data_->k;
#line 465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp94_ = NULL;
#line 465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															_data_->_tmp94_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_ROLES);
#line 465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
															if (g_strcmp0 (_data_->_tmp93_, _data_->_tmp94_) == 0) {
#line 467 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp95_ = NULL;
#line 467 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp95_ = g_value_get_object (&_data_->v);
#line 467 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp96_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp95_, GEE_TYPE_SET, GeeSet));
#line 467 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->roles = _data_->_tmp96_;
#line 469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp97_ = _data_->contact;
#line 469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp98_ = _data_->roles;
#line 469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_edsf_persona_store_set_contact_roles (_data_->self, _data_->_tmp97_, _data_->_tmp98_);
#line 465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_g_object_unref0 (_data_->roles);
#line 2335 "edsf-persona-store.c"
															} else {
#line 471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp99_ = _data_->k;
#line 471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp100_ = NULL;
#line 471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																_data_->_tmp100_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_IS_FAVOURITE);
#line 471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																if (g_strcmp0 (_data_->_tmp99_, _data_->_tmp100_) == 0) {
#line 474 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_data_->_tmp101_ = FALSE;
#line 474 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_data_->_tmp101_ = g_value_get_boolean (&_data_->v);
#line 474 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_data_->is_fav = _data_->_tmp101_;
#line 475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_data_->_tmp102_ = _data_->contact;
#line 475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_data_->_tmp103_ = _data_->is_fav;
#line 475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
																	_edsf_persona_store_set_contact_is_favourite (_data_->self, _data_->_tmp102_, _data_->_tmp103_);
#line 2357 "edsf-persona-store.c"
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
#line 479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_persona = NULL;
#line 2376 "edsf-persona-store.c"
	{
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp104_ = _data_->self->priv->_addressbook;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp105_ = _data_->contact;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp106_ = NULL;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_state_ = 2;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_book_client_add_contact (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp104_, e_book_client_get_type (), EBookClient), _data_->_tmp105_, NULL, edsf_persona_store_add_persona_from_details_ready, _data_);
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 2390 "edsf-persona-store.c"
		_state_2:
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp107_ = FALSE;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp107_ = e_book_client_add_contact_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp104_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_tmp106_, &_data_->_inner_error_);
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->added_uid);
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->added_uid = _data_->_tmp106_;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_result_ = _data_->_tmp107_;
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->added_uid);
#line 2406 "edsf-persona-store.c"
			goto __catch7_g_error;
		}
#line 490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp108_ = _data_->_result_;
#line 490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp108_) {
#line 492 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp109_ = _data_->added_uid;
#line 492 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_debug ("edsf-persona-store.vala:492: Created contact with uid: %s\n", _data_->_tmp109_);
#line 2417 "edsf-persona-store.c"
			{
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp110_ = _data_->self->priv->_personas;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_static_rec_mutex_lock (&_data_->self->priv->__lock__personas);
#line 2423 "edsf-persona-store.c"
				{
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp111_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp112_ = _data_->_tmp111_;
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp113_ = _data_->added_uid;
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp114_ = NULL;
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp114_ = edsf_persona_build_iid (_data_->_tmp112_, _data_->_tmp113_);
#line 495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->iid = _data_->_tmp114_;
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp115_ = _data_->self->priv->_personas;
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp116_ = _data_->iid;
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp117_ = NULL;
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp117_ = gee_abstract_map_get ((GeeAbstractMap*) _data_->_tmp115_, _data_->_tmp116_);
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (_data_->_persona);
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_persona = (EdsfPersona*) _data_->_tmp117_;
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp118_ = _data_->_persona;
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (_data_->_tmp118_ == NULL) {
#line 501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp119_ = _data_->contact;
#line 501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp120_ = 0;
#line 501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp120_ = e_contact_field_id ("id");
#line 501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp121_ = _data_->added_uid;
#line 501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						e_contact_set (_data_->_tmp119_, _data_->_tmp120_, _data_->_tmp121_);
#line 502 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp122_ = _data_->contact;
#line 502 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp123_ = edsf_persona_new (_data_->self, _data_->_tmp122_);
#line 502 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->persona);
#line 502 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->persona = _data_->_tmp123_;
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp124_ = _data_->self->priv->_personas;
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp125_ = _data_->persona;
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp126_ = folks_persona_get_iid ((FolksPersona*) _data_->_tmp125_);
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp127_ = _data_->_tmp126_;
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp128_ = _data_->persona;
#line 503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						gee_abstract_map_set ((GeeAbstractMap*) _data_->_tmp124_, _data_->_tmp127_, _data_->_tmp128_);
#line 504 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp129_ = gee_hash_set_new (EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL);
#line 504 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->added_personas = _data_->_tmp129_;
#line 505 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp130_ = _data_->added_personas;
#line 505 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp131_ = _data_->persona;
#line 505 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp130_, _data_->_tmp131_);
#line 506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp132_ = _data_->added_personas;
#line 506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_folks_persona_store_emit_personas_changed ((FolksPersonaStore*) _data_->self, (GeeSet*) _data_->_tmp132_, NULL, NULL, NULL, FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE);
#line 508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp133_ = _data_->persona;
#line 508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp134_ = _g_object_ref0 (_data_->_tmp133_);
#line 508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->_persona);
#line 508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_persona = _data_->_tmp134_;
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->added_personas);
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_data_->persona);
#line 2509 "edsf-persona-store.c"
					}
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_data_->iid);
#line 2513 "edsf-persona-store.c"
				}
				__finally8:
				{
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp135_ = _data_->self->priv->_personas;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					g_static_rec_mutex_unlock (&_data_->self->priv->__lock__personas);
#line 2521 "edsf-persona-store.c"
				}
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_inner_error_ != NULL) {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_data_->added_uid);
#line 2527 "edsf-persona-store.c"
					goto __catch7_g_error;
				}
			}
		} else {
#line 514 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp136_ = g_error_new_literal (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_CREATE_FAILED, "BookClient.add_contact () failed.");
#line 514 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp136_;
#line 514 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->added_uid);
#line 2538 "edsf-persona-store.c"
			goto __catch7_g_error;
		}
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->added_uid);
#line 2543 "edsf-persona-store.c"
	}
	goto __finally7;
	__catch7_g_error:
	{
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->e = _data_->_inner_error_;
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = NULL;
#line 520 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp137_ = _data_->e;
#line 520 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp138_ = _data_->_tmp137_->message;
#line 520 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_warning ("edsf-persona-store.vala:520: add_persona_from_details: %s\n", _data_->_tmp138_);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->e);
#line 2560 "edsf-persona-store.c"
	}
	__finally7:
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->_persona);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->contact);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2579 "edsf-persona-store.c"
			} else {
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2583 "edsf-persona-store.c"
			}
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 2589 "edsf-persona-store.c"
		} else {
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->_persona);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->contact);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 2601 "edsf-persona-store.c"
		}
	}
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->result = (FolksPersona*) _data_->_persona;
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->contact);
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2612 "edsf-persona-store.c"
	} else {
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2616 "edsf-persona-store.c"
	}
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->_persona);
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->contact);
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2630 "edsf-persona-store.c"
	} else {
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2634 "edsf-persona-store.c"
	}
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 346 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 2640 "edsf-persona-store.c"
}


static void edsf_persona_store_real_remove_persona_data_free (gpointer _data) {
	EdsfPersonaStoreRemovePersonaData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreRemovePersonaData, _data_);
#line 2653 "edsf-persona-store.c"
}


static void edsf_persona_store_real_remove_persona (FolksPersonaStore* base, FolksPersona* persona, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStore * self;
	EdsfPersonaStoreRemovePersonaData* _data_;
	EdsfPersonaStore* _tmp0_;
	FolksPersona* _tmp1_;
	FolksPersona* _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreRemovePersonaData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_store_real_remove_persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_store_real_remove_persona_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_remove_persona_co (_data_);
#line 2685 "edsf-persona-store.c"
}


static void edsf_persona_store_real_remove_persona_finish (FolksPersonaStore* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreRemovePersonaData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 2695 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2699 "edsf-persona-store.c"
}


/**
   * Remove a {@link Persona} from the PersonaStore.
   *
   * See {@link Folks.PersonaStore.remove_persona}.
   *
   * @param persona the persona that should be removed
   * @throws Folks.PersonaStoreError.STORE_OFFLINE if the store hasn’t been
   * prepared or has gone offline
   * @throws Folks.PersonaStoreError.PERMISSION_DENIED if the store denied
   * permission to delete the contact
   * @throws Folks.PersonaStoreError.READ_ONLY if the store is read only
   * @throws Folks.PersonaStoreError.REMOVE_FAILED if any other errors happened
   * in the store
   *
   * @since 0.6.0
   */
static void edsf_persona_store_remove_persona_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreRemovePersonaData* _data_;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_remove_persona_co (_data_);
#line 2729 "edsf-persona-store.c"
}


static gboolean edsf_persona_store_real_remove_persona_co (EdsfPersonaStoreRemovePersonaData* _data_) {
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 2738 "edsf-persona-store.c"
		goto _state_0;
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 2742 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 2747 "edsf-persona-store.c"
	}
	_state_0:
#line 547 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_is_prepared;
#line 547 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_data_->_tmp0_) {
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = g_error_new_literal (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE, "Persona store has not yet been prepared.");
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp1_;
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2768 "edsf-persona-store.c"
			} else {
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2772 "edsf-persona-store.c"
			}
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 2778 "edsf-persona-store.c"
		} else {
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 2786 "edsf-persona-store.c"
		}
	}
	{
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = _data_->self->priv->_addressbook;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = _data_->persona;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = edsf_persona_get_contact (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, EDSF_TYPE_PERSONA, EdsfPersona));
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp5_ = _data_->_tmp4_;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_state_ = 1;
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_book_client_remove_contact (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp2_, e_book_client_get_type (), EBookClient), _data_->_tmp5_, NULL, edsf_persona_store_remove_persona_ready, _data_);
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 2804 "edsf-persona-store.c"
		_state_1:
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_book_client_remove_contact_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp2_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_inner_error_);
#line 557 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 2810 "edsf-persona-store.c"
			goto __catch9_g_error;
		}
	}
	goto __finally9;
	__catch9_g_error:
	{
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->e = _data_->_inner_error_;
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = NULL;
#line 562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp6_ = _data_->e;
#line 562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp7_ = _data_->_tmp6_->domain;
#line 562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = 0U;
#line 562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = e_book_client_error_quark ();
#line 562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp7_ == _data_->_tmp8_) {
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp9_ = _data_->e;
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp10_ = _data_->_tmp9_->code;
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			switch ((EBookClientError) _data_->_tmp10_) {
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND:
#line 2839 "edsf-persona-store.c"
				{
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_error_free0 (_data_->e);
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (_data_->_state_ == 0) {
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2847 "edsf-persona-store.c"
					} else {
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						g_simple_async_result_complete (_data_->_async_result);
#line 2851 "edsf-persona-store.c"
					}
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					g_object_unref (_data_->_async_result);
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					return FALSE;
#line 2857 "edsf-persona-store.c"
				}
				default:
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_BOOK_CLIENT_ERROR_NO_SUCH_BOOK:
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_BOOK_CLIENT_ERROR_CONTACT_ID_ALREADY_EXISTS:
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_BOOK_CLIENT_ERROR_NO_SUCH_SOURCE:
#line 564 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_BOOK_CLIENT_ERROR_NO_SPACE:
#line 2868 "edsf-persona-store.c"
				{
#line 576 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					break;
#line 2872 "edsf-persona-store.c"
				}
			}
		} else {
#line 579 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp11_ = _data_->e;
#line 579 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp12_ = _data_->_tmp11_->domain;
#line 579 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp13_ = 0U;
#line 579 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp13_ = e_client_error_quark ();
#line 579 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp12_ == _data_->_tmp13_) {
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp14_ = _data_->e;
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp15_ = _data_->_tmp14_->code;
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				switch ((EClientError) _data_->_tmp15_) {
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
#line 2894 "edsf-persona-store.c"
					{
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp16_ = NULL;
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp16_ = _ ("Address book ‘%s’ is offline, so contact ‘%s’ cannot be removed.");
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp17_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp18_ = _data_->_tmp17_;
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp19_ = _data_->persona;
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp20_ = folks_persona_get_uid (_data_->_tmp19_);
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp21_ = _data_->_tmp20_;
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp22_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE, _data_->_tmp16_, _data_->_tmp18_, _data_->_tmp21_);
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_inner_error_ = _data_->_tmp22_;
#line 584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_error_free0 (_data_->e);
#line 2916 "edsf-persona-store.c"
						goto __finally9;
					}
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_PERMISSION_DENIED:
#line 2921 "edsf-persona-store.c"
					{
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp23_ = NULL;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp23_ = _ ("Permission denied to remove contact ‘%s’: %s");
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp24_ = _data_->persona;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp25_ = folks_persona_get_uid (_data_->_tmp24_);
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp26_ = _data_->_tmp25_;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp27_ = _data_->e;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp28_ = _data_->_tmp27_->message;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp29_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_PERMISSION_DENIED, _data_->_tmp23_, _data_->_tmp26_, _data_->_tmp28_);
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_inner_error_ = _data_->_tmp29_;
#line 590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_error_free0 (_data_->e);
#line 2943 "edsf-persona-store.c"
						goto __finally9;
					}
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_NOT_SUPPORTED:
#line 2948 "edsf-persona-store.c"
					{
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp30_ = NULL;
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp30_ = _ ("Removing contacts isn't supported by this persona store: %s");
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp31_ = _data_->e;
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp32_ = _data_->_tmp31_->message;
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_tmp33_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_READ_ONLY, _data_->_tmp30_, _data_->_tmp32_);
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->_inner_error_ = _data_->_tmp33_;
#line 596 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_error_free0 (_data_->e);
#line 2964 "edsf-persona-store.c"
						goto __finally9;
					}
					default:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_AUTHENTICATION_REQUIRED:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_INVALID_ARG:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_BUSY:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_DBUS_ERROR:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_OTHER_ERROR:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_COULD_NOT_CANCEL:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_AUTHENTICATION_FAILED:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_TLS_NOT_AVAILABLE:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_OFFLINE_UNAVAILABLE:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_SEARCH_SIZE_LIMIT_EXCEEDED:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_SEARCH_TIME_LIMIT_EXCEEDED:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_INVALID_QUERY:
#line 581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_CLIENT_ERROR_QUERY_REFUSED:
#line 2996 "edsf-persona-store.c"
					{
#line 621 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 3000 "edsf-persona-store.c"
					}
				}
			}
		}
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp34_ = NULL;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp34_ = _ ("Can't remove contact ‘%s’: %s");
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp35_ = _data_->persona;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp36_ = folks_persona_get_uid (_data_->_tmp35_);
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp37_ = _data_->_tmp36_;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp38_ = _data_->e;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp39_ = _data_->_tmp38_->message;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp40_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_REMOVE_FAILED, _data_->_tmp34_, _data_->_tmp37_, _data_->_tmp39_);
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp40_;
#line 626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->e);
#line 3025 "edsf-persona-store.c"
		goto __finally9;
	}
	__finally9:
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3041 "edsf-persona-store.c"
			} else {
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3045 "edsf-persona-store.c"
			}
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3051 "edsf-persona-store.c"
		} else {
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3059 "edsf-persona-store.c"
		}
	}
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3066 "edsf-persona-store.c"
	} else {
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3070 "edsf-persona-store.c"
	}
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 3076 "edsf-persona-store.c"
}


static void edsf_persona_store_real_prepare_data_free (gpointer _data) {
	EdsfPersonaStorePrepareData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStorePrepareData, _data_);
#line 3087 "edsf-persona-store.c"
}


static void edsf_persona_store_real_prepare (FolksPersonaStore* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStore * self;
	EdsfPersonaStorePrepareData* _data_;
	EdsfPersonaStore* _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStorePrepareData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_store_real_prepare);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_store_real_prepare_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_prepare_co (_data_);
#line 3109 "edsf-persona-store.c"
}


static void edsf_persona_store_real_prepare_finish (FolksPersonaStore* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStorePrepareData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 3119 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3123 "edsf-persona-store.c"
}


/**
   * Prepare the PersonaStore for use.
   *
   * See {@link Folks.PersonaStore.prepare}.
   *
   * @throws Folks.PersonaStoreError.STORE_OFFLINE if the EDS store is offline
   * @throws Folks.PersonaStoreError.PERMISSION_DENIED if permission was denied
   * to open the EDS store
   * @throws Folks.PersonaStoreError.INVALID_ARGUMENT if any other error
   * occurred in the EDS store
   *
   * @since 0.6.0
   */
static void edsf_persona_store_prepare_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStorePrepareData* _data_;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_real_prepare_co (_data_);
#line 3150 "edsf-persona-store.c"
}


static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle) {
	int i;
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	for (i = 0; i < stack_length; i++) {
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (g_strcmp0 (stack[i], needle) == 0) {
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return TRUE;
#line 3162 "edsf-persona-store.c"
		}
	}
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 3167 "edsf-persona-store.c"
}


static gboolean edsf_persona_store_real_prepare_co (EdsfPersonaStorePrepareData* _data_) {
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 3176 "edsf-persona-store.c"
		goto _state_0;
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 3180 "edsf-persona-store.c"
		goto _state_1;
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 3184 "edsf-persona-store.c"
		goto _state_2;
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 3:
#line 3188 "edsf-persona-store.c"
		goto _state_3;
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 4:
#line 3192 "edsf-persona-store.c"
		goto _state_4;
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 5:
#line 3196 "edsf-persona-store.c"
		goto _state_5;
		default:
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 3201 "edsf-persona-store.c"
	}
	_state_0:
#line 646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	folks_internal_profiling_start ("preparing Edsf.PersonaStore (ID: %s)", _data_->_tmp1_, NULL);
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->self->priv->_is_prepared;
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp3_ == TRUE) {
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = TRUE;
#line 3216 "edsf-persona-store.c"
	} else {
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = _data_->self->priv->_prepare_pending;
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = _data_->_tmp4_ == TRUE;
#line 3222 "edsf-persona-store.c"
	}
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp2_;
#line 649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp5_) {
#line 651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3232 "edsf-persona-store.c"
		} else {
#line 651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 3236 "edsf-persona-store.c"
		}
#line 651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 3242 "edsf-persona-store.c"
	}
	{
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->self->priv->_prepare_pending = TRUE;
#line 3247 "edsf-persona-store.c"
		{
#line 663 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp6_ = _data_->self->priv->_source_registry;
#line 663 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp6_ == NULL) {
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_state_ = 1;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_source_registry_new (NULL, edsf_persona_store_prepare_ready, _data_);
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				return FALSE;
#line 3259 "edsf-persona-store.c"
				_state_1:
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp7_ = NULL;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp7_ = e_source_registry_new_finish (_data_->_res_, &_data_->_inner_error_);
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp8_ = _data_->_tmp7_;
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_inner_error_ != NULL) {
#line 3269 "edsf-persona-store.c"
					goto __catch11_g_error;
				}
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_data_->self->priv->_source_registry);
#line 665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->self->priv->_source_registry = _data_->_tmp8_;
#line 3276 "edsf-persona-store.c"
			}
#line 670 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp9_ = _data_->self->priv->_source_registry;
#line 670 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp9_, e_source_registry_get_type (), ESourceRegistry), "source-removed", (GCallback) __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_removed, _data_->self, 0);
#line 672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp10_ = _data_->self->priv->_source_registry;
#line 672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp10_, e_source_registry_get_type (), ESourceRegistry), "source-disabled", (GCallback) __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_disabled, _data_->self, 0);
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp11_ = _data_->self->priv->_source;
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp12_ = e_book_client_new (_data_->_tmp11_, &_data_->_inner_error_);
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp13_ = _data_->_tmp12_;
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 3294 "edsf-persona-store.c"
				goto __catch11_g_error;
			}
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->self->priv->_addressbook);
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_addressbook = _data_->_tmp13_;
#line 678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = _data_->self->priv->_addressbook;
#line 678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object ((GObject*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp14_, e_book_client_get_type (), EBookClient), "notify::readonly", (GCallback) __edsf_persona_store_address_book_notify_read_only_cb_g_object_notify, _data_->self, 0);
#line 681 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 2;
#line 681 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_edsf_persona_store_open_address_book (_data_->self, edsf_persona_store_prepare_ready, _data_);
#line 681 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3311 "edsf-persona-store.c"
			_state_2:
#line 681 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_edsf_persona_store_open_address_book_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 681 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 3317 "edsf-persona-store.c"
				goto __catch11_g_error;
			}
#line 682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp15_ = _data_->self->priv->_addressbook;
#line 682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp16_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp17_ = _data_->_tmp16_;
#line 682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_debug ("Successfully finished opening address book %p for " "persona store ‘%s’ (%p).", _data_->_tmp15_, _data_->_tmp17_, _data_->self);
#line 685 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 685 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp19_ = _data_->_tmp18_;
#line 685 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			folks_internal_profiling_point ("opened address book in " "Edsf.PersonaStore (ID: %s)", _data_->_tmp19_, NULL);
#line 688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_edsf_persona_store_notify_if_default (_data_->self);
#line 689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_edsf_persona_store_update_trust_level (_data_->self);
#line 3338 "edsf-persona-store.c"
		}
		goto __finally11;
		__catch11_g_error:
		{
#line 658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->e1 = _data_->_inner_error_;
#line 658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = NULL;
#line 694 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_emit_by_name ((FolksPersonaStore*) _data_->self, "removed");
#line 696 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp20_ = _data_->e1;
#line 696 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = _data_->_tmp20_->domain;
#line 696 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22_ = 0U;
#line 696 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22_ = e_book_client_error_quark ();
#line 696 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp21_ == _data_->_tmp22_) {
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp23_ = _data_->e1;
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp24_ = _data_->_tmp23_->code;
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				switch ((EBookClientError) _data_->_tmp24_) {
#line 3365 "edsf-persona-store.c"
					default:
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SUCH_BOOK:
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SUCH_SOURCE:
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND:
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_CONTACT_ID_ALREADY_EXISTS:
#line 698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SPACE:
#line 3377 "edsf-persona-store.c"
					{
#line 709 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 3381 "edsf-persona-store.c"
					}
				}
			} else {
#line 712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp25_ = _data_->e1;
#line 712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp26_ = _data_->_tmp25_->domain;
#line 712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp27_ = 0U;
#line 712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp27_ = e_client_error_quark ();
#line 712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_tmp26_ == _data_->_tmp27_) {
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp28_ = _data_->e1;
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp29_ = _data_->_tmp28_->code;
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					switch ((EClientError) _data_->_tmp29_) {
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
#line 3403 "edsf-persona-store.c"
						{
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp30_ = NULL;
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp30_ = _ ("Address book ‘%s’ is offline.");
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp31_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp32_ = _data_->_tmp31_;
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp33_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE, _data_->_tmp30_, _data_->_tmp32_);
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_inner_error_ = _data_->_tmp33_;
#line 717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_error_free0 (_data_->e1);
#line 3419 "edsf-persona-store.c"
							goto __finally11;
						}
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_PERMISSION_DENIED:
#line 3424 "edsf-persona-store.c"
						{
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp34_ = NULL;
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp34_ = _ ("Permission denied to open address book ‘%s’: %s");
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp35_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp36_ = _data_->_tmp35_;
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp37_ = _data_->e1;
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp38_ = _data_->_tmp37_->message;
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp39_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_PERMISSION_DENIED, _data_->_tmp34_, _data_->_tmp36_, _data_->_tmp38_);
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_inner_error_ = _data_->_tmp39_;
#line 722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_error_free0 (_data_->e1);
#line 3444 "edsf-persona-store.c"
							goto __finally11;
						}
						default:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_AUTHENTICATION_REQUIRED:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_NOT_SUPPORTED:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_INVALID_ARG:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_BUSY:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_DBUS_ERROR:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_OTHER_ERROR:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_COULD_NOT_CANCEL:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_AUTHENTICATION_FAILED:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_TLS_NOT_AVAILABLE:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_OFFLINE_UNAVAILABLE:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_SEARCH_SIZE_LIMIT_EXCEEDED:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_SEARCH_TIME_LIMIT_EXCEEDED:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_INVALID_QUERY:
#line 714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_QUERY_REFUSED:
#line 3478 "edsf-persona-store.c"
						{
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							break;
#line 3482 "edsf-persona-store.c"
						}
					}
				}
			}
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp40_ = NULL;
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp40_ = _ ("Couldn't open address book ‘%s’: %s");
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp41_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp42_ = _data_->_tmp41_;
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp43_ = _data_->e1;
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp44_ = _data_->_tmp43_->message;
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp45_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT, _data_->_tmp40_, _data_->_tmp42_, _data_->_tmp44_);
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp45_;
#line 755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e1);
#line 3505 "edsf-persona-store.c"
			goto __finally11;
		}
		__finally11:
#line 658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 3511 "edsf-persona-store.c"
			goto __finally10;
		}
		{
#line 768 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->supported_fields = NULL;
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp46_ = _data_->self->priv->_addressbook;
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp47_ = NULL;
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 3;
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_client_get_backend_property ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp46_, e_book_client_get_type (), EBookClient), "supported-fields", NULL, edsf_persona_store_prepare_ready, _data_);
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3527 "edsf-persona-store.c"
			_state_3:
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_client_get_backend_property_finish ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp46_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_tmp47_, &_data_->_inner_error_);
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->supported_fields);
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->supported_fields = _data_->_tmp47_;
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (_data_->supported_fields);
#line 3539 "edsf-persona-store.c"
				goto __catch12_g_error;
			}
#line 772 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp48_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 772 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp49_ = _data_->_tmp48_;
#line 772 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			folks_internal_profiling_point ("got supported fields in " "Edsf.PersonaStore (ID: %s)", _data_->_tmp49_, NULL);
#line 775 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp50_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 775 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->prop_set = _data_->_tmp50_;
#line 778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp51_ = _data_->supported_fields;
#line 778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp51_ != NULL) {
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp52_ = _data_->supported_fields;
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp54_ = NULL;
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp54_ = _data_->_tmp53_ = g_strsplit ((const gchar*) _data_->_tmp52_, ",", 0);
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->fields = _data_->_tmp54_;
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->fields_length1 = _vala_array_length (_data_->_tmp53_);
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_fields_size_ = _data_->fields_length1;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp55_ = _data_->prop_set;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp56_ = NULL;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp56_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_LOCAL_IDS);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp55_, (const gchar*) _data_->_tmp56_);
#line 787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp57_ = _data_->prop_set;
#line 787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp58_ = NULL;
#line 787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp58_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_WEB_SERVICE_ADDRESSES);
#line 787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp57_, (const gchar*) _data_->_tmp58_);
#line 789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp59_ = _data_->prop_set;
#line 789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp60_ = NULL;
#line 789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp60_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_GENDER);
#line 789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp59_, (const gchar*) _data_->_tmp60_);
#line 791 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp61_ = _data_->prop_set;
#line 791 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp62_ = NULL;
#line 791 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp62_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_IS_FAVOURITE);
#line 791 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp61_, (const gchar*) _data_->_tmp62_);
#line 793 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp63_ = _data_->prop_set;
#line 793 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp64_ = NULL;
#line 793 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp64_ = folks_persona_store_detail_key (FOLKS_PERSONA_DETAIL_ANTI_LINKS);
#line 793 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp63_, (const gchar*) _data_->_tmp64_);
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp65_ = _data_->fields;
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp65__length1 = _data_->fields_length1;
#line 3612 "edsf-persona-store.c"
				{
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->field_collection_length1 = 0;
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_field_collection_size_ = 0;
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->field_collection = _data_->_tmp65_;
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->field_collection_length1 = _data_->_tmp65__length1;
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					for (_data_->field_it = 0; _data_->field_it < _data_->_tmp65__length1; _data_->field_it = _data_->field_it + 1) {
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_data_->field = _data_->field_collection[_data_->field_it];
#line 3626 "edsf-persona-store.c"
						{
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp66_ = _data_->field;
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp67_ = 0;
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp67_ = _edsf_persona_store_eds_field_name_to_folks_persona_detail (_data_->self, _data_->_tmp66_);
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp68_ = NULL;
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp68_ = folks_persona_store_detail_key (_data_->_tmp67_);
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp69_ = g_strdup (_data_->_tmp68_);
#line 798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->prop = _data_->_tmp69_;
#line 801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp70_ = _data_->prop;
#line 801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (_data_->_tmp70_ != NULL) {
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp71_ = _data_->prop_set;
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp72_ = _data_->prop;
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->prop = NULL;
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_data_->_tmp73_ = (gchar*) _data_->_tmp72_;
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp71_, _data_->_tmp73_);
#line 803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_g_free0 (_data_->_tmp73_);
#line 3658 "edsf-persona-store.c"
							}
#line 796 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_free0 (_data_->prop);
#line 3662 "edsf-persona-store.c"
						}
					}
				}
#line 778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->fields = (_vala_array_free (_data_->fields, _data_->fields_length1, (GDestroyNotify) g_free), NULL);
#line 3668 "edsf-persona-store.c"
			}
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp74_ = _data_->prop_set;
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp75_ = gee_abstract_collection_get_size ((GeeCollection*) _data_->_tmp74_);
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp76_ = _data_->_tmp75_;
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp77_ = NULL;
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp77_ = g_new0 (gchar*, _data_->_tmp76_ + 1);
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_always_writeable_properties = (_vala_array_free (_data_->self->priv->_always_writeable_properties, _data_->self->priv->_always_writeable_properties_length1, (GDestroyNotify) g_free), NULL);
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_always_writeable_properties = _data_->_tmp77_;
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_always_writeable_properties_length1 = _data_->_tmp76_;
#line 810 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->__always_writeable_properties_size_ = _data_->self->priv->_always_writeable_properties_length1;
#line 811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->i = (guint) 0;
#line 3690 "edsf-persona-store.c"
			{
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp78_ = _data_->prop_set;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp79_ = NULL;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp79_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) _data_->_tmp78_);
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_final_prop_it = _data_->_tmp79_;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				while (TRUE) {
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp80_ = _data_->_final_prop_it;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp81_ = FALSE;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp81_ = gee_iterator_next (_data_->_tmp80_);
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (!_data_->_tmp81_) {
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 3712 "edsf-persona-store.c"
					}
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp82_ = _data_->_final_prop_it;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp83_ = NULL;
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp83_ = gee_iterator_get (_data_->_tmp82_);
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->final_prop = (gchar*) _data_->_tmp83_;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp84_ = _data_->self->priv->_always_writeable_properties;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp84__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp85_ = _data_->i;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->i = _data_->_tmp85_ + 1;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp86_ = _data_->final_prop;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp87_ = g_strdup (_data_->_tmp86_);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_data_->_tmp84_[_data_->_tmp85_]);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp84_[_data_->_tmp85_] = _data_->_tmp87_;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp88_ = _data_->_tmp84_[_data_->_tmp85_];
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_data_->final_prop);
#line 3742 "edsf-persona-store.c"
				}
#line 812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_data_->_final_prop_it);
#line 3746 "edsf-persona-store.c"
			}
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->prop_set);
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->supported_fields);
#line 3752 "edsf-persona-store.c"
		}
		goto __finally12;
		__catch12_g_error:
		{
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->e2 = _data_->_inner_error_;
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = NULL;
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_emit_by_name ((FolksPersonaStore*) _data_->self, "removed");
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp89_ = NULL;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp89_ = _ ("Couldn't get address book capabilities: %s");
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp90_ = _data_->e2;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp91_ = _data_->_tmp90_->message;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp92_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT, _data_->_tmp89_, _data_->_tmp91_);
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp92_;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e2);
#line 3777 "edsf-persona-store.c"
			goto __finally12;
		}
		__finally12:
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 3783 "edsf-persona-store.c"
			goto __finally10;
		}
#line 830 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->do_initial_query = FALSE;
#line 3788 "edsf-persona-store.c"
		{
#line 833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->capabilities = NULL;
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp93_ = _data_->self->priv->_addressbook;
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp94_ = NULL;
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 4;
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_client_get_backend_property ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp93_, e_book_client_get_type (), EBookClient), "capabilities", NULL, edsf_persona_store_prepare_ready, _data_);
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3802 "edsf-persona-store.c"
			_state_4:
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_client_get_backend_property_finish ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp93_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_tmp94_, &_data_->_inner_error_);
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->capabilities);
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->capabilities = _data_->_tmp94_;
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (_data_->capabilities);
#line 3814 "edsf-persona-store.c"
				goto __catch13_g_error;
			}
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp95_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp96_ = _data_->_tmp95_;
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			folks_internal_profiling_point ("got capabilities in " "Edsf.PersonaStore (ID: %s)", _data_->_tmp96_, NULL);
#line 840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp97_ = _data_->capabilities;
#line 840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp97_ != NULL) {
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp98_ = _data_->capabilities;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp100_ = NULL;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp100_ = _data_->_tmp99_ = g_strsplit ((const gchar*) _data_->_tmp98_, ",", 0);
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->caps = _data_->_tmp100_;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->caps_length1 = _vala_array_length (_data_->_tmp99_);
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_caps_size_ = _data_->caps_length1;
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp101_ = _data_->caps;
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp101__length1 = _data_->caps_length1;
#line 844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->do_initial_query = _vala_string_array_contains (_data_->_tmp101_, _data_->_tmp101__length1, "do-initial-query");
#line 840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->caps = (_vala_array_free (_data_->caps, _data_->caps_length1, (GDestroyNotify) g_free), NULL);
#line 3847 "edsf-persona-store.c"
			}
#line 831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->capabilities);
#line 3851 "edsf-persona-store.c"
		}
		goto __finally13;
		__catch13_g_error:
		{
#line 831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->e4 = _data_->_inner_error_;
#line 831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = NULL;
#line 850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_emit_by_name ((FolksPersonaStore*) _data_->self, "removed");
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp102_ = NULL;
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp102_ = _ ("Couldn't get address book capabilities: %s");
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp103_ = _data_->e4;
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp104_ = _data_->_tmp103_->message;
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp105_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT, _data_->_tmp102_, _data_->_tmp104_);
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp105_;
#line 852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e4);
#line 3876 "edsf-persona-store.c"
			goto __finally13;
		}
		__finally13:
#line 831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 3882 "edsf-persona-store.c"
			goto __finally10;
		}
#line 857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->got_view = FALSE;
#line 3887 "edsf-persona-store.c"
		{
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp106_ = _data_->self->priv->_addressbook;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp107_ = _data_->self->priv->_query_str;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp108_ = NULL;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 5;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_book_client_get_view (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp106_, e_book_client_get_type (), EBookClient), _data_->_tmp107_, NULL, edsf_persona_store_prepare_ready, _data_);
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 3901 "edsf-persona-store.c"
			_state_5:
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp109_ = FALSE;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp109_ = e_book_client_get_view_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp106_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_tmp108_, &_data_->_inner_error_);
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->self->priv->_ebookview);
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_ebookview = _data_->_tmp108_;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp110_ = _data_->_tmp109_;
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 3915 "edsf-persona-store.c"
				goto __catch14_g_error;
			}
#line 860 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->got_view = _data_->_tmp110_;
#line 863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp111_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp112_ = _data_->_tmp111_;
#line 863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			folks_internal_profiling_point ("opened book view in " "Edsf.PersonaStore (ID: %s)", _data_->_tmp112_, NULL);
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp113_ = _data_->got_view;
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp113_ == FALSE) {
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp114_ = NULL;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp114_ = _ ("Couldn't get view for address book ‘%s’.");
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp115_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp116_ = _data_->_tmp115_;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp117_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT, _data_->_tmp114_, _data_->_tmp116_);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_inner_error_ = _data_->_tmp117_;
#line 3942 "edsf-persona-store.c"
				goto __catch14_g_error;
			}
#line 874 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp118_ = _data_->self->priv->_ebookview;
#line 874 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp118_, e_book_client_view_get_type (), EBookClientView), "objects-added", (GCallback) __edsf_persona_store_contacts_added_cb_e_book_client_view_objects_added, _data_->self, 0);
#line 876 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp119_ = _data_->self->priv->_ebookview;
#line 876 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp119_, e_book_client_view_get_type (), EBookClientView), "objects-removed", (GCallback) __edsf_persona_store_contacts_removed_cb_e_book_client_view_objects_removed, _data_->self, 0);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp120_ = _data_->self->priv->_ebookview;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp120_, e_book_client_view_get_type (), EBookClientView), "objects-modified", (GCallback) __edsf_persona_store_contacts_changed_cb_e_book_client_view_objects_modified, _data_->self, 0);
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp121_ = _data_->self->priv->_ebookview;
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp121_, e_book_client_view_get_type (), EBookClientView), "complete", (GCallback) __edsf_persona_store_contacts_complete_cb_e_book_client_view_complete, _data_->self, 0);
#line 883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp122_ = _data_->self->priv->_ebookview;
#line 883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_book_client_view_start (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp122_, e_book_client_view_get_type (), EBookClientView), &_data_->_inner_error_);
#line 883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 3967 "edsf-persona-store.c"
				goto __catch14_g_error;
			}
		}
		goto __finally14;
		__catch14_g_error:
		{
#line 858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->e3 = _data_->_inner_error_;
#line 858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = NULL;
#line 888 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_emit_by_name ((FolksPersonaStore*) _data_->self, "removed");
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp123_ = _data_->e3;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp124_ = _data_->_tmp123_->domain;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp125_ = 0U;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp125_ = e_book_client_error_quark ();
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_tmp124_ == _data_->_tmp125_) {
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp126_ = _data_->e3;
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp127_ = _data_->_tmp126_->code;
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				switch ((EBookClientError) _data_->_tmp127_) {
#line 3996 "edsf-persona-store.c"
					default:
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SUCH_BOOK:
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SUCH_SOURCE:
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND:
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_CONTACT_ID_ALREADY_EXISTS:
#line 892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					case E_BOOK_CLIENT_ERROR_NO_SPACE:
#line 4008 "edsf-persona-store.c"
					{
#line 903 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 4012 "edsf-persona-store.c"
					}
				}
			} else {
#line 906 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp128_ = _data_->e3;
#line 906 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp129_ = _data_->_tmp128_->domain;
#line 906 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp130_ = 0U;
#line 906 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp130_ = e_client_error_quark ();
#line 906 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_tmp129_ == _data_->_tmp130_) {
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp131_ = _data_->e3;
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->_tmp132_ = _data_->_tmp131_->code;
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					switch ((EClientError) _data_->_tmp132_) {
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
#line 4034 "edsf-persona-store.c"
						{
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp133_ = NULL;
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp133_ = _ ("Address book ‘%s’ is offline.");
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp134_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp135_ = _data_->_tmp134_;
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp136_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE, _data_->_tmp133_, _data_->_tmp135_);
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_inner_error_ = _data_->_tmp136_;
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_error_free0 (_data_->e3);
#line 4050 "edsf-persona-store.c"
							goto __finally14;
						}
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_PERMISSION_DENIED:
#line 4055 "edsf-persona-store.c"
						{
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp137_ = NULL;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp137_ = _ ("Permission denied to open address book ‘%s’: %s");
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp138_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp139_ = _data_->_tmp138_;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp140_ = _data_->e3;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp141_ = _data_->_tmp140_->message;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_tmp142_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_PERMISSION_DENIED, _data_->_tmp137_, _data_->_tmp139_, _data_->_tmp141_);
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_data_->_inner_error_ = _data_->_tmp142_;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_error_free0 (_data_->e3);
#line 4075 "edsf-persona-store.c"
							goto __finally14;
						}
						default:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_AUTHENTICATION_REQUIRED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_NOT_SUPPORTED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_INVALID_ARG:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_BUSY:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_DBUS_ERROR:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_OTHER_ERROR:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_SEARCH_SIZE_LIMIT_EXCEEDED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_SEARCH_TIME_LIMIT_EXCEEDED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_QUERY_REFUSED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_COULD_NOT_CANCEL:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_AUTHENTICATION_FAILED:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_TLS_NOT_AVAILABLE:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_OFFLINE_UNAVAILABLE:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD:
#line 908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						case E_CLIENT_ERROR_INVALID_QUERY:
#line 4109 "edsf-persona-store.c"
						{
#line 944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							break;
#line 4113 "edsf-persona-store.c"
						}
					}
				}
			}
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp143_ = NULL;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp143_ = _ ("Couldn't get view for address book ‘%s’: %s");
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp144_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp145_ = _data_->_tmp144_;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp146_ = _data_->e3;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp147_ = _data_->_tmp146_->message;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp148_ = g_error_new (FOLKS_PERSONA_STORE_ERROR, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT, _data_->_tmp143_, _data_->_tmp145_, _data_->_tmp147_);
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp148_;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e3);
#line 4136 "edsf-persona-store.c"
			goto __finally14;
		}
		__finally14:
#line 858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 4142 "edsf-persona-store.c"
			goto __finally10;
		}
#line 956 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->self->priv->_is_prepared = TRUE;
#line 957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_notify ((GObject*) _data_->self, "is-prepared");
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp150_ = _data_->do_initial_query;
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp150_ == FALSE) {
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp151_ = _data_->self->priv->_is_quiescent;
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp149_ = _data_->_tmp151_ == FALSE;
#line 4157 "edsf-persona-store.c"
		} else {
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp149_ = FALSE;
#line 4161 "edsf-persona-store.c"
		}
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp152_ = _data_->_tmp149_;
#line 962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp152_) {
#line 964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp153_ = _data_->self->priv->_pending_personas;
#line 964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_vala_assert (_data_->_tmp153_ == NULL, "this._pending_personas == null");
#line 965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_is_quiescent = TRUE;
#line 966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_notify ((GObject*) _data_->self, "is-quiescent");
#line 4175 "edsf-persona-store.c"
		}
	}
	__finally10:
	{
#line 971 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->self->priv->_prepare_pending = FALSE;
#line 4182 "edsf-persona-store.c"
	}
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PERSONA_STORE_ERROR) {
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 4196 "edsf-persona-store.c"
			} else {
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 4200 "edsf-persona-store.c"
			}
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 4206 "edsf-persona-store.c"
		} else {
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 4214 "edsf-persona-store.c"
		}
	}
#line 974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	folks_internal_profiling_end ("preparing Edsf.PersonaStore", NULL);
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 4223 "edsf-persona-store.c"
	} else {
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 4227 "edsf-persona-store.c"
	}
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 644 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 4233 "edsf-persona-store.c"
}


static void _edsf_persona_store_open_address_book_data_free (gpointer _data) {
	EdsfPersonaStoreOpenAddressBookData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreOpenAddressBookData, _data_);
#line 4244 "edsf-persona-store.c"
}


static void _edsf_persona_store_open_address_book (EdsfPersonaStore* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreOpenAddressBookData* _data_;
	EdsfPersonaStore* _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreOpenAddressBookData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_open_address_book);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_open_address_book_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_open_address_book_co (_data_);
#line 4263 "edsf-persona-store.c"
}


static void _edsf_persona_store_open_address_book_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreOpenAddressBookData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 4273 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 4277 "edsf-persona-store.c"
}


static void _edsf_persona_store_open_address_book_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreOpenAddressBookData* _data_;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_open_address_book_co (_data_);
#line 4291 "edsf-persona-store.c"
}


static gpointer _g_error_copy0 (gpointer self) {
#line 1005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? g_error_copy (self) : NULL;
#line 4298 "edsf-persona-store.c"
}


static gboolean __edsf_persona_store_open_address_book_co_gsource_func (gpointer self) {
	gboolean result;
	result = _edsf_persona_store_open_address_book_co (self);
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 4307 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_open_address_book_co (EdsfPersonaStoreOpenAddressBookData* _data_) {
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 4316 "edsf-persona-store.c"
		goto _state_0;
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 4320 "edsf-persona-store.c"
		goto _state_1;
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 4324 "edsf-persona-store.c"
		goto _state_2;
		default:
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 4329 "edsf-persona-store.c"
	}
	_state_0:
#line 985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->err_out = NULL;
#line 987 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_addressbook;
#line 987 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp1_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 987 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp2_ = _data_->_tmp1_;
#line 987 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_debug ("edsf-persona-store.vala:987: Opening address book %p for persona store" \
" ‘%s’ (%p)", _data_->_tmp0_, _data_->_tmp2_, _data_->self);
#line 994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->self->priv->_addressbook;
#line 994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = 0UL;
#line 994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = g_signal_connect_swapped (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, e_book_client_get_type (), EBookClient), "opened", (GCallback) _edsf_persona_store_address_book_opened_cb, _data_->self);
#line 994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->signal_id = _data_->_tmp4_;
#line 4350 "edsf-persona-store.c"
	{
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->self->priv->_open_address_book_error);
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->self->priv->_open_address_book_error = NULL;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp5_ = _data_->self->priv->_addressbook;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_state_ = 1;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_client_open ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, e_book_client_get_type (), EBookClient), FALSE, NULL, _edsf_persona_store_open_address_book_ready, _data_);
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 4364 "edsf-persona-store.c"
		_state_1:
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_client_open_finish ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_inner_error_);
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 4370 "edsf-persona-store.c"
			goto __catch15_g_error;
		}
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp6_ = _data_->self->priv->_open_address_book_error;
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp6_ != NULL) {
#line 1005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp7_ = _data_->self->priv->_open_address_book_error;
#line 1005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp8_ = _g_error_copy0 (_data_->_tmp7_);
#line 1005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp8_;
#line 4383 "edsf-persona-store.c"
			goto __catch15_g_error;
		}
	}
	goto __finally15;
	__catch15_g_error:
	{
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->e1 = _data_->_inner_error_;
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = NULL;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = _data_->e1;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = _data_->_tmp10_->domain;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = 0U;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = e_client_error_quark ();
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp11_ == _data_->_tmp12_) {
#line 1011 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp13_ = _data_->e1;
#line 1011 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = _data_->_tmp13_->code;
#line 1011 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp9_ = ((EClientError) _data_->_tmp14_) == E_CLIENT_ERROR_BUSY;
#line 4410 "edsf-persona-store.c"
		} else {
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp9_ = FALSE;
#line 4414 "edsf-persona-store.c"
		}
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp15_ = _data_->_tmp9_;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp15_) {
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			(_data_->self->priv->_open_address_book_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->_open_address_book_callback_target_destroy_notify (_data_->self->priv->_open_address_book_callback_target), NULL);
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback = NULL;
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback_target = NULL;
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback_target_destroy_notify = NULL;
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback = __edsf_persona_store_open_address_book_co_gsource_func;
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback_target = _data_;
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_callback_target_destroy_notify = NULL;
#line 1026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->self->priv->_open_address_book_error);
#line 1026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->self->priv->_open_address_book_error = NULL;
#line 1028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp16_ = _data_->self->priv->_addressbook;
#line 1028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp17_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 1028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = _data_->_tmp17_;
#line 1028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_debug ("Yielding on opening address book %p for persona store " "‘%s’ (%p)", _data_->_tmp16_, _data_->_tmp18_, _data_->self);
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 2;
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 4450 "edsf-persona-store.c"
			_state_2:
			;
#line 1033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp19_ = _data_->self->priv->_open_address_book_error;
#line 1033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp20_ = _g_error_copy0 (_data_->_tmp19_);
#line 1033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->err_out);
#line 1033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->err_out = _data_->_tmp20_;
#line 4461 "edsf-persona-store.c"
		} else {
#line 1038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = _data_->e1;
#line 1038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22_ = _g_error_copy0 (_data_->_tmp21_);
#line 1038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->err_out);
#line 1038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->err_out = _data_->_tmp22_;
#line 4471 "edsf-persona-store.c"
		}
#line 1041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp23_ = _data_->err_out;
#line 1041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp23_ != NULL) {
#line 1043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp24_ = _data_->err_out;
#line 1043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp25_ = _g_error_copy0 (_data_->_tmp24_);
#line 1043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp25_;
#line 1043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e1);
#line 4485 "edsf-persona-store.c"
			goto __finally15;
		}
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->e1);
#line 4490 "edsf-persona-store.c"
	}
	__finally15:
	{
#line 1049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp26_ = _data_->self->priv->_addressbook;
#line 1049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp27_ = _data_->signal_id;
#line 1049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_signal_handler_disconnect ((GObject*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp26_, e_book_client_get_type (), EBookClient), _data_->_tmp27_);
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp29_ = _data_->self->priv->_addressbook;
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp30_ = FALSE;
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp30_ = e_client_is_opened ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp29_, e_book_client_get_type (), EBookClient));
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp30_ == FALSE) {
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp31_ = _data_->err_out;
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp28_ = _data_->_tmp31_ == NULL;
#line 4512 "edsf-persona-store.c"
		} else {
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp28_ = FALSE;
#line 4516 "edsf-persona-store.c"
		}
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp32_ = _data_->_tmp28_;
#line 1056 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp32_) {
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp33_ = 0U;
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp33_ = e_client_error_quark ();
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp34_ = folks_persona_store_get_id ((FolksPersonaStore*) _data_->self);
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp35_ = _data_->_tmp34_;
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp36_ = g_error_new (_data_->_tmp33_, (gint) E_CLIENT_ERROR_OTHER_ERROR, "Misbehaving EDS backend: %s.", _data_->_tmp35_);
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->err_out);
#line 1058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->err_out = _data_->_tmp36_;
#line 4536 "edsf-persona-store.c"
		}
	}
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_error_free (_data_->_inner_error_);
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->err_out);
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 4551 "edsf-persona-store.c"
		} else {
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 4555 "edsf-persona-store.c"
		}
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 4561 "edsf-persona-store.c"
	}
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_error_free0 (_data_->err_out);
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 4569 "edsf-persona-store.c"
	} else {
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 4573 "edsf-persona-store.c"
	}
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 4579 "edsf-persona-store.c"
}


static void _edsf_persona_store_address_book_opened_cb (EdsfPersonaStore* self, GError* err, EBookClient* address_book) {
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	EBookClient* _tmp2_;
	GError* _tmp3_;
	GError* _tmp4_;
	GError* _tmp5_;
	GSourceFunc _tmp6_;
	void* _tmp6__target;
#line 1065 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1065 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (address_book != NULL);
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _tmp0_;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = address_book;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = err;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_debug ("_address_book_opened_cb for store ‘%s’ (%p), address book %p " "and error %p", _tmp1_, self, _tmp2_, (void*) _tmp3_);
#line 1070 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = err;
#line 1070 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = _g_error_copy0 (_tmp4_);
#line 1070 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_error_free0 (self->priv->_open_address_book_error);
#line 1070 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_error = _tmp5_;
#line 1072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = self->priv->_open_address_book_callback;
#line 1072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6__target = self->priv->_open_address_book_callback_target;
#line 1072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp6_ != NULL) {
#line 4620 "edsf-persona-store.c"
		GSourceFunc _tmp7_;
		void* _tmp7__target;
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = self->priv->_open_address_book_callback;
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7__target = self->priv->_open_address_book_callback_target;
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ (_tmp7__target);
#line 4629 "edsf-persona-store.c"
	}
}


static FolksPersonaDetail _edsf_persona_store_eds_field_name_to_folks_persona_detail (EdsfPersonaStore* self, const gchar* eds_field_name) {
	FolksPersonaDetail result = 0;
	const gchar* _tmp0_;
	EContactField _tmp1_ = 0;
	EContactField eds_field_id;
	EContactField _tmp2_;
#line 1078 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1078 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (eds_field_name != NULL, 0);
#line 1081 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = eds_field_name;
#line 1081 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_contact_field_id (_tmp0_);
#line 1081 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	eds_field_id = _tmp1_;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = eds_field_id;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_tmp2_) {
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_FULL_NAME:
#line 4656 "edsf-persona-store.c"
		{
#line 1086 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_FULL_NAME;
#line 1086 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4662 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_GIVEN_NAME:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_FAMILY_NAME:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_NAME:
#line 4670 "edsf-persona-store.c"
		{
#line 1090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_STRUCTURED_NAME;
#line 1090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4676 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_NICKNAME:
#line 4680 "edsf-persona-store.c"
		{
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_NICKNAME;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4686 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_EMAIL_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_EMAIL_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_EMAIL_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_EMAIL_4:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_EMAIL:
#line 4698 "edsf-persona-store.c"
		{
#line 1098 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_EMAIL_ADDRESSES;
#line 1098 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4704 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_LABEL_HOME:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_LABEL_WORK:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_LABEL_OTHER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_HOME:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_WORK:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ADDRESS_OTHER:
#line 4720 "edsf-persona-store.c"
		{
#line 1106 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_POSTAL_ADDRESSES;
#line 1106 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4726 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_ASSISTANT:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_BUSINESS:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_BUSINESS_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_BUSINESS_FAX:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_CALLBACK:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_CAR:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_COMPANY:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_HOME:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_HOME_FAX:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_ISDN:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_MOBILE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_OTHER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_OTHER_FAX:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_PAGER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_PRIMARY:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_RADIO:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_TELEX:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHONE_TTYTDD:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_TEL:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_SIP:
#line 4770 "edsf-persona-store.c"
		{
#line 1128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_PHONE_NUMBERS;
#line 1128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4776 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ORG:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ORG_UNIT:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_OFFICE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_TITLE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ROLE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_MANAGER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ASSISTANT:
#line 4792 "edsf-persona-store.c"
		{
#line 1136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_ROLES;
#line 1136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4798 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_HOMEPAGE_URL:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_BLOG_URL:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_FREEBUSY_URL:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_VIDEO_URL:
#line 4808 "edsf-persona-store.c"
		{
#line 1141 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_URLS;
#line 1141 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4814 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_CATEGORIES:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_CATEGORY_LIST:
#line 4820 "edsf-persona-store.c"
		{
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_GROUPS;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4826 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_NOTE:
#line 4830 "edsf-persona-store.c"
		{
#line 1146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_NOTES;
#line 1146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4836 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_AIM:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GROUPWISE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_JABBER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_YAHOO:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_MSN:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_ICQ:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GADUGADU:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_SKYPE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_HOME_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_HOME_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_HOME_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_WORK_1:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_WORK_2:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK_WORK_3:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IM_GOOGLE_TALK:
#line 4964 "edsf-persona-store.c"
		{
#line 1210 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_IM_ADDRESSES;
#line 1210 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4970 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_PHOTO:
#line 4974 "edsf-persona-store.c"
		{
#line 1212 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_AVATAR;
#line 1212 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4980 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_BIRTH_DATE:
#line 4984 "edsf-persona-store.c"
		{
#line 1214 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_BIRTHDAY;
#line 1214 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 4990 "edsf-persona-store.c"
		}
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_UID:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_REV:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_BOOK_UID:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_NAME_OR_ORG:
#line 5000 "edsf-persona-store.c"
		{
#line 1220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_INVALID;
#line 1220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 5006 "edsf-persona-store.c"
		}
		default:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_FILE_AS:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_MAILER:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_CALENDAR_URI:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ICS_CALENDAR:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_SPOUSE:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_LOGO:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_WANTS_HTML:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_IS_LIST:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_LIST_SHOW_ADDRESSES:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_ANNIVERSARY:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_X509_CERT:
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case E_CONTACT_GEO:
#line 5033 "edsf-persona-store.c"
		{
			const gchar* _tmp3_;
#line 1235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = eds_field_name;
#line 1235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_debug ("edsf-persona-store.vala:1235: Unsupported/Unknown EDS field name '%s'.", _tmp3_);
#line 1236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			result = FOLKS_PERSONA_DETAIL_INVALID;
#line 1236 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return result;
#line 5044 "edsf-persona-store.c"
		}
	}
}


static void _edsf_persona_store_commit_modified_property_data_free (gpointer _data) {
	EdsfPersonaStoreCommitModifiedPropertyData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->property_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreCommitModifiedPropertyData, _data_);
#line 5061 "edsf-persona-store.c"
}


static void _edsf_persona_store_commit_modified_property (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* property_name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreCommitModifiedPropertyData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreCommitModifiedPropertyData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_commit_modified_property);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_commit_modified_property_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = property_name;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->property_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->property_name = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_co (_data_);
#line 5100 "edsf-persona-store.c"
}


static void _edsf_persona_store_commit_modified_property_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreCommitModifiedPropertyData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 5110 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 5114 "edsf-persona-store.c"
}


static Block2Data* block2_data_ref (Block2Data* _data2_) {
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_atomic_int_inc (&_data2_->_ref_count_);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return _data2_;
#line 5123 "edsf-persona-store.c"
}


static void block2_data_unref (void * _userdata_) {
	Block2Data* _data2_;
	_data2_ = (Block2Data*) _userdata_;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
#line 5132 "edsf-persona-store.c"
		EdsfPersonaStore * self;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		self = _data2_->self;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (self);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_slice_free (Block2Data, _data2_);
#line 5140 "edsf-persona-store.c"
	}
}


static Block3Data* block3_data_ref (Block3Data* _data3_) {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_atomic_int_inc (&_data3_->_ref_count_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return _data3_;
#line 5150 "edsf-persona-store.c"
}


static void block3_data_unref (void * _userdata_) {
	Block3Data* _data3_;
	_data3_ = (Block3Data*) _userdata_;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
#line 5159 "edsf-persona-store.c"
		EdsfPersonaStore * self;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		self = _data3_->_data2_->self;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		block2_data_unref (_data3_->_data2_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data3_->_data2_ = NULL;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_slice_free (Block3Data, _data3_);
#line 5169 "edsf-persona-store.c"
	}
}


static void ___lambda6_ (Block3Data* _data3_, GObject* obj, GParamSpec* pspec) {
	Block2Data* _data2_;
	EdsfPersonaStore * self;
	gboolean _tmp0_;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data2_ = _data3_->_data2_;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = _data2_->self;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (obj != NULL);
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (pspec != NULL);
#line 1265 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data3_->received_notification = TRUE;
#line 1267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _data3_->has_yielded;
#line 1267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == TRUE) {
#line 1269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_edsf_persona_store_commit_modified_property_co (_data2_->_async_data_);
#line 5194 "edsf-persona-store.c"
	}
}


static void ____lambda6__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	___lambda6_ (self, _sender, pspec);
#line 5202 "edsf-persona-store.c"
}


static void _edsf_persona_store_commit_modified_property_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreCommitModifiedPropertyData* _data_;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_co (_data_);
#line 5216 "edsf-persona-store.c"
}


static gboolean ___lambda7_ (Block3Data* _data3_) {
	Block2Data* _data2_;
	EdsfPersonaStore * self;
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data2_ = _data3_->_data2_;
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = _data2_->self;
#line 1281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _data3_->has_yielded;
#line 1281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == TRUE) {
#line 1283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_edsf_persona_store_commit_modified_property_co (_data2_->_async_data_);
#line 5235 "edsf-persona-store.c"
	}
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = FALSE;
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 5241 "edsf-persona-store.c"
}


static gboolean ____lambda7__gsource_func (gpointer self) {
	gboolean result;
	result = ___lambda7_ (self);
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 5250 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_commit_modified_property_co (EdsfPersonaStoreCommitModifiedPropertyData* _data_) {
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 5259 "edsf-persona-store.c"
		goto _state_0;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 5263 "edsf-persona-store.c"
		goto _state_1;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 5267 "edsf-persona-store.c"
		goto _state_2;
		default:
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 5272 "edsf-persona-store.c"
	}
	_state_0:
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_data2_ = g_slice_new0 (Block2Data);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_data2_->_ref_count_ = 1;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_data2_->self = g_object_ref (_data_->self);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_data2_->_async_data_ = _data_;
#line 1250 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_addressbook;
#line 1250 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_vala_assert (_data_->_tmp0_ != NULL, "this._addressbook != null");
#line 1252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp1_ = _data_->persona;
#line 1252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp2_ = edsf_persona_get_contact (_data_->_tmp1_);
#line 1252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->_tmp2_;
#line 1252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = _g_object_ref0 (_data_->_tmp3_);
#line 1252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->contact = _data_->_tmp4_;
#line 1254 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->signal_id = (gulong) 0;
#line 1255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->timeout_id = (guint) 0;
#line 5301 "edsf-persona-store.c"
	{
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_ = g_slice_new0 (Block3Data);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_->_ref_count_ = 1;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_->_data2_ = block2_data_ref (_data_->_data2_);
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_->received_notification = FALSE;
#line 1260 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_->has_yielded = FALSE;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp5_ = _data_->persona;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp6_ = _data_->property_name;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp7_ = g_strconcat ("notify::", _data_->_tmp6_, NULL);
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = 0UL;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = g_signal_connect_data ((GObject*) _data_->_tmp5_, _data_->_tmp7_, (GCallback) ____lambda6__g_object_notify, block3_data_ref (_data_->_data3_), (GClosureNotify) block3_data_unref, 0);
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->signal_id = _data_->_tmp8_;
#line 1262 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->_tmp7_);
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp9_ = _data_->self->priv->_addressbook;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = _data_->contact;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_state_ = 1;
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_book_client_modify_contact (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp9_, e_book_client_get_type (), EBookClient), _data_->_tmp10_, NULL, _edsf_persona_store_commit_modified_property_ready, _data_);
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 5337 "edsf-persona-store.c"
		_state_1:
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_book_client_modify_contact_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp9_, e_book_client_get_type (), EBookClient), _data_->_res_, &_data_->_inner_error_);
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			block3_data_unref (_data_->_data3_);
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_data3_ = NULL;
#line 5347 "edsf-persona-store.c"
			goto __catch16_g_error;
		}
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = 0U;
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = g_timeout_add_seconds_full (G_PRIORITY_LOW, EDSF_PERSONA_STORE__property_change_timeout, ____lambda7__gsource_func, block3_data_ref (_data_->_data3_), block3_data_unref);
#line 1277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->timeout_id = _data_->_tmp11_;
#line 1295 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = _data_->_data3_->received_notification;
#line 1295 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp12_ == FALSE) {
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_data3_->has_yielded = TRUE;
#line 1298 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 2;
#line 1298 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5366 "edsf-persona-store.c"
			_state_2:
			;
		}
#line 1303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp13_ = _data_->_data3_->received_notification;
#line 1303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp13_ == FALSE) {
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = NULL;
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = _ ("Changing the ‘%s’ property failed due to reaching the timeout.");
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp15_ = _data_->property_name;
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp16_ = g_error_new (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_UNKNOWN_ERROR, _data_->_tmp14_, _data_->_tmp15_);
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp16_;
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			block3_data_unref (_data_->_data3_);
#line 1305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_data3_ = NULL;
#line 5388 "edsf-persona-store.c"
			goto __catch16_g_error;
		}
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		block3_data_unref (_data_->_data3_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_data3_ = NULL;
#line 5395 "edsf-persona-store.c"
	}
	goto __finally16;
	__catch16_g_error:
	{
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->e = _data_->_inner_error_;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = NULL;
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp17_ = _data_->property_name;
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp18_ = _data_->e;
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp19_ = NULL;
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp19_ = edsf_persona_store_e_client_error_to_property_error (_data_->self, _data_->_tmp17_, _data_->_tmp18_);
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp19_;
#line 1312 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (_data_->e);
#line 5416 "edsf-persona-store.c"
		goto __finally16;
	}
	__finally16:
	{
#line 1317 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp20_ = _data_->signal_id;
#line 1317 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp20_ != ((gulong) 0)) {
#line 1319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = _data_->persona;
#line 1319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22_ = _data_->signal_id;
#line 1319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handler_disconnect ((GObject*) _data_->_tmp21_, _data_->_tmp22_);
#line 5431 "edsf-persona-store.c"
		}
#line 1322 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp23_ = _data_->timeout_id;
#line 1322 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp23_ != ((guint) 0)) {
#line 1324 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp24_ = _data_->timeout_id;
#line 1324 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_source_remove (_data_->_tmp24_);
#line 5441 "edsf-persona-store.c"
		}
	}
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->contact);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			block2_data_unref (_data_->_data2_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_data2_ = NULL;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5462 "edsf-persona-store.c"
			} else {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 5466 "edsf-persona-store.c"
			}
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5472 "edsf-persona-store.c"
		} else {
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->contact);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			block2_data_unref (_data_->_data2_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_data2_ = NULL;
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1257 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5486 "edsf-persona-store.c"
		}
	}
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->contact);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	block2_data_unref (_data_->_data2_);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_data2_ = NULL;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5499 "edsf-persona-store.c"
	} else {
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 5503 "edsf-persona-store.c"
	}
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 5509 "edsf-persona-store.c"
}


static void _edsf_persona_store_remove_attribute (EdsfPersonaStore* self, EContact* contact, const gchar* attr_name) {
	EContact* _tmp0_;
	const gchar* _tmp1_;
	EVCardAttribute* _tmp2_ = NULL;
	EVCardAttribute* attr;
	EVCardAttribute* _tmp3_;
#line 1329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (attr_name != NULL);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = attr_name;
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = e_vcard_get_attribute ((EVCard*) _tmp0_, _tmp1_);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	attr = _tmp2_;
#line 1332 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = attr;
#line 1332 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp3_ != NULL) {
#line 5537 "edsf-persona-store.c"
		EContact* _tmp4_;
		EVCardAttribute* _tmp5_;
#line 1334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = contact;
#line 1334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = attr;
#line 1334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_vcard_remove_attribute ((EVCard*) _tmp4_, (EVCardAttribute*) _tmp5_);
#line 5546 "edsf-persona-store.c"
	}
}


static void _edsf_persona_store_set_avatar_data_free (gpointer _data) {
	EdsfPersonaStoreSetAvatarData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetAvatarData, _data_);
#line 5562 "edsf-persona-store.c"
}


void _edsf_persona_store_set_avatar (EdsfPersonaStore* self, EdsfPersona* persona, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetAvatarData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GLoadableIcon* _tmp3_;
	GLoadableIcon* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetAvatarData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_avatar_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = avatar;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->avatar = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_avatar_co (_data_);
#line 5601 "edsf-persona-store.c"
}


void _edsf_persona_store_set_avatar_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetAvatarData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 5611 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 5615 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetAvatarData* _data_;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_avatar_co (_data_);
#line 5629 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_avatar_co (EdsfPersonaStoreSetAvatarData* _data_) {
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 5638 "edsf-persona-store.c"
		goto _state_0;
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 5642 "edsf-persona-store.c"
		goto _state_1;
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 5646 "edsf-persona-store.c"
		goto _state_2;
		default:
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 5651 "edsf-persona-store.c"
	}
	_state_0:
#line 1341 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1341 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1341 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "avatar")) {
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Avatar is not writeable on this contact.");
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5678 "edsf-persona-store.c"
			} else {
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 5682 "edsf-persona-store.c"
			}
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5688 "edsf-persona-store.c"
		} else {
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1343 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5696 "edsf-persona-store.c"
		}
	}
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->persona;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = folks_avatar_details_get_avatar ((FolksAvatarDetails*) _data_->_tmp5_);
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->_tmp6_;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_ == NULL) {
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = _data_->avatar;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = _data_->_tmp8_ == NULL;
#line 5711 "edsf-persona-store.c"
	} else {
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = FALSE;
#line 5715 "edsf-persona-store.c"
	}
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_tmp4_;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp9_) {
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = TRUE;
#line 5723 "edsf-persona-store.c"
	} else {
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = _data_->persona;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = folks_avatar_details_get_avatar ((FolksAvatarDetails*) _data_->_tmp11_);
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp13_ = _data_->_tmp12_;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_tmp13_ != NULL) {
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp14_ = _data_->persona;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp15_ = folks_avatar_details_get_avatar ((FolksAvatarDetails*) _data_->_tmp14_);
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp16_ = _data_->_tmp15_;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp17_ = _data_->avatar;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = FALSE;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp18_ = g_icon_equal ((GIcon*) G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp16_, g_loadable_icon_get_type (), GLoadableIcon), (GIcon*) _data_->_tmp17_);
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp10_ = _data_->_tmp18_;
#line 5747 "edsf-persona-store.c"
		} else {
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp10_ = FALSE;
#line 5751 "edsf-persona-store.c"
		}
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp19_ = _data_->_tmp10_;
#line 1349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = _data_->_tmp19_;
#line 5757 "edsf-persona-store.c"
	}
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp20_ = _data_->_tmp3_;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp20_) {
#line 1351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5767 "edsf-persona-store.c"
		} else {
#line 1351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 5771 "edsf-persona-store.c"
		}
#line 1351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 5777 "edsf-persona-store.c"
	}
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp21_ = _data_->persona;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp22_ = edsf_persona_get_contact (_data_->_tmp21_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp23_ = _data_->_tmp22_;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp24_ = _data_->avatar;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_avatar (_data_->self, _data_->_tmp23_, _data_->_tmp24_, _edsf_persona_store_set_avatar_ready, _data_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 5793 "edsf-persona-store.c"
	_state_1:
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_avatar_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5809 "edsf-persona-store.c"
			} else {
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 5813 "edsf-persona-store.c"
			}
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5819 "edsf-persona-store.c"
		} else {
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1354 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5827 "edsf-persona-store.c"
		}
	}
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp25_ = _data_->persona;
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 2;
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp25_, "avatar", _edsf_persona_store_set_avatar_ready, _data_);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 5838 "edsf-persona-store.c"
	_state_2:
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5854 "edsf-persona-store.c"
			} else {
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 5858 "edsf-persona-store.c"
			}
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5864 "edsf-persona-store.c"
		} else {
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1355 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 5872 "edsf-persona-store.c"
		}
	}
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 5879 "edsf-persona-store.c"
	} else {
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 5883 "edsf-persona-store.c"
	}
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 5889 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_web_service_addresses_data_free (gpointer _data) {
	EdsfPersonaStoreSetWebServiceAddressesData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->web_service_addresses);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetWebServiceAddressesData, _data_);
#line 5904 "edsf-persona-store.c"
}


void _edsf_persona_store_set_web_service_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* web_service_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetWebServiceAddressesData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeMultiMap* _tmp3_;
	GeeMultiMap* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetWebServiceAddressesData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_web_service_addresses);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_web_service_addresses_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = web_service_addresses;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->web_service_addresses);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->web_service_addresses = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_web_service_addresses_co (_data_);
#line 5943 "edsf-persona-store.c"
}


void _edsf_persona_store_set_web_service_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetWebServiceAddressesData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 5953 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 5957 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_web_service_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetWebServiceAddressesData* _data_;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_web_service_addresses_co (_data_);
#line 5971 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_web_service_addresses_co (EdsfPersonaStoreSetWebServiceAddressesData* _data_) {
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 5980 "edsf-persona-store.c"
		goto _state_0;
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 5984 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 5989 "edsf-persona-store.c"
	}
	_state_0:
#line 1362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1362 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "web-service-addresses")) {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Web service addresses are not writeable on this contact.");
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6016 "edsf-persona-store.c"
			} else {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 6020 "edsf-persona-store.c"
			}
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6026 "edsf-persona-store.c"
		} else {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6034 "edsf-persona-store.c"
		}
	}
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = folks_web_service_details_get_web_service_addresses ((FolksWebServiceDetails*) _data_->_tmp3_);
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->web_service_addresses;
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = FALSE;
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_utils_multi_map_str_afd_equal (_data_->_tmp5_, _data_->_tmp6_);
#line 1368 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_) {
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6055 "edsf-persona-store.c"
		} else {
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 6059 "edsf-persona-store.c"
		}
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 6065 "edsf-persona-store.c"
	}
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->persona;
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = edsf_persona_get_contact (_data_->_tmp8_);
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = _data_->web_service_addresses;
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_web_service_addresses (_data_->self, _data_->_tmp10_, _data_->_tmp11_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->persona;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp12_, "web-service-addresses", _edsf_persona_store_set_web_service_addresses_ready, _data_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 6085 "edsf-persona-store.c"
	_state_1:
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6101 "edsf-persona-store.c"
			} else {
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 6105 "edsf-persona-store.c"
			}
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6111 "edsf-persona-store.c"
		} else {
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6119 "edsf-persona-store.c"
		}
	}
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6126 "edsf-persona-store.c"
	} else {
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 6130 "edsf-persona-store.c"
	}
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1358 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 6136 "edsf-persona-store.c"
}


static EVCardAttributeParam* _vala_EVCardAttributeParam_copy (EVCardAttributeParam* self) {
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return g_boxed_copy (e_vcard_attribute_param_get_type (), self);
#line 6143 "edsf-persona-store.c"
}


static gpointer __vala_EVCardAttributeParam_copy0 (gpointer self) {
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? _vala_EVCardAttributeParam_copy (self) : NULL;
#line 6150 "edsf-persona-store.c"
}


static void _vala_EVCardAttributeParam_free (EVCardAttributeParam* self) {
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_boxed_free (e_vcard_attribute_param_get_type (), self);
#line 6157 "edsf-persona-store.c"
}


static void _vala_EVCardAttribute_free (EVCardAttribute* self) {
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_boxed_free (e_vcard_attribute_get_type (), self);
#line 6164 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_web_service_addresses (EdsfPersonaStore* self, EContact* contact, GeeMultiMap* web_service_addresses) {
	EContact* _tmp0_;
	EVCardAttribute* _tmp1_;
	EVCardAttribute* attr_n;
	EContact* _tmp30_;
	EVCardAttribute* _tmp31_;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (web_service_addresses != NULL);
#line 1380 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1380 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_remove_attribute (self, _tmp0_, "X-FOLKS-WEB-SERVICES-IDS");
#line 1382 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_vcard_attribute_new (NULL, "X-FOLKS-WEB-SERVICES-IDS");
#line 1382 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	attr_n = _tmp1_;
#line 6188 "edsf-persona-store.c"
	{
		GeeMultiMap* _tmp2_;
		GeeSet* _tmp3_ = NULL;
		GeeSet* _tmp4_;
		GeeIterator* _tmp5_ = NULL;
		GeeIterator* _tmp6_;
		GeeIterator* _service_it;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = web_service_addresses;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = gee_multi_map_get_keys (_tmp2_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = _tmp3_;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = _tmp5_;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_tmp4_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_service_it = _tmp6_;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 6212 "edsf-persona-store.c"
			GeeIterator* _tmp7_;
			gboolean _tmp8_ = FALSE;
			GeeIterator* _tmp9_;
			gpointer _tmp10_ = NULL;
			gchar* service;
			const gchar* _tmp11_;
			EVCardAttributeParam* _tmp12_;
			EVCardAttributeParam* param;
			EVCardAttribute* _tmp27_;
			EVCardAttributeParam* _tmp28_;
			EVCardAttributeParam* _tmp29_;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = _service_it;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = gee_iterator_next (_tmp7_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp8_) {
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 6232 "edsf-persona-store.c"
			}
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = _service_it;
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp10_ = gee_iterator_get (_tmp9_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			service = (gchar*) _tmp10_;
#line 1385 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = service;
#line 1385 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = e_vcard_attribute_param_new (_tmp11_);
#line 1385 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			param = _tmp12_;
#line 6246 "edsf-persona-store.c"
			{
				GeeMultiMap* _tmp13_;
				const gchar* _tmp14_;
				GeeCollection* _tmp15_ = NULL;
				GeeCollection* _tmp16_;
				GeeIterator* _tmp17_ = NULL;
				GeeIterator* _tmp18_;
				GeeIterator* _ws_fd_it;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp13_ = web_service_addresses;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp14_ = service;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp15_ = gee_multi_map_get (_tmp13_, _tmp14_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp16_ = _tmp15_;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp17_ = gee_iterable_iterator ((GeeIterable*) _tmp16_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp18_ = _tmp17_;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_tmp16_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_ws_fd_it = _tmp18_;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				while (TRUE) {
#line 6273 "edsf-persona-store.c"
					GeeIterator* _tmp19_;
					gboolean _tmp20_ = FALSE;
					GeeIterator* _tmp21_;
					gpointer _tmp22_ = NULL;
					FolksWebServiceFieldDetails* ws_fd;
					EVCardAttributeParam* _tmp23_;
					FolksWebServiceFieldDetails* _tmp24_;
					gconstpointer _tmp25_;
					const gchar* _tmp26_;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp19_ = _ws_fd_it;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp20_ = gee_iterator_next (_tmp19_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (!_tmp20_) {
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 6291 "edsf-persona-store.c"
					}
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp21_ = _ws_fd_it;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp22_ = gee_iterator_get (_tmp21_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					ws_fd = (FolksWebServiceFieldDetails*) _tmp22_;
#line 1388 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp23_ = param;
#line 1388 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp24_ = ws_fd;
#line 1388 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp25_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp24_);
#line 1388 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp26_ = _tmp25_;
#line 1388 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					e_vcard_attribute_param_add_value (_tmp23_, (const gchar*) _tmp26_);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (ws_fd);
#line 6311 "edsf-persona-store.c"
				}
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_ws_fd_it);
#line 6315 "edsf-persona-store.c"
			}
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp27_ = attr_n;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp28_ = param;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp29_ = __vala_EVCardAttributeParam_copy0 (_tmp28_);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_param (_tmp27_, _tmp29_);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__vala_EVCardAttributeParam_free0 (param);
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (service);
#line 6329 "edsf-persona-store.c"
		}
#line 1383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_service_it);
#line 6333 "edsf-persona-store.c"
	}
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp30_ = contact;
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp31_ = attr_n;
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	attr_n = NULL;
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_add_attribute ((EVCard*) _tmp30_, _tmp31_);
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__vala_EVCardAttribute_free0 (attr_n);
#line 6345 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_urls_data_free (gpointer _data) {
	EdsfPersonaStoreSetUrlsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->urls);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetUrlsData, _data_);
#line 6360 "edsf-persona-store.c"
}


void _edsf_persona_store_set_urls (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* urls, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetUrlsData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetUrlsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_urls);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_urls_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = urls;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->urls);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->urls = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_urls_co (_data_);
#line 6399 "edsf-persona-store.c"
}


void _edsf_persona_store_set_urls_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetUrlsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 6409 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 6413 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_urls_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetUrlsData* _data_;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_urls_co (_data_);
#line 6427 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_urls_co (EdsfPersonaStoreSetUrlsData* _data_) {
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 6436 "edsf-persona-store.c"
		goto _state_0;
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 6440 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 6445 "edsf-persona-store.c"
	}
	_state_0:
#line 1398 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1398 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1398 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "urls")) {
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("URLs are not writeable on this contact.");
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6472 "edsf-persona-store.c"
			} else {
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 6476 "edsf-persona-store.c"
			}
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6482 "edsf-persona-store.c"
		} else {
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1400 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6490 "edsf-persona-store.c"
		}
	}
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = folks_url_details_get_urls ((FolksUrlDetails*) _data_->_tmp3_);
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->urls;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = FALSE;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_utils_set_afd_equal (_data_->_tmp5_, _data_->_tmp6_);
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_) {
#line 1405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6511 "edsf-persona-store.c"
		} else {
#line 1405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 6515 "edsf-persona-store.c"
		}
#line 1405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 6521 "edsf-persona-store.c"
	}
#line 1407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->persona;
#line 1407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = edsf_persona_get_contact (_data_->_tmp8_);
#line 1407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 1407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = _data_->urls;
#line 1407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_urls (_data_->self, _data_->_tmp10_, _data_->_tmp11_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->persona;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp12_, "urls", _edsf_persona_store_set_urls_ready, _data_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 6541 "edsf-persona-store.c"
	_state_1:
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6557 "edsf-persona-store.c"
			} else {
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 6561 "edsf-persona-store.c"
			}
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6567 "edsf-persona-store.c"
		} else {
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 6575 "edsf-persona-store.c"
		}
	}
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 6582 "edsf-persona-store.c"
	} else {
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 6586 "edsf-persona-store.c"
	}
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 6592 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_urls (EdsfPersonaStore* self, EContact* contact, GeeSet* urls) {
	EContact* _tmp0_;
	EVCard* _tmp1_;
	EVCard* vcard;
	EVCard* _tmp2_;
#line 1411 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1411 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1411 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (urls != NULL);
#line 1413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, e_vcard_get_type (), EVCard));
#line 1413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	vcard = _tmp1_;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = vcard;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_remove_attributes (_tmp2_, NULL, "X-URIS");
#line 6617 "edsf-persona-store.c"
	{
		GeeSet* _tmp3_;
		GeeIterator* _tmp4_ = NULL;
		GeeIterator* _u_it;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = urls;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_u_it = _tmp4_;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 6630 "edsf-persona-store.c"
			GeeIterator* _tmp5_;
			gboolean _tmp6_ = FALSE;
			GeeIterator* _tmp7_;
			gpointer _tmp8_ = NULL;
			FolksUrlFieldDetails* u;
			gboolean set_attr_already;
			EVCardAttribute* _tmp9_;
			EVCardAttribute* attr;
			EVCardAttribute* _tmp10_;
			FolksUrlFieldDetails* _tmp11_;
			gconstpointer _tmp12_;
			const gchar* _tmp13_;
			gboolean _tmp63_;
			EContact* _tmp64_;
			EVCardAttribute* _tmp65_;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = _u_it;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = gee_iterator_next (_tmp5_);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp6_) {
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 6654 "edsf-persona-store.c"
			}
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = _u_it;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = gee_iterator_get (_tmp7_);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			u = (FolksUrlFieldDetails*) _tmp8_;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			set_attr_already = FALSE;
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = e_vcard_attribute_new (NULL, "X-URIS");
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = _tmp9_;
#line 1423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp10_ = attr;
#line 1423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = u;
#line 1423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp11_);
#line 1423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp13_ = _tmp12_;
#line 1423 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_value (_tmp10_, (const gchar*) _tmp13_);
#line 6678 "edsf-persona-store.c"
			{
				FolksUrlFieldDetails* _tmp14_;
				GeeMultiMap* _tmp15_;
				GeeMultiMap* _tmp16_;
				GeeSet* _tmp17_ = NULL;
				GeeSet* _tmp18_;
				GeeIterator* _tmp19_ = NULL;
				GeeIterator* _tmp20_;
				GeeIterator* _param_name_it;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp14_ = u;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp15_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp14_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp16_ = _tmp15_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp17_ = gee_multi_map_get_keys (_tmp16_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp18_ = _tmp17_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp19_ = gee_iterable_iterator ((GeeIterable*) _tmp18_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp20_ = _tmp19_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_tmp18_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_param_name_it = _tmp20_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				while (TRUE) {
#line 6708 "edsf-persona-store.c"
					GeeIterator* _tmp21_;
					gboolean _tmp22_ = FALSE;
					GeeIterator* _tmp23_;
					gpointer _tmp24_ = NULL;
					gchar* param_name;
					const gchar* _tmp25_;
					gchar* _tmp26_ = NULL;
					gchar* _tmp27_;
					EVCardAttributeParam* _tmp28_;
					EVCardAttributeParam* _tmp29_;
					EVCardAttributeParam* param;
					gboolean _tmp59_;
					EVCardAttribute* _tmp60_;
					EVCardAttributeParam* _tmp61_;
					EVCardAttributeParam* _tmp62_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp21_ = _param_name_it;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp22_ = gee_iterator_next (_tmp21_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (!_tmp22_) {
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 6732 "edsf-persona-store.c"
					}
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp23_ = _param_name_it;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp24_ = gee_iterator_get (_tmp23_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					param_name = (gchar*) _tmp24_;
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp25_ = param_name;
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp26_ = g_utf8_strup (_tmp25_, (gssize) (-1));
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp27_ = _tmp26_;
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp28_ = e_vcard_attribute_param_new (_tmp27_);
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp29_ = _tmp28_;
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_tmp27_);
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					param = _tmp29_;
#line 6754 "edsf-persona-store.c"
					{
						FolksUrlFieldDetails* _tmp30_;
						GeeMultiMap* _tmp31_;
						GeeMultiMap* _tmp32_;
						const gchar* _tmp33_;
						GeeCollection* _tmp34_ = NULL;
						GeeCollection* _tmp35_;
						GeeIterator* _tmp36_ = NULL;
						GeeIterator* _tmp37_;
						GeeIterator* _param_val_it;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp30_ = u;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp31_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp30_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp32_ = _tmp31_;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp33_ = param_name;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp34_ = gee_multi_map_get (_tmp32_, _tmp33_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp35_ = _tmp34_;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp36_ = gee_iterable_iterator ((GeeIterable*) _tmp35_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp37_ = _tmp36_;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_tmp35_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_param_val_it = _tmp37_;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						while (TRUE) {
#line 6787 "edsf-persona-store.c"
							GeeIterator* _tmp38_;
							gboolean _tmp39_ = FALSE;
							GeeIterator* _tmp40_;
							gpointer _tmp41_ = NULL;
							gchar* param_val;
							const gchar* _tmp42_;
							gboolean _tmp56_;
							EVCardAttributeParam* _tmp57_;
							const gchar* _tmp58_;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp38_ = _param_val_it;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp39_ = gee_iterator_next (_tmp38_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (!_tmp39_) {
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								break;
#line 6805 "edsf-persona-store.c"
							}
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp40_ = _param_val_it;
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp41_ = gee_iterator_get (_tmp40_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							param_val = (gchar*) _tmp41_;
#line 1429 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp42_ = param_name;
#line 1429 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (g_strcmp0 (_tmp42_, FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE) == 0) {
#line 6817 "edsf-persona-store.c"
								{
									EdsfPersonaUrlTypeMapping* mapping_collection = NULL;
									gint mapping_collection_length1 = 0;
									gint _mapping_collection_size_ = 0;
									gint mapping_it = 0;
#line 1433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									mapping_collection = EDSF_PERSONA__url_properties;
#line 1433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									mapping_collection_length1 = G_N_ELEMENTS (EDSF_PERSONA__url_properties);
#line 1433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									for (mapping_it = 0; mapping_it < G_N_ELEMENTS (EDSF_PERSONA__url_properties); mapping_it = mapping_it + 1) {
#line 6829 "edsf-persona-store.c"
										EdsfPersonaUrlTypeMapping mapping = {0};
#line 1433 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
										mapping = mapping_collection[mapping_it];
#line 6833 "edsf-persona-store.c"
										{
											const gchar* _tmp43_;
											gchar* _tmp44_ = NULL;
											gchar* _tmp45_;
											EdsfPersonaUrlTypeMapping _tmp46_;
											const gchar* _tmp47_;
											gboolean _tmp48_;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp43_ = param_val;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp44_ = g_utf8_strdown (_tmp43_, (gssize) (-1));
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp45_ = _tmp44_;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp46_ = mapping;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp47_ = _tmp46_.folks_type;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_tmp48_ = g_strcmp0 (_tmp45_, _tmp47_) == 0;
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											_g_free0 (_tmp45_);
#line 1435 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
											if (_tmp48_) {
#line 6857 "edsf-persona-store.c"
												EContact* _tmp49_;
												EdsfPersonaUrlTypeMapping _tmp50_;
												const gchar* _tmp51_;
												EContactField _tmp52_ = 0;
												FolksUrlFieldDetails* _tmp53_;
												gconstpointer _tmp54_;
												const gchar* _tmp55_;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp49_ = contact;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp50_ = mapping;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp51_ = _tmp50_.vcard_field_name;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp52_ = e_contact_field_id (_tmp51_);
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp53_ = u;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp54_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp53_);
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												_tmp55_ = _tmp54_;
#line 1437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												e_contact_set (_tmp49_, _tmp52_, (const gchar*) _tmp55_);
#line 1441 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												set_attr_already = TRUE;
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
												break;
#line 6885 "edsf-persona-store.c"
											}
										}
									}
								}
							}
#line 1447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp56_ = set_attr_already;
#line 1447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (_tmp56_ == TRUE) {
#line 1449 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_g_free0 (param_val);
#line 1449 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								break;
#line 6899 "edsf-persona-store.c"
							}
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp57_ = param;
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp58_ = param_val;
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							e_vcard_attribute_param_add_value (_tmp57_, _tmp58_);
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_free0 (param_val);
#line 6909 "edsf-persona-store.c"
						}
#line 1427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_param_val_it);
#line 6913 "edsf-persona-store.c"
					}
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp59_ = set_attr_already;
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (_tmp59_ == TRUE) {
#line 1457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						__vala_EVCardAttributeParam_free0 (param);
#line 1457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_free0 (param_name);
#line 1457 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 6925 "edsf-persona-store.c"
					}
#line 1460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp60_ = attr;
#line 1460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp61_ = param;
#line 1460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp62_ = __vala_EVCardAttributeParam_copy0 (_tmp61_);
#line 1460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					e_vcard_attribute_add_param (_tmp60_, _tmp62_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					__vala_EVCardAttributeParam_free0 (param);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (param_name);
#line 6939 "edsf-persona-store.c"
				}
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_param_name_it);
#line 6943 "edsf-persona-store.c"
			}
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp63_ = set_attr_already;
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_tmp63_ == TRUE) {
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				__vala_EVCardAttribute_free0 (attr);
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (u);
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				continue;
#line 6955 "edsf-persona-store.c"
			}
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp64_ = contact;
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp65_ = attr;
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = NULL;
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_add_attribute ((EVCard*) _tmp64_, _tmp65_);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__vala_EVCardAttribute_free0 (attr);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (u);
#line 6969 "edsf-persona-store.c"
		}
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_u_it);
#line 6973 "edsf-persona-store.c"
	}
#line 1411 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (vcard);
#line 6977 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_local_ids_data_free (gpointer _data) {
	EdsfPersonaStoreSetLocalIdsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->local_ids);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetLocalIdsData, _data_);
#line 6992 "edsf-persona-store.c"
}


void _edsf_persona_store_set_local_ids (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* local_ids, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetLocalIdsData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetLocalIdsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_local_ids);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_local_ids_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = local_ids;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->local_ids);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->local_ids = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_local_ids_co (_data_);
#line 7031 "edsf-persona-store.c"
}


void _edsf_persona_store_set_local_ids_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetLocalIdsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 7041 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 7045 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_local_ids_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetLocalIdsData* _data_;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_local_ids_co (_data_);
#line 7059 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_local_ids_co (EdsfPersonaStoreSetLocalIdsData* _data_) {
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 7068 "edsf-persona-store.c"
		goto _state_0;
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 7072 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 7077 "edsf-persona-store.c"
	}
	_state_0:
#line 1475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1475 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "local-ids")) {
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Local IDs are not writeable on this contact.");
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7104 "edsf-persona-store.c"
			} else {
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 7108 "edsf-persona-store.c"
			}
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7114 "edsf-persona-store.c"
		} else {
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1477 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7122 "edsf-persona-store.c"
		}
	}
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->local_ids;
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_local_ids (_data_->self, _data_->_tmp5_, _data_->_tmp6_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "local-ids", _edsf_persona_store_set_local_ids_ready, _data_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 7143 "edsf-persona-store.c"
	_state_1:
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7159 "edsf-persona-store.c"
			} else {
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 7163 "edsf-persona-store.c"
			}
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7169 "edsf-persona-store.c"
		} else {
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7177 "edsf-persona-store.c"
		}
	}
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7184 "edsf-persona-store.c"
	} else {
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 7188 "edsf-persona-store.c"
	}
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 7194 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_local_ids (EdsfPersonaStore* self, EContact* contact, GeeSet* local_ids) {
	EContact* _tmp0_;
	EVCardAttribute* _tmp1_;
	EVCardAttribute* new_attr;
	EContact* _tmp10_;
	EVCardAttribute* _tmp11_;
#line 1485 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1485 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1485 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (local_ids != NULL);
#line 1487 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1487 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_remove_attribute (self, _tmp0_, "X-FOLKS-CONTACTS-IDS");
#line 1489 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_vcard_attribute_new (NULL, "X-FOLKS-CONTACTS-IDS");
#line 1489 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	new_attr = _tmp1_;
#line 7218 "edsf-persona-store.c"
	{
		GeeSet* _tmp2_;
		GeeIterator* _tmp3_ = NULL;
		GeeIterator* _local_id_it;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = local_ids;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = gee_iterable_iterator ((GeeIterable*) _tmp2_);
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_local_id_it = _tmp3_;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 7231 "edsf-persona-store.c"
			GeeIterator* _tmp4_;
			gboolean _tmp5_ = FALSE;
			GeeIterator* _tmp6_;
			gpointer _tmp7_ = NULL;
			gchar* local_id;
			EVCardAttribute* _tmp8_;
			const gchar* _tmp9_;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = _local_id_it;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = gee_iterator_next (_tmp4_);
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp5_) {
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 7247 "edsf-persona-store.c"
			}
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = _local_id_it;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = gee_iterator_get (_tmp6_);
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			local_id = (gchar*) _tmp7_;
#line 1492 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = new_attr;
#line 1492 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = local_id;
#line 1492 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_value (_tmp8_, _tmp9_);
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (local_id);
#line 7263 "edsf-persona-store.c"
		}
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_local_id_it);
#line 7267 "edsf-persona-store.c"
	}
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp10_ = contact;
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp11_ = new_attr;
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	new_attr = NULL;
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_add_attribute ((EVCard*) _tmp10_, _tmp11_);
#line 1485 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__vala_EVCardAttribute_free0 (new_attr);
#line 7279 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_is_favourite_data_free (gpointer _data) {
	EdsfPersonaStoreSetIsFavouriteData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetIsFavouriteData, _data_);
#line 7292 "edsf-persona-store.c"
}


void _edsf_persona_store_set_is_favourite (EdsfPersonaStore* self, EdsfPersona* persona, gboolean is_favourite, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetIsFavouriteData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	gboolean _tmp3_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetIsFavouriteData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_is_favourite);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_is_favourite_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = is_favourite;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->is_favourite = _tmp3_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_is_favourite_co (_data_);
#line 7326 "edsf-persona-store.c"
}


void _edsf_persona_store_set_is_favourite_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetIsFavouriteData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 7336 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 7340 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_is_favourite_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetIsFavouriteData* _data_;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_is_favourite_co (_data_);
#line 7354 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_is_favourite_co (EdsfPersonaStoreSetIsFavouriteData* _data_) {
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 7363 "edsf-persona-store.c"
		goto _state_0;
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 7367 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 7372 "edsf-persona-store.c"
	}
	_state_0:
#line 1501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "is-favourite")) {
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("The contact cannot be marked as favourite.");
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7399 "edsf-persona-store.c"
			} else {
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 7403 "edsf-persona-store.c"
			}
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7409 "edsf-persona-store.c"
		} else {
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1503 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7417 "edsf-persona-store.c"
		}
	}
#line 1507 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1507 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1507 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1507 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->is_favourite;
#line 1507 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_is_favourite (_data_->self, _data_->_tmp5_, _data_->_tmp6_);
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = edsf_persona_get_contact (_data_->_tmp7_);
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_tmp8_;
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->persona;
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = folks_group_details_get_groups ((FolksGroupDetails*) _data_->_tmp10_);
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->_tmp11_;
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp13_ = _data_->is_favourite;
#line 1510 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_groups (_data_->self, _data_->_tmp9_, _data_->_tmp12_, _data_->_tmp13_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp14_ = _data_->persona;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp14_, "is-favourite", _edsf_persona_store_set_is_favourite_ready, _data_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 7454 "edsf-persona-store.c"
	_state_1:
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7470 "edsf-persona-store.c"
			} else {
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 7474 "edsf-persona-store.c"
			}
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7480 "edsf-persona-store.c"
		} else {
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7488 "edsf-persona-store.c"
		}
	}
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7495 "edsf-persona-store.c"
	} else {
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 7499 "edsf-persona-store.c"
	}
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 7505 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_is_favourite (EdsfPersonaStore* self, EContact* contact, gboolean is_favourite) {
	EContact* _tmp0_;
	gboolean _tmp1_;
#line 1514 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1514 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1516 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1516 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_remove_attribute (self, _tmp0_, "X-FOLKS-FAVOURITE");
#line 1518 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = is_favourite;
#line 1518 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp1_) {
#line 7524 "edsf-persona-store.c"
		EVCardAttribute* _tmp2_;
		EVCardAttribute* new_attr;
		EVCardAttribute* _tmp3_;
		EContact* _tmp4_;
		EVCardAttribute* _tmp5_;
#line 1520 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = e_vcard_attribute_new (NULL, "X-FOLKS-FAVOURITE");
#line 1520 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		new_attr = _tmp2_;
#line 1521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = new_attr;
#line 1521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_vcard_attribute_add_value (_tmp3_, "true");
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = contact;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = new_attr;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		new_attr = NULL;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e_vcard_add_attribute ((EVCard*) _tmp4_, _tmp5_);
#line 1518 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		__vala_EVCardAttribute_free0 (new_attr);
#line 7548 "edsf-persona-store.c"
	}
}


static void _edsf_persona_store_set_contact_avatar_data_free (gpointer _data) {
	EdsfPersonaStoreSetContactAvatarData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->contact);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetContactAvatarData, _data_);
#line 7564 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_avatar (EdsfPersonaStore* self, EContact* contact, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetContactAvatarData* _data_;
	EdsfPersonaStore* _tmp0_;
	EContact* _tmp1_;
	EContact* _tmp2_;
	GLoadableIcon* _tmp3_;
	GLoadableIcon* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetContactAvatarData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_contact_avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_contact_avatar_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = contact;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->contact);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->contact = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = avatar;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->avatar);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->avatar = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_avatar_co (_data_);
#line 7603 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_avatar_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetContactAvatarData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 7613 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 7617 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetContactAvatarData* _data_;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_avatar_co (_data_);
#line 7631 "edsf-persona-store.c"
}


static void _vala_EContactPhoto_free (EContactPhoto* self) {
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_boxed_free (e_contact_photo_get_type (), self);
#line 7638 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_contact_avatar_co (EdsfPersonaStoreSetContactAvatarData* _data_) {
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 7647 "edsf-persona-store.c"
		goto _state_0;
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 7651 "edsf-persona-store.c"
		goto _state_1;
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 2:
#line 7655 "edsf-persona-store.c"
		goto _state_2;
		default:
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 7660 "edsf-persona-store.c"
	}
	_state_0:
#line 1529 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->avatar;
#line 1529 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp0_ == NULL) {
#line 1531 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _data_->contact;
#line 1531 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_edsf_persona_store_remove_attribute (_data_->self, _data_->_tmp1_, "PHOTO");
#line 7671 "edsf-persona-store.c"
	} else {
		{
#line 1538 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp2_ = e_contact_photo_new ();
#line 1538 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->cp = _data_->_tmp2_;
#line 1539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp3_ = _data_->cp;
#line 1539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp3_->type = E_CONTACT_PHOTO_TYPE_INLINED;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp4_ = _data_->avatar;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_state_ = 1;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_loadable_icon_load_async (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, g_loadable_icon_get_type (), GLoadableIcon), -1, NULL, _edsf_persona_store_set_contact_avatar_ready, _data_);
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 7690 "edsf-persona-store.c"
			_state_1:
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp5_ = NULL;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp5_ = g_loadable_icon_load_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, g_loadable_icon_get_type (), GLoadableIcon), _data_->_res_, NULL, &_data_->_inner_error_);
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->input_s = _data_->_tmp5_;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_ != NULL) {
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				__vala_EContactPhoto_free0 (_data_->cp);
#line 7702 "edsf-persona-store.c"
				goto __catch17_g_error;
			}
#line 1542 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp6_ = NULL;
#line 1542 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp6_ = g_new0 (guint8, 0);
#line 1542 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->image_data = _data_->_tmp6_;
#line 1542 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->image_data_length1 = 0;
#line 1542 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_image_data_size_ = _data_->image_data_length1;
#line 1543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp7_ = NULL;
#line 1543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp7_ = g_new0 (guint8, 4096);
#line 1543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->buffer = _data_->_tmp7_;
#line 1543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->buffer_length1 = 4096;
#line 1543 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_buffer_size_ = _data_->buffer_length1;
#line 1544 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			while (TRUE) {
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp8_ = _data_->input_s;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp9_ = _data_->buffer;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp9__length1 = _data_->buffer_length1;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_state_ = 2;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_input_stream_read_async (_data_->_tmp8_, (void*) _data_->_tmp9_, (gsize) _data_->_tmp9__length1, G_PRIORITY_DEFAULT, NULL, _edsf_persona_store_set_contact_avatar_ready, _data_);
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				return FALSE;
#line 7739 "edsf-persona-store.c"
				_state_2:
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp10_ = 0L;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp10_ = g_input_stream_read_finish (_data_->_tmp8_, _data_->_res_, &_data_->_inner_error_);
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->size_read = _data_->_tmp10_;
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_inner_error_ != NULL) {
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->buffer = (g_free (_data_->buffer), NULL);
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_data_->image_data = (g_free (_data_->image_data), NULL);
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (_data_->input_s);
#line 1546 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					__vala_EContactPhoto_free0 (_data_->cp);
#line 7757 "edsf-persona-store.c"
					goto __catch17_g_error;
				}
#line 1547 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp11_ = _data_->size_read;
#line 1547 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_tmp11_ <= ((gssize) 0)) {
#line 1549 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					break;
#line 7766 "edsf-persona-store.c"
				}
#line 1551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp12_ = _data_->image_data;
#line 1551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp12__length1 = _data_->image_data_length1;
#line 1551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->read_cur = _data_->_tmp12__length1;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp13_ = _data_->read_cur;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp14_ = _data_->size_read;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp15_ = 0;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp15_ = _data_->_tmp13_ + ((gint) _data_->_tmp14_);
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->image_data = g_renew (guint8, _data_->image_data, _data_->_tmp13_ + ((gint) _data_->_tmp14_));
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				(_data_->_tmp15_ > _data_->image_data_length1) ? memset (_data_->image_data + _data_->image_data_length1, 0, sizeof (guint8) * (_data_->_tmp15_ - _data_->image_data_length1)) : NULL;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->image_data_length1 = _data_->_tmp15_;
#line 1552 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_image_data_size_ = _data_->_tmp15_;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp16_ = _data_->image_data;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp16__length1 = _data_->image_data_length1;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp17_ = _data_->read_cur;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp18_ = _data_->buffer;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp18__length1 = _data_->buffer_length1;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp19_ = _data_->size_read;
#line 1553 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				memcpy (&_data_->_tmp16_[_data_->_tmp17_], _data_->_tmp18_, (gsize) _data_->_tmp19_);
#line 7804 "edsf-persona-store.c"
			}
#line 1556 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp20_ = _data_->cp;
#line 1556 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21_ = _data_->image_data;
#line 1556 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp21__length1 = _data_->image_data_length1;
#line 1556 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_contact_photo_set_inlined (_data_->_tmp20_, _data_->_tmp21_, (gsize) _data_->_tmp21__length1);
#line 1558 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->uncertain = FALSE;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22_ = _data_->image_data;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp22__length1 = _data_->image_data_length1;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp23_ = FALSE;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp24_ = NULL;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp24_ = g_content_type_guess (NULL, _data_->_tmp22_, (gsize) _data_->_tmp22__length1, &_data_->_tmp23_);
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->uncertain = _data_->_tmp23_;
#line 1559 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->mime_type = _data_->_tmp24_;
#line 1561 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp25_ = _data_->uncertain;
#line 1561 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_data_->_tmp25_) {
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp26_ = _data_->cp;
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_data_->_tmp27_ = _data_->mime_type;
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_contact_photo_set_mime_type (_data_->_tmp26_, _data_->_tmp27_);
#line 7840 "edsf-persona-store.c"
			}
#line 1566 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp28_ = _data_->contact;
#line 1566 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp29_ = _data_->cp;
#line 1566 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_contact_set (_data_->_tmp28_, E_CONTACT_PHOTO, _data_->_tmp29_);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->mime_type);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->buffer = (g_free (_data_->buffer), NULL);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->image_data = (g_free (_data_->image_data), NULL);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_data_->input_s);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__vala_EContactPhoto_free0 (_data_->cp);
#line 7858 "edsf-persona-store.c"
		}
		goto __finally17;
		__catch17_g_error:
		{
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->e1 = _data_->_inner_error_;
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = NULL;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp30_ = NULL;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp30_ = _ ("Can't update avatar: %s");
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp31_ = _data_->e1;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp32_ = _data_->_tmp31_->message;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_tmp33_ = g_error_new (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_INVALID_VALUE, _data_->_tmp30_, _data_->_tmp32_);
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_data_->_inner_error_ = _data_->_tmp33_;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_error_free0 (_data_->e1);
#line 7881 "edsf-persona-store.c"
			goto __finally17;
		}
		__finally17:
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_ != NULL) {
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_error_free (_data_->_inner_error_);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_data_->_state_ == 0) {
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7897 "edsf-persona-store.c"
				} else {
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					g_simple_async_result_complete (_data_->_async_result);
#line 7901 "edsf-persona-store.c"
				}
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_object_unref (_data_->_async_result);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				return FALSE;
#line 7907 "edsf-persona-store.c"
			} else {
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_clear_error (&_data_->_inner_error_);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				return FALSE;
#line 7915 "edsf-persona-store.c"
			}
		}
	}
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 7923 "edsf-persona-store.c"
	} else {
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 7927 "edsf-persona-store.c"
	}
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 7933 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_emails_data_free (gpointer _data) {
	EdsfPersonaStoreSetEmailsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->emails);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetEmailsData, _data_);
#line 7948 "edsf-persona-store.c"
}


void _edsf_persona_store_set_emails (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* emails, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetEmailsData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetEmailsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_emails);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_emails_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = emails;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->emails);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->emails = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_emails_co (_data_);
#line 7987 "edsf-persona-store.c"
}


void _edsf_persona_store_set_emails_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetEmailsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 7997 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 8001 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_emails_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetEmailsData* _data_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_emails_co (_data_);
#line 8015 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_emails_co (EdsfPersonaStoreSetEmailsData* _data_) {
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 8024 "edsf-persona-store.c"
		goto _state_0;
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 8028 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 8033 "edsf-persona-store.c"
	}
	_state_0:
#line 1581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1581 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "email-addresses")) {
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("E-mail addresses are not writeable on this contact.");
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8060 "edsf-persona-store.c"
			} else {
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8064 "edsf-persona-store.c"
			}
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8070 "edsf-persona-store.c"
		} else {
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8078 "edsf-persona-store.c"
		}
	}
#line 1587 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1587 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1587 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1587 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->emails;
#line 1587 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_attributes_string (_data_->self, _data_->_tmp5_, _data_->_tmp6_, "EMAIL", E_CONTACT_EMAIL);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "email-addresses", _edsf_persona_store_set_emails_ready, _data_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8099 "edsf-persona-store.c"
	_state_1:
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8115 "edsf-persona-store.c"
			} else {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8119 "edsf-persona-store.c"
			}
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8125 "edsf-persona-store.c"
		} else {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8133 "edsf-persona-store.c"
		}
	}
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8140 "edsf-persona-store.c"
	} else {
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 8144 "edsf-persona-store.c"
	}
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8150 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_phones_data_free (gpointer _data) {
	EdsfPersonaStoreSetPhonesData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->phones);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetPhonesData, _data_);
#line 8165 "edsf-persona-store.c"
}


void _edsf_persona_store_set_phones (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* phones, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetPhonesData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetPhonesData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_phones);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_phones_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = phones;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->phones);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->phones = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_phones_co (_data_);
#line 8204 "edsf-persona-store.c"
}


void _edsf_persona_store_set_phones_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetPhonesData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 8214 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 8218 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_phones_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetPhonesData* _data_;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_phones_co (_data_);
#line 8232 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_phones_co (EdsfPersonaStoreSetPhonesData* _data_) {
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 8241 "edsf-persona-store.c"
		goto _state_0;
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 8245 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 8250 "edsf-persona-store.c"
	}
	_state_0:
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "phone-numbers")) {
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Phone numbers are not writeable on this contact.");
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8277 "edsf-persona-store.c"
			} else {
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8281 "edsf-persona-store.c"
			}
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8287 "edsf-persona-store.c"
		} else {
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1597 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8295 "edsf-persona-store.c"
		}
	}
#line 1601 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1601 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1601 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1601 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->phones;
#line 1601 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_attributes_string (_data_->self, _data_->_tmp5_, _data_->_tmp6_, "TEL", E_CONTACT_TEL);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "phone-numbers", _edsf_persona_store_set_phones_ready, _data_);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8316 "edsf-persona-store.c"
	_state_1:
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8332 "edsf-persona-store.c"
			} else {
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8336 "edsf-persona-store.c"
			}
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8342 "edsf-persona-store.c"
		} else {
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1603 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8350 "edsf-persona-store.c"
		}
	}
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8357 "edsf-persona-store.c"
	} else {
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 8361 "edsf-persona-store.c"
	}
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8367 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_postal_addresses_data_free (gpointer _data) {
	EdsfPersonaStoreSetPostalAddressesData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->postal_fds);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetPostalAddressesData, _data_);
#line 8382 "edsf-persona-store.c"
}


void _edsf_persona_store_set_postal_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* postal_fds, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetPostalAddressesData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetPostalAddressesData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_postal_addresses);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_postal_addresses_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = postal_fds;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->postal_fds);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->postal_fds = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_postal_addresses_co (_data_);
#line 8421 "edsf-persona-store.c"
}


void _edsf_persona_store_set_postal_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetPostalAddressesData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 8431 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 8435 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_postal_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetPostalAddressesData* _data_;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_postal_addresses_co (_data_);
#line 8449 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_postal_addresses_co (EdsfPersonaStoreSetPostalAddressesData* _data_) {
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 8458 "edsf-persona-store.c"
		goto _state_0;
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 8462 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 8467 "edsf-persona-store.c"
	}
	_state_0:
#line 1609 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1609 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1609 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "postal-addresses")) {
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Postal addresses are not writeable on this contact.");
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8494 "edsf-persona-store.c"
			} else {
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8498 "edsf-persona-store.c"
			}
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8504 "edsf-persona-store.c"
		} else {
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1611 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8512 "edsf-persona-store.c"
		}
	}
#line 1615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->postal_fds;
#line 1615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_postal_addresses (_data_->self, _data_->_tmp5_, _data_->_tmp6_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "postal-addresses", _edsf_persona_store_set_postal_addresses_ready, _data_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8533 "edsf-persona-store.c"
	_state_1:
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8549 "edsf-persona-store.c"
			} else {
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 8553 "edsf-persona-store.c"
			}
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8559 "edsf-persona-store.c"
		} else {
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 8567 "edsf-persona-store.c"
		}
	}
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 8574 "edsf-persona-store.c"
	} else {
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 8578 "edsf-persona-store.c"
	}
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 8584 "edsf-persona-store.c"
}


static void __lambda3_ (EdsfPersonaStore* self, EVCardAttribute* attr, FolksPostalAddress* address) {
	EVCardAttribute* _tmp0_;
	FolksPostalAddress* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	EVCardAttribute* _tmp4_;
	FolksPostalAddress* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	EVCardAttribute* _tmp8_;
	FolksPostalAddress* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	EVCardAttribute* _tmp12_;
	FolksPostalAddress* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	EVCardAttribute* _tmp16_;
	FolksPostalAddress* _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	EVCardAttribute* _tmp20_;
	FolksPostalAddress* _tmp21_;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	EVCardAttribute* _tmp24_;
	FolksPostalAddress* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
#line 1624 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (attr != NULL);
#line 1624 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (address != NULL);
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = attr;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = address;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = folks_postal_address_get_po_box (_tmp1_);
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = _tmp2_;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp0_, _tmp3_);
#line 1626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = attr;
#line 1626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = address;
#line 1626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = folks_postal_address_get_extension (_tmp5_);
#line 1626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp7_ = _tmp6_;
#line 1626 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp4_, _tmp7_);
#line 1627 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp8_ = attr;
#line 1627 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp9_ = address;
#line 1627 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp10_ = folks_postal_address_get_street (_tmp9_);
#line 1627 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp11_ = _tmp10_;
#line 1627 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp8_, _tmp11_);
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp12_ = attr;
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp13_ = address;
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp14_ = folks_postal_address_get_locality (_tmp13_);
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp15_ = _tmp14_;
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp12_, _tmp15_);
#line 1629 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp16_ = attr;
#line 1629 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp17_ = address;
#line 1629 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp18_ = folks_postal_address_get_region (_tmp17_);
#line 1629 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp19_ = _tmp18_;
#line 1629 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp16_, _tmp19_);
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp20_ = attr;
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp21_ = address;
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp22_ = folks_postal_address_get_postal_code (_tmp21_);
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp23_ = _tmp22_;
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp20_, _tmp23_);
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp24_ = attr;
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp25_ = address;
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp26_ = folks_postal_address_get_country (_tmp25_);
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp27_ = _tmp26_;
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp24_, _tmp27_);
#line 8691 "edsf-persona-store.c"
}


static void ___lambda3__edsf_persona_store_field_to_attribute (EVCardAttribute* attr, gconstpointer value, gpointer self) {
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__lambda3_ (self, attr, value);
#line 8698 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_postal_addresses (EdsfPersonaStore* self, EContact* contact, GeeSet* postal_fds) {
	EContact* _tmp0_;
	GeeSet* _tmp1_;
#line 1619 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1619 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1619 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (postal_fds != NULL);
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = postal_fds;
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_attributes (self, FOLKS_TYPE_POSTAL_ADDRESS, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_, _tmp1_, ___lambda3__edsf_persona_store_field_to_attribute, self, "ADR", E_CONTACT_ADDRESS);
#line 8717 "edsf-persona-store.c"
}


static void __vala_EVCardAttribute_free0_ (gpointer var) {
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	(var == NULL) ? NULL : (var = (_vala_EVCardAttribute_free (var), NULL));
#line 8724 "edsf-persona-store.c"
}


static void _g_list_free___vala_EVCardAttribute_free0_ (GList* self) {
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_list_foreach (self, (GFunc) __vala_EVCardAttribute_free0_, NULL);
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_list_free (self);
#line 8733 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_attributes (EdsfPersonaStore* self, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, EContact* contact, GeeSet* new_attributes, EdsfPersonaStoreFieldToAttribute fill_attribute, void* fill_attribute_target, const gchar* attrib_name, EContactField field_id) {
	GList* attributes;
	EContact* _tmp47_;
	EContactField _tmp48_;
	GList* _tmp49_;
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (new_attributes != NULL);
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (attrib_name != NULL);
#line 1643 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	attributes = NULL;
#line 8752 "edsf-persona-store.c"
	{
		GeeSet* _tmp0_;
		GeeIterator* _tmp1_ = NULL;
		GeeIterator* _e_it;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = new_attributes;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = gee_iterable_iterator ((GeeIterable*) _tmp0_);
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_e_it = _tmp1_;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 8765 "edsf-persona-store.c"
			GeeIterator* _tmp2_;
			gboolean _tmp3_ = FALSE;
			GeeIterator* _tmp4_;
			gpointer _tmp5_ = NULL;
			FolksAbstractFieldDetails* e;
			const gchar* _tmp6_;
			EVCardAttribute* _tmp7_;
			EVCardAttribute* attr;
			EdsfPersonaStoreFieldToAttribute _tmp8_;
			void* _tmp8__target;
			EVCardAttribute* _tmp9_;
			FolksAbstractFieldDetails* _tmp10_;
			gconstpointer _tmp11_;
			gconstpointer _tmp12_;
			EVCardAttribute* _tmp46_;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp2_ = _e_it;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = gee_iterator_next (_tmp2_);
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp3_) {
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 8789 "edsf-persona-store.c"
			}
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = _e_it;
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = gee_iterator_get (_tmp4_);
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e = (FolksAbstractFieldDetails*) _tmp5_;
#line 1647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = attrib_name;
#line 1647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = e_vcard_attribute_new (NULL, _tmp6_);
#line 1647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = _tmp7_;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = fill_attribute;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8__target = fill_attribute_target;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = attr;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp10_ = e;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = folks_abstract_field_details_get_value (_tmp10_);
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = _tmp11_;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ (_tmp9_, _tmp12_, _tmp8__target);
#line 8817 "edsf-persona-store.c"
			{
				FolksAbstractFieldDetails* _tmp13_;
				GeeMultiMap* _tmp14_;
				GeeMultiMap* _tmp15_;
				GeeSet* _tmp16_ = NULL;
				GeeSet* _tmp17_;
				GeeIterator* _tmp18_ = NULL;
				GeeIterator* _tmp19_;
				GeeIterator* _param_name_it;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp13_ = e;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp14_ = folks_abstract_field_details_get_parameters (_tmp13_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp15_ = _tmp14_;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp16_ = gee_multi_map_get_keys (_tmp15_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp17_ = _tmp16_;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp18_ = gee_iterable_iterator ((GeeIterable*) _tmp17_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp19_ = _tmp18_;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_tmp17_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_param_name_it = _tmp19_;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				while (TRUE) {
#line 8847 "edsf-persona-store.c"
					GeeIterator* _tmp20_;
					gboolean _tmp21_ = FALSE;
					GeeIterator* _tmp22_;
					gpointer _tmp23_ = NULL;
					gchar* param_name;
					const gchar* _tmp24_;
					gchar* _tmp25_ = NULL;
					gchar* _tmp26_;
					EVCardAttributeParam* _tmp27_;
					EVCardAttributeParam* _tmp28_;
					EVCardAttributeParam* param;
					EVCardAttribute* _tmp43_;
					EVCardAttributeParam* _tmp44_;
					EVCardAttributeParam* _tmp45_;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp20_ = _param_name_it;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp21_ = gee_iterator_next (_tmp20_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (!_tmp21_) {
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 8870 "edsf-persona-store.c"
					}
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp22_ = _param_name_it;
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp23_ = gee_iterator_get (_tmp22_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					param_name = (gchar*) _tmp23_;
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp24_ = param_name;
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp25_ = g_utf8_strup (_tmp24_, (gssize) (-1));
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp26_ = _tmp25_;
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp27_ = e_vcard_attribute_param_new (_tmp26_);
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp28_ = _tmp27_;
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (_tmp26_);
#line 1651 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					param = _tmp28_;
#line 8892 "edsf-persona-store.c"
					{
						FolksAbstractFieldDetails* _tmp29_;
						GeeMultiMap* _tmp30_;
						GeeMultiMap* _tmp31_;
						const gchar* _tmp32_;
						GeeCollection* _tmp33_ = NULL;
						GeeCollection* _tmp34_;
						GeeIterator* _tmp35_ = NULL;
						GeeIterator* _tmp36_;
						GeeIterator* _param_val_it;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp29_ = e;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp30_ = folks_abstract_field_details_get_parameters (_tmp29_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp31_ = _tmp30_;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp32_ = param_name;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp33_ = gee_multi_map_get (_tmp31_, _tmp32_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp34_ = _tmp33_;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp35_ = gee_iterable_iterator ((GeeIterable*) _tmp34_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp36_ = _tmp35_;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_tmp34_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_param_val_it = _tmp36_;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						while (TRUE) {
#line 8925 "edsf-persona-store.c"
							GeeIterator* _tmp37_;
							gboolean _tmp38_ = FALSE;
							GeeIterator* _tmp39_;
							gpointer _tmp40_ = NULL;
							gchar* param_val;
							EVCardAttributeParam* _tmp41_;
							const gchar* _tmp42_;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp37_ = _param_val_it;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp38_ = gee_iterator_next (_tmp37_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							if (!_tmp38_) {
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								break;
#line 8941 "edsf-persona-store.c"
							}
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp39_ = _param_val_it;
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp40_ = gee_iterator_get (_tmp39_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							param_val = (gchar*) _tmp40_;
#line 1654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp41_ = param;
#line 1654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp42_ = param_val;
#line 1654 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							e_vcard_attribute_param_add_value (_tmp41_, _tmp42_);
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_free0 (param_val);
#line 8957 "edsf-persona-store.c"
						}
#line 1652 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_object_unref0 (_param_val_it);
#line 8961 "edsf-persona-store.c"
					}
#line 1656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp43_ = attr;
#line 1656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp44_ = param;
#line 1656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp45_ = __vala_EVCardAttributeParam_copy0 (_tmp44_);
#line 1656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					e_vcard_attribute_add_param (_tmp43_, _tmp45_);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					__vala_EVCardAttributeParam_free0 (param);
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (param_name);
#line 8975 "edsf-persona-store.c"
				}
#line 1649 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_param_name_it);
#line 8979 "edsf-persona-store.c"
			}
#line 1658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp46_ = attr;
#line 1658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = NULL;
#line 1658 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attributes = g_list_prepend (attributes, _tmp46_);
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__vala_EVCardAttribute_free0 (attr);
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (e);
#line 8991 "edsf-persona-store.c"
		}
#line 1645 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_e_it);
#line 8995 "edsf-persona-store.c"
	}
#line 1661 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp47_ = contact;
#line 1661 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp48_ = field_id;
#line 1661 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp49_ = attributes;
#line 1661 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set_attributes (_tmp47_, _tmp48_, _tmp49_);
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__g_list_free___vala_EVCardAttribute_free0_0 (attributes);
#line 9007 "edsf-persona-store.c"
}


static void __lambda2_ (EdsfPersonaStore* self, EVCardAttribute* attr, const gchar* value) {
	EVCardAttribute* _tmp0_;
	const gchar* _tmp1_;
#line 1669 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (attr != NULL);
#line 1669 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (value != NULL);
#line 1669 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = attr;
#line 1669 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = value;
#line 1669 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_attribute_add_value (_tmp0_, _tmp1_);
#line 9024 "edsf-persona-store.c"
}


static void ___lambda2__edsf_persona_store_field_to_attribute (EVCardAttribute* attr, gconstpointer value, gpointer self) {
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__lambda2_ (self, attr, value);
#line 9031 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_attributes_string (EdsfPersonaStore* self, EContact* contact, GeeSet* new_attributes, const gchar* attrib_name, EContactField field_id) {
	EContact* _tmp0_;
	GeeSet* _tmp1_;
	const gchar* _tmp2_;
	EContactField _tmp3_;
#line 1664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (new_attributes != NULL);
#line 1664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (attrib_name != NULL);
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = new_attributes;
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = attrib_name;
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = field_id;
#line 1668 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_attributes (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp0_, _tmp1_, ___lambda2__edsf_persona_store_field_to_attribute, self, _tmp2_, _tmp3_);
#line 9058 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_full_name_data_free (gpointer _data) {
	EdsfPersonaStoreSetFullNameData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->full_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetFullNameData, _data_);
#line 9073 "edsf-persona-store.c"
}


void _edsf_persona_store_set_full_name (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* full_name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetFullNameData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetFullNameData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_full_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_full_name_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = full_name;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->full_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->full_name = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_full_name_co (_data_);
#line 9112 "edsf-persona-store.c"
}


void _edsf_persona_store_set_full_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetFullNameData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 9122 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 9126 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_full_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetFullNameData* _data_;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_full_name_co (_data_);
#line 9140 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_full_name_co (EdsfPersonaStoreSetFullNameData* _data_) {
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 9149 "edsf-persona-store.c"
		goto _state_0;
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 9153 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 9158 "edsf-persona-store.c"
	}
	_state_0:
#line 1676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "full-name")) {
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Full name is not writeable on this contact.");
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9185 "edsf-persona-store.c"
			} else {
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9189 "edsf-persona-store.c"
			}
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9195 "edsf-persona-store.c"
		} else {
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9203 "edsf-persona-store.c"
		}
	}
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->full_name;
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = g_strdup (_data_->_tmp3_);
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_full_name = _data_->_tmp4_;
#line 1683 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->full_name;
#line 1683 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_strcmp0 (_data_->_tmp5_, "") == 0) {
#line 1685 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->_full_name);
#line 1685 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_full_name = NULL;
#line 9220 "edsf-persona-store.c"
	}
#line 1688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->persona;
#line 1688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_name_details_get_full_name ((FolksNameDetails*) _data_->_tmp6_);
#line 1688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->_tmp7_;
#line 1688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_full_name;
#line 1688 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_strcmp0 (_data_->_tmp8_, _data_->_tmp9_) == 0) {
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->_full_name);
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9238 "edsf-persona-store.c"
		} else {
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 9242 "edsf-persona-store.c"
		}
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 9248 "edsf-persona-store.c"
	}
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->persona;
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = edsf_persona_get_contact (_data_->_tmp10_);
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->_tmp11_;
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp13_ = 0;
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp13_ = e_contact_field_id ("full_name");
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp14_ = _data_->_full_name;
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_data_->_tmp12_, _data_->_tmp13_, _data_->_tmp14_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp15_ = _data_->persona;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp15_, "full-name", _edsf_persona_store_set_full_name_ready, _data_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9272 "edsf-persona-store.c"
	_state_1:
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->_full_name);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9290 "edsf-persona-store.c"
			} else {
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9294 "edsf-persona-store.c"
			}
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9300 "edsf-persona-store.c"
		} else {
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->_full_name);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9310 "edsf-persona-store.c"
		}
	}
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->_full_name);
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9319 "edsf-persona-store.c"
	} else {
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 9323 "edsf-persona-store.c"
	}
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9329 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_nickname_data_free (gpointer _data) {
	EdsfPersonaStoreSetNicknameData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->nickname);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetNicknameData, _data_);
#line 9344 "edsf-persona-store.c"
}


void _edsf_persona_store_set_nickname (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* nickname, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetNicknameData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetNicknameData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_nickname);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_nickname_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = nickname;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->nickname);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->nickname = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_nickname_co (_data_);
#line 9383 "edsf-persona-store.c"
}


void _edsf_persona_store_set_nickname_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetNicknameData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 9393 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 9397 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_nickname_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetNicknameData* _data_;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_nickname_co (_data_);
#line 9411 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_nickname_co (EdsfPersonaStoreSetNicknameData* _data_) {
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 9420 "edsf-persona-store.c"
		goto _state_0;
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 9424 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 9429 "edsf-persona-store.c"
	}
	_state_0:
#line 1698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1698 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "nickname")) {
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Nickname is not writeable on this contact.");
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9456 "edsf-persona-store.c"
			} else {
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9460 "edsf-persona-store.c"
			}
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9466 "edsf-persona-store.c"
		} else {
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1700 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9474 "edsf-persona-store.c"
		}
	}
#line 1704 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->nickname;
#line 1704 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = g_strdup (_data_->_tmp3_);
#line 1704 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_nickname = _data_->_tmp4_;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->nickname;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_strcmp0 (_data_->_tmp5_, "") == 0) {
#line 1707 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->_nickname);
#line 1707 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_nickname = NULL;
#line 9491 "edsf-persona-store.c"
	}
#line 1710 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->persona;
#line 1710 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_name_details_get_nickname ((FolksNameDetails*) _data_->_tmp6_);
#line 1710 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->_tmp7_;
#line 1710 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_nickname;
#line 1710 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_strcmp0 (_data_->_tmp8_, _data_->_tmp9_) == 0) {
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_data_->_nickname);
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9509 "edsf-persona-store.c"
		} else {
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 9513 "edsf-persona-store.c"
		}
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1711 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 9519 "edsf-persona-store.c"
	}
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->persona;
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = edsf_persona_get_contact (_data_->_tmp10_);
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->_tmp11_;
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp13_ = 0;
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp13_ = e_contact_field_id ("nickname");
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp14_ = _data_->_nickname;
#line 1713 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_data_->_tmp12_, _data_->_tmp13_, _data_->_tmp14_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp15_ = _data_->persona;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp15_, "nickname", _edsf_persona_store_set_nickname_ready, _data_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9543 "edsf-persona-store.c"
	_state_1:
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->_nickname);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9561 "edsf-persona-store.c"
			} else {
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9565 "edsf-persona-store.c"
			}
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9571 "edsf-persona-store.c"
		} else {
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_data_->_nickname);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1714 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9581 "edsf-persona-store.c"
		}
	}
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_data_->_nickname);
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9590 "edsf-persona-store.c"
	} else {
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 9594 "edsf-persona-store.c"
	}
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1695 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9600 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_notes_data_free (gpointer _data) {
	EdsfPersonaStoreSetNotesData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->notes);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetNotesData, _data_);
#line 9615 "edsf-persona-store.c"
}


void _edsf_persona_store_set_notes (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* notes, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetNotesData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetNotesData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_notes);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_notes_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = notes;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->notes);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->notes = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_notes_co (_data_);
#line 9654 "edsf-persona-store.c"
}


void _edsf_persona_store_set_notes_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetNotesData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 9664 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 9668 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_notes_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetNotesData* _data_;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_notes_co (_data_);
#line 9682 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_notes_co (EdsfPersonaStoreSetNotesData* _data_) {
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 9691 "edsf-persona-store.c"
		goto _state_0;
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 9695 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 9700 "edsf-persona-store.c"
	}
	_state_0:
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "notes")) {
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Notes are not writeable on this contact.");
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9727 "edsf-persona-store.c"
			} else {
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9731 "edsf-persona-store.c"
			}
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9737 "edsf-persona-store.c"
		} else {
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1722 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9745 "edsf-persona-store.c"
		}
	}
#line 1726 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1726 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1726 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1726 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->notes;
#line 1726 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_notes (_data_->self, _data_->_tmp5_, _data_->_tmp6_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "notes", _edsf_persona_store_set_notes_ready, _data_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9766 "edsf-persona-store.c"
	_state_1:
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9782 "edsf-persona-store.c"
			} else {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 9786 "edsf-persona-store.c"
			}
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9792 "edsf-persona-store.c"
		} else {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 9800 "edsf-persona-store.c"
		}
	}
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 9807 "edsf-persona-store.c"
	} else {
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 9811 "edsf-persona-store.c"
	}
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1717 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 9817 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_notes (EdsfPersonaStore* self, EContact* contact, GeeSet* notes) {
	gchar* _tmp0_;
	gchar* note_str;
	EContact* _tmp15_;
	EContactField _tmp16_ = 0;
	const gchar* _tmp17_;
#line 1730 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1730 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1730 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (notes != NULL);
#line 1733 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = g_strdup ("");
#line 1733 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	note_str = _tmp0_;
#line 9837 "edsf-persona-store.c"
	{
		GeeSet* _tmp1_;
		GeeIterator* _tmp2_ = NULL;
		GeeIterator* _note_it;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = notes;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = gee_iterable_iterator ((GeeIterable*) _tmp1_);
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_note_it = _tmp2_;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 9850 "edsf-persona-store.c"
			GeeIterator* _tmp3_;
			gboolean _tmp4_ = FALSE;
			GeeIterator* _tmp5_;
			gpointer _tmp6_ = NULL;
			FolksNoteFieldDetails* note;
			const gchar* _tmp7_;
			const gchar* _tmp10_;
			FolksNoteFieldDetails* _tmp11_;
			gconstpointer _tmp12_;
			const gchar* _tmp13_;
			gchar* _tmp14_;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = _note_it;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = gee_iterator_next (_tmp3_);
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp4_) {
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 9870 "edsf-persona-store.c"
			}
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = _note_it;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = gee_iterator_get (_tmp5_);
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			note = (FolksNoteFieldDetails*) _tmp6_;
#line 1736 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = note_str;
#line 1736 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (g_strcmp0 (_tmp7_, "") != 0) {
#line 9882 "edsf-persona-store.c"
				const gchar* _tmp8_;
				gchar* _tmp9_;
#line 1738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp8_ = note_str;
#line 1738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp9_ = g_strconcat (_tmp8_, ". ", NULL);
#line 1738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (note_str);
#line 1738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				note_str = _tmp9_;
#line 9893 "edsf-persona-store.c"
			}
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp10_ = note_str;
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = note;
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp11_);
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp13_ = _tmp12_;
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp14_ = g_strconcat (_tmp10_, (const gchar*) _tmp13_, NULL);
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (note_str);
#line 1740 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			note_str = _tmp14_;
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (note);
#line 9911 "edsf-persona-store.c"
		}
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_note_it);
#line 9915 "edsf-persona-store.c"
	}
#line 1743 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp15_ = contact;
#line 1743 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp16_ = e_contact_field_id ("note");
#line 1743 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp17_ = note_str;
#line 1743 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp15_, _tmp16_, _tmp17_);
#line 1730 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (note_str);
#line 9927 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_birthday_data_free (gpointer _data) {
	EdsfPersonaStoreSetBirthdayData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_date_time_unref0 (_data_->bday);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetBirthdayData, _data_);
#line 9942 "edsf-persona-store.c"
}


void _edsf_persona_store_set_birthday (EdsfPersonaStore* self, EdsfPersona* persona, GDateTime* bday, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetBirthdayData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GDateTime* _tmp3_;
	GDateTime* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetBirthdayData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_birthday);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_birthday_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = bday;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_date_time_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_date_time_unref0 (_data_->bday);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->bday = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_birthday_co (_data_);
#line 9981 "edsf-persona-store.c"
}


void _edsf_persona_store_set_birthday_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetBirthdayData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 9991 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 9995 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_birthday_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetBirthdayData* _data_;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_birthday_co (_data_);
#line 10009 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_birthday_co (EdsfPersonaStoreSetBirthdayData* _data_) {
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 10018 "edsf-persona-store.c"
		goto _state_0;
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 10022 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 10027 "edsf-persona-store.c"
	}
	_state_0:
#line 1749 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1749 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1749 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "birthday")) {
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Birthday is not writeable on this contact.");
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10054 "edsf-persona-store.c"
			} else {
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 10058 "edsf-persona-store.c"
			}
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10064 "edsf-persona-store.c"
		} else {
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1751 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10072 "edsf-persona-store.c"
		}
	}
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->persona;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = folks_birthday_details_get_birthday ((FolksBirthdayDetails*) _data_->_tmp5_);
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->_tmp6_;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_ != NULL) {
#line 1756 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = _data_->bday;
#line 1756 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = _data_->_tmp8_ != NULL;
#line 10087 "edsf-persona-store.c"
	} else {
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = FALSE;
#line 10091 "edsf-persona-store.c"
	}
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_tmp4_;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp9_) {
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = _data_->persona;
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = folks_birthday_details_get_birthday ((FolksBirthdayDetails*) _data_->_tmp10_);
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = _data_->_tmp11_;
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp13_ = _data_->bday;
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp14_ = FALSE;
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp14_ = g_date_time_equal ((GDateTime*) _data_->_tmp12_, (GDateTime*) _data_->_tmp13_);
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = _data_->_tmp14_;
#line 10111 "edsf-persona-store.c"
	} else {
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = FALSE;
#line 10115 "edsf-persona-store.c"
	}
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp15_ = _data_->_tmp3_;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp15_) {
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10125 "edsf-persona-store.c"
		} else {
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 10129 "edsf-persona-store.c"
		}
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 10135 "edsf-persona-store.c"
	}
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp17_ = _data_->persona;
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp18_ = folks_birthday_details_get_birthday ((FolksBirthdayDetails*) _data_->_tmp17_);
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp19_ = _data_->_tmp18_;
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp19_ == NULL) {
#line 1762 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp20_ = _data_->bday;
#line 1762 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp16_ = _data_->_tmp20_ == NULL;
#line 10149 "edsf-persona-store.c"
	} else {
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp16_ = FALSE;
#line 10153 "edsf-persona-store.c"
	}
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp21_ = _data_->_tmp16_;
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp21_) {
#line 1763 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1763 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10163 "edsf-persona-store.c"
		} else {
#line 1763 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 10167 "edsf-persona-store.c"
		}
#line 1763 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1763 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 10173 "edsf-persona-store.c"
	}
#line 1765 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp22_ = _data_->persona;
#line 1765 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp23_ = edsf_persona_get_contact (_data_->_tmp22_);
#line 1765 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp24_ = _data_->_tmp23_;
#line 1765 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp25_ = _data_->bday;
#line 1765 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_birthday (_data_->self, _data_->_tmp24_, _data_->_tmp25_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp26_ = _data_->persona;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp26_, "birthday", _edsf_persona_store_set_birthday_ready, _data_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 10193 "edsf-persona-store.c"
	_state_1:
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10209 "edsf-persona-store.c"
			} else {
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 10213 "edsf-persona-store.c"
			}
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10219 "edsf-persona-store.c"
		} else {
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10227 "edsf-persona-store.c"
		}
	}
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10234 "edsf-persona-store.c"
	} else {
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 10238 "edsf-persona-store.c"
	}
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1746 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 10244 "edsf-persona-store.c"
}


static void _vala_EContactDate_free (EContactDate* self) {
#line 1778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_boxed_free (e_contact_date_get_type (), self);
#line 10251 "edsf-persona-store.c"
}


static EContactDate* _vala_EContactDate_copy (EContactDate* self) {
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return g_boxed_copy (e_contact_date_get_type (), self);
#line 10258 "edsf-persona-store.c"
}


static gpointer __vala_EContactDate_copy0 (gpointer self) {
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return self ? _vala_EContactDate_copy (self) : NULL;
#line 10265 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_birthday (EdsfPersonaStore* self, EContact* contact, GDateTime* _bday) {
	EContactDate* _contact_bday;
	GDateTime* _tmp0_;
	EContact* _tmp15_;
	EContactField _tmp16_ = 0;
	EContactDate* _tmp17_;
#line 1769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1771 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_contact_bday = NULL;
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _bday;
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ != NULL) {
#line 10285 "edsf-persona-store.c"
		GDateTime* _tmp1_;
		GDateTime* _tmp2_;
		GDateTime* bday;
		EContactDate* contact_bday = NULL;
		EContactDate* _tmp3_;
		EContactDate* _tmp4_;
		GDateTime* _tmp5_;
		gint _tmp6_ = 0;
		EContactDate* _tmp7_;
		GDateTime* _tmp8_;
		gint _tmp9_ = 0;
		EContactDate* _tmp10_;
		GDateTime* _tmp11_;
		gint _tmp12_ = 0;
		EContactDate* _tmp13_;
		EContactDate* _tmp14_;
#line 1775 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = _bday;
#line 1775 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = _g_date_time_ref0 ((GDateTime*) _tmp1_);
#line 1775 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		bday = _tmp2_;
#line 1778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = e_contact_date_new ();
#line 1778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		__vala_EContactDate_free0 (contact_bday);
#line 1778 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		contact_bday = _tmp3_;
#line 1779 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = contact_bday;
#line 1779 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = bday;
#line 1779 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = g_date_time_get_year (_tmp5_);
#line 1779 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_->year = (guint) _tmp6_;
#line 1780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = contact_bday;
#line 1780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp8_ = bday;
#line 1780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp9_ = g_date_time_get_month (_tmp8_);
#line 1780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_->month = (guint) _tmp9_;
#line 1781 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = contact_bday;
#line 1781 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp11_ = bday;
#line 1781 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp12_ = g_date_time_get_day_of_month (_tmp11_);
#line 1781 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_->day = (guint) _tmp12_;
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp13_ = contact_bday;
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp14_ = __vala_EContactDate_copy0 (_tmp13_);
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		__vala_EContactDate_free0 (_contact_bday);
#line 1783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_contact_bday = _tmp14_;
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		__vala_EContactDate_free0 (contact_bday);
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_date_time_unref0 (bday);
#line 10350 "edsf-persona-store.c"
	}
#line 1786 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp15_ = contact;
#line 1786 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp16_ = e_contact_field_id ("birth_date");
#line 1786 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp17_ = _contact_bday;
#line 1786 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp15_, _tmp16_, _tmp17_);
#line 1769 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__vala_EContactDate_free0 (_contact_bday);
#line 10362 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_roles_data_free (gpointer _data) {
	EdsfPersonaStoreSetRolesData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->roles);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetRolesData, _data_);
#line 10377 "edsf-persona-store.c"
}


void _edsf_persona_store_set_roles (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* roles, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetRolesData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetRolesData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_roles);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_roles_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = roles;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->roles);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->roles = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_roles_co (_data_);
#line 10416 "edsf-persona-store.c"
}


void _edsf_persona_store_set_roles_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetRolesData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 10426 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 10430 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_roles_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetRolesData* _data_;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_roles_co (_data_);
#line 10444 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_roles_co (EdsfPersonaStoreSetRolesData* _data_) {
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 10453 "edsf-persona-store.c"
		goto _state_0;
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 10457 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 10462 "edsf-persona-store.c"
	}
	_state_0:
#line 1792 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1792 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1792 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "roles")) {
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Roles are not writeable on this contact.");
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10489 "edsf-persona-store.c"
			} else {
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 10493 "edsf-persona-store.c"
			}
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10499 "edsf-persona-store.c"
		} else {
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10507 "edsf-persona-store.c"
		}
	}
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->roles;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = _data_->persona;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = folks_role_details_get_roles ((FolksRoleDetails*) _data_->_tmp4_);
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->_tmp5_;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = FALSE;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_internal_equal_sets (FOLKS_TYPE_ROLE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, _data_->_tmp3_, _data_->_tmp6_);
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_) {
#line 1799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10528 "edsf-persona-store.c"
		} else {
#line 1799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 10532 "edsf-persona-store.c"
		}
#line 1799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 10538 "edsf-persona-store.c"
	}
#line 1801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->persona;
#line 1801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = edsf_persona_get_contact (_data_->_tmp8_);
#line 1801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 1801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = _data_->roles;
#line 1801 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_roles (_data_->self, _data_->_tmp10_, _data_->_tmp11_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->persona;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp12_, "roles", _edsf_persona_store_set_roles_ready, _data_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 10558 "edsf-persona-store.c"
	_state_1:
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10574 "edsf-persona-store.c"
			} else {
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 10578 "edsf-persona-store.c"
			}
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10584 "edsf-persona-store.c"
		} else {
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1802 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 10592 "edsf-persona-store.c"
		}
	}
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 10599 "edsf-persona-store.c"
	} else {
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 10603 "edsf-persona-store.c"
	}
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1789 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 10609 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_roles (EdsfPersonaStore* self, EContact* contact, GeeSet* roles) {
	EContact* _tmp0_;
	EVCard* _tmp1_;
	EVCard* vcard;
	EVCard* _tmp2_;
	gchar* org;
	gchar* org_unit;
	gchar* office;
	gchar* title;
	gchar* role;
	gchar* manager;
	gchar* assistant;
	gint count;
	EContact* _tmp147_;
	EContactField _tmp148_ = 0;
	const gchar* _tmp149_;
	EContact* _tmp150_;
	EContactField _tmp151_ = 0;
	const gchar* _tmp152_;
	EContact* _tmp153_;
	EContactField _tmp154_ = 0;
	const gchar* _tmp155_;
	EContact* _tmp156_;
	EContactField _tmp157_ = 0;
	const gchar* _tmp158_;
	EContact* _tmp159_;
	EContactField _tmp160_ = 0;
	const gchar* _tmp161_;
	EContact* _tmp162_;
	EContactField _tmp163_ = 0;
	const gchar* _tmp164_;
	EContact* _tmp165_;
	EContactField _tmp166_ = 0;
	const gchar* _tmp167_;
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (roles != NULL);
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, e_vcard_get_type (), EVCard));
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	vcard = _tmp1_;
#line 1809 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = vcard;
#line 1809 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_remove_attributes (_tmp2_, NULL, "X-ROLES");
#line 1811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	org = NULL;
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	org_unit = NULL;
#line 1813 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	office = NULL;
#line 1814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	title = NULL;
#line 1815 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	role = NULL;
#line 1816 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	manager = NULL;
#line 1817 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	assistant = NULL;
#line 1822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	count = 0;
#line 10679 "edsf-persona-store.c"
	{
		GeeSet* _tmp3_;
		GeeIterator* _tmp4_ = NULL;
		GeeIterator* _role_fd_it;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = roles;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_role_fd_it = _tmp4_;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 10692 "edsf-persona-store.c"
			GeeIterator* _tmp5_;
			gboolean _tmp6_ = FALSE;
			GeeIterator* _tmp7_;
			gpointer _tmp8_ = NULL;
			FolksRoleFieldDetails* role_fd;
			gint _tmp9_;
			gint _tmp146_;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = _role_fd_it;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = gee_iterator_next (_tmp5_);
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp6_) {
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 10708 "edsf-persona-store.c"
			}
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = _role_fd_it;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = gee_iterator_get (_tmp7_);
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			role_fd = (FolksRoleFieldDetails*) _tmp8_;
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = count;
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_tmp9_ == 0) {
#line 10720 "edsf-persona-store.c"
				FolksRoleFieldDetails* _tmp10_;
				gconstpointer _tmp11_;
				FolksRole* _tmp12_;
				const gchar* _tmp13_;
				const gchar* _tmp14_;
				gchar* _tmp15_;
				FolksRoleFieldDetails* _tmp16_;
				gconstpointer _tmp17_;
				FolksRole* _tmp18_;
				const gchar* _tmp19_;
				const gchar* _tmp20_;
				gchar* _tmp21_;
				FolksRoleFieldDetails* _tmp22_;
				gconstpointer _tmp23_;
				FolksRole* _tmp24_;
				const gchar* _tmp25_;
				const gchar* _tmp26_;
				gchar* _tmp27_;
				FolksRoleFieldDetails* _tmp28_;
				GeeCollection* _tmp29_ = NULL;
				GeeCollection* org_unit_values;
				gboolean _tmp30_ = FALSE;
				GeeCollection* _tmp31_;
				gboolean _tmp35_;
				FolksRoleFieldDetails* _tmp42_;
				GeeCollection* _tmp43_ = NULL;
				GeeCollection* office_values;
				gboolean _tmp44_ = FALSE;
				GeeCollection* _tmp45_;
				gboolean _tmp49_;
				FolksRoleFieldDetails* _tmp56_;
				GeeCollection* _tmp57_ = NULL;
				GeeCollection* manager_values;
				gboolean _tmp58_ = FALSE;
				GeeCollection* _tmp59_;
				gboolean _tmp63_;
				FolksRoleFieldDetails* _tmp70_;
				GeeCollection* _tmp71_ = NULL;
				GeeCollection* assistant_values;
				gboolean _tmp72_ = FALSE;
				GeeCollection* _tmp73_;
				gboolean _tmp77_;
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp10_ = role_fd;
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp11_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp10_);
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp12_ = _tmp11_;
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp13_ = folks_role_get_organisation_name ((FolksRole*) _tmp12_);
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp14_ = _tmp13_;
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp15_ = g_strdup (_tmp14_);
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (org);
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				org = _tmp15_;
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp16_ = role_fd;
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp17_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp16_);
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp18_ = _tmp17_;
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp19_ = folks_role_get_title ((FolksRole*) _tmp18_);
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp20_ = _tmp19_;
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp21_ = g_strdup (_tmp20_);
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (title);
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				title = _tmp21_;
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp22_ = role_fd;
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp23_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp22_);
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp24_ = _tmp23_;
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp25_ = folks_role_get_role ((FolksRole*) _tmp24_);
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp26_ = _tmp25_;
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp27_ = g_strdup (_tmp26_);
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (role);
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				role = _tmp27_;
#line 1832 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp28_ = role_fd;
#line 1832 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp29_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp28_, "org_unit");
#line 1832 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				org_unit_values = _tmp29_;
#line 1833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp31_ = org_unit_values;
#line 1833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp31_ != NULL) {
#line 10821 "edsf-persona-store.c"
					GeeCollection* _tmp32_;
					gint _tmp33_;
					gint _tmp34_;
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp32_ = org_unit_values;
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp33_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp34_ = _tmp33_;
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp30_ = _tmp34_ > 0;
#line 10833 "edsf-persona-store.c"
				} else {
#line 1833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp30_ = FALSE;
#line 10837 "edsf-persona-store.c"
				}
#line 1833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp35_ = _tmp30_;
#line 1833 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp35_) {
#line 10843 "edsf-persona-store.c"
					GeeCollection* _tmp36_;
					gint _tmp37_ = 0;
					gpointer* _tmp38_ = NULL;
					gchar** _tmp39_;
					gint _tmp39__length1;
					const gchar* _tmp40_;
					gchar* _tmp41_;
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp36_ = org_unit_values;
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp38_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp37_);
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp39_ = _tmp38_;
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp39__length1 = _tmp37_;
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp40_ = _tmp39_[0];
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp41_ = g_strdup (_tmp40_);
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (org_unit);
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					org_unit = _tmp41_;
#line 1835 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp39_ = (_vala_array_free (_tmp39_, _tmp39__length1, (GDestroyNotify) g_free), NULL);
#line 10869 "edsf-persona-store.c"
				}
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp42_ = role_fd;
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp43_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp42_, "office");
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				office_values = _tmp43_;
#line 1838 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp45_ = office_values;
#line 1838 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp45_ != NULL) {
#line 10881 "edsf-persona-store.c"
					GeeCollection* _tmp46_;
					gint _tmp47_;
					gint _tmp48_;
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp46_ = office_values;
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp47_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp48_ = _tmp47_;
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp44_ = _tmp48_ > 0;
#line 10893 "edsf-persona-store.c"
				} else {
#line 1838 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp44_ = FALSE;
#line 10897 "edsf-persona-store.c"
				}
#line 1838 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp49_ = _tmp44_;
#line 1838 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp49_) {
#line 10903 "edsf-persona-store.c"
					GeeCollection* _tmp50_;
					gint _tmp51_ = 0;
					gpointer* _tmp52_ = NULL;
					gchar** _tmp53_;
					gint _tmp53__length1;
					const gchar* _tmp54_;
					gchar* _tmp55_;
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp50_ = office_values;
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp52_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp51_);
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp53_ = _tmp52_;
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp53__length1 = _tmp51_;
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp54_ = _tmp53_[0];
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp55_ = g_strdup (_tmp54_);
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (office);
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					office = _tmp55_;
#line 1840 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp53_ = (_vala_array_free (_tmp53_, _tmp53__length1, (GDestroyNotify) g_free), NULL);
#line 10929 "edsf-persona-store.c"
				}
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp56_ = role_fd;
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp57_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp56_, "manager");
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				manager_values = _tmp57_;
#line 1843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp59_ = manager_values;
#line 1843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp59_ != NULL) {
#line 10941 "edsf-persona-store.c"
					GeeCollection* _tmp60_;
					gint _tmp61_;
					gint _tmp62_;
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp60_ = manager_values;
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp61_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp62_ = _tmp61_;
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp58_ = _tmp62_ > 0;
#line 10953 "edsf-persona-store.c"
				} else {
#line 1843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp58_ = FALSE;
#line 10957 "edsf-persona-store.c"
				}
#line 1843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp63_ = _tmp58_;
#line 1843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp63_) {
#line 10963 "edsf-persona-store.c"
					GeeCollection* _tmp64_;
					gint _tmp65_ = 0;
					gpointer* _tmp66_ = NULL;
					gchar** _tmp67_;
					gint _tmp67__length1;
					const gchar* _tmp68_;
					gchar* _tmp69_;
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp64_ = manager_values;
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp66_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp65_);
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp67_ = _tmp66_;
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp67__length1 = _tmp65_;
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp68_ = _tmp67_[0];
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp69_ = g_strdup (_tmp68_);
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (manager);
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					manager = _tmp69_;
#line 1845 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp67_ = (_vala_array_free (_tmp67_, _tmp67__length1, (GDestroyNotify) g_free), NULL);
#line 10989 "edsf-persona-store.c"
				}
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp70_ = role_fd;
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp71_ = folks_abstract_field_details_get_parameter_values ((FolksAbstractFieldDetails*) _tmp70_, "assistant");
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				assistant_values = _tmp71_;
#line 1848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp73_ = assistant_values;
#line 1848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp73_ != NULL) {
#line 11001 "edsf-persona-store.c"
					GeeCollection* _tmp74_;
					gint _tmp75_;
					gint _tmp76_;
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp74_ = assistant_values;
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp75_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp76_ = _tmp75_;
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp72_ = _tmp76_ > 0;
#line 11013 "edsf-persona-store.c"
				} else {
#line 1848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp72_ = FALSE;
#line 11017 "edsf-persona-store.c"
				}
#line 1848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp77_ = _tmp72_;
#line 1848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp77_) {
#line 11023 "edsf-persona-store.c"
					GeeCollection* _tmp78_;
					gint _tmp79_ = 0;
					gpointer* _tmp80_ = NULL;
					gchar** _tmp81_;
					gint _tmp81__length1;
					const gchar* _tmp82_;
					gchar* _tmp83_;
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp78_ = assistant_values;
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp80_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp79_);
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp81_ = _tmp80_;
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp81__length1 = _tmp79_;
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp82_ = _tmp81_[0];
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp83_ = g_strdup (_tmp82_);
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (assistant);
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					assistant = _tmp83_;
#line 1850 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp81_ = (_vala_array_free (_tmp81_, _tmp81__length1, (GDestroyNotify) g_free), NULL);
#line 11049 "edsf-persona-store.c"
				}
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (assistant_values);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (manager_values);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (office_values);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (org_unit_values);
#line 11059 "edsf-persona-store.c"
			} else {
				EVCardAttribute* _tmp84_;
				EVCardAttribute* attr;
				EVCardAttribute* _tmp85_;
				FolksRoleFieldDetails* _tmp86_;
				gconstpointer _tmp87_;
				FolksRole* _tmp88_;
				const gchar* _tmp89_;
				const gchar* _tmp90_;
				EVCardAttributeParam* _tmp91_;
				EVCardAttributeParam* param1;
				EVCardAttributeParam* _tmp92_;
				FolksRoleFieldDetails* _tmp93_;
				gconstpointer _tmp94_;
				FolksRole* _tmp95_;
				const gchar* _tmp96_;
				const gchar* _tmp97_;
				EVCardAttribute* _tmp98_;
				EVCardAttributeParam* _tmp99_;
				EVCardAttributeParam* _tmp100_;
				EVCardAttributeParam* _tmp101_;
				EVCardAttributeParam* param2;
				EVCardAttributeParam* _tmp102_;
				FolksRoleFieldDetails* _tmp103_;
				gconstpointer _tmp104_;
				FolksRole* _tmp105_;
				const gchar* _tmp106_;
				const gchar* _tmp107_;
				EVCardAttribute* _tmp108_;
				EVCardAttributeParam* _tmp109_;
				EVCardAttributeParam* _tmp110_;
				EContact* _tmp144_;
				EVCardAttribute* _tmp145_;
#line 1854 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp84_ = e_vcard_attribute_new (NULL, "X-ROLES");
#line 1854 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				attr = _tmp84_;
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp85_ = attr;
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp86_ = role_fd;
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp87_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp86_);
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp88_ = _tmp87_;
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp89_ = folks_role_get_role ((FolksRole*) _tmp88_);
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp90_ = _tmp89_;
#line 1855 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_attribute_add_value (_tmp85_, _tmp90_);
#line 1857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp91_ = e_vcard_attribute_param_new ("organisation_name");
#line 1857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				param1 = _tmp91_;
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp92_ = param1;
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp93_ = role_fd;
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp94_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp93_);
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp95_ = _tmp94_;
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp96_ = folks_role_get_organisation_name ((FolksRole*) _tmp95_);
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp97_ = _tmp96_;
#line 1858 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_attribute_param_add_value (_tmp92_, _tmp97_);
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp98_ = attr;
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp99_ = param1;
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp100_ = __vala_EVCardAttributeParam_copy0 (_tmp99_);
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_attribute_add_param (_tmp98_, _tmp100_);
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp101_ = e_vcard_attribute_param_new ("title");
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				param2 = _tmp101_;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp102_ = param2;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp103_ = role_fd;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp104_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp103_);
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp105_ = _tmp104_;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp106_ = folks_role_get_title ((FolksRole*) _tmp105_);
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp107_ = _tmp106_;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_attribute_param_add_value (_tmp102_, _tmp107_);
#line 1863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp108_ = attr;
#line 1863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp109_ = param2;
#line 1863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp110_ = __vala_EVCardAttributeParam_copy0 (_tmp109_);
#line 1863 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_attribute_add_param (_tmp108_, _tmp110_);
#line 11163 "edsf-persona-store.c"
				{
					FolksRoleFieldDetails* _tmp111_;
					GeeMultiMap* _tmp112_;
					GeeMultiMap* _tmp113_;
					GeeSet* _tmp114_ = NULL;
					GeeSet* _tmp115_;
					GeeIterator* _tmp116_ = NULL;
					GeeIterator* _tmp117_;
					GeeIterator* _param_name_it;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp111_ = role_fd;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp112_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp111_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp113_ = _tmp112_;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp114_ = gee_multi_map_get_keys (_tmp113_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp115_ = _tmp114_;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp116_ = gee_iterable_iterator ((GeeIterable*) _tmp115_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp117_ = _tmp116_;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (_tmp115_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_param_name_it = _tmp117_;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					while (TRUE) {
#line 11193 "edsf-persona-store.c"
						GeeIterator* _tmp118_;
						gboolean _tmp119_ = FALSE;
						GeeIterator* _tmp120_;
						gpointer _tmp121_ = NULL;
						gchar* param_name;
						const gchar* _tmp122_;
						gchar* _tmp123_ = NULL;
						gchar* _tmp124_;
						EVCardAttributeParam* _tmp125_;
						EVCardAttributeParam* _tmp126_;
						EVCardAttributeParam* param3;
						EVCardAttribute* _tmp141_;
						EVCardAttributeParam* _tmp142_;
						EVCardAttributeParam* _tmp143_;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp118_ = _param_name_it;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp119_ = gee_iterator_next (_tmp118_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						if (!_tmp119_) {
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							break;
#line 11216 "edsf-persona-store.c"
						}
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp120_ = _param_name_it;
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp121_ = gee_iterator_get (_tmp120_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						param_name = (gchar*) _tmp121_;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp122_ = param_name;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp123_ = g_utf8_strup (_tmp122_, (gssize) (-1));
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp124_ = _tmp123_;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp125_ = e_vcard_attribute_param_new (_tmp124_);
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp126_ = _tmp125_;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_free0 (_tmp124_);
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						param3 = _tmp126_;
#line 11238 "edsf-persona-store.c"
						{
							FolksRoleFieldDetails* _tmp127_;
							GeeMultiMap* _tmp128_;
							GeeMultiMap* _tmp129_;
							const gchar* _tmp130_;
							GeeCollection* _tmp131_ = NULL;
							GeeCollection* _tmp132_;
							GeeIterator* _tmp133_ = NULL;
							GeeIterator* _tmp134_;
							GeeIterator* _param_val_it;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp127_ = role_fd;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp128_ = folks_abstract_field_details_get_parameters ((FolksAbstractFieldDetails*) _tmp127_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp129_ = _tmp128_;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp130_ = param_name;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp131_ = gee_multi_map_get (_tmp129_, _tmp130_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp132_ = _tmp131_;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp133_ = gee_iterable_iterator ((GeeIterable*) _tmp132_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_tmp134_ = _tmp133_;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_tmp132_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_param_val_it = _tmp134_;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							while (TRUE) {
#line 11271 "edsf-persona-store.c"
								GeeIterator* _tmp135_;
								gboolean _tmp136_ = FALSE;
								GeeIterator* _tmp137_;
								gpointer _tmp138_ = NULL;
								gchar* param_val;
								EVCardAttributeParam* _tmp139_;
								const gchar* _tmp140_;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp135_ = _param_val_it;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp136_ = gee_iterator_next (_tmp135_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								if (!_tmp136_) {
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
									break;
#line 11287 "edsf-persona-store.c"
								}
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp137_ = _param_val_it;
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp138_ = gee_iterator_get (_tmp137_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								param_val = (gchar*) _tmp138_;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp139_ = param3;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_tmp140_ = param_val;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								e_vcard_attribute_param_add_value (_tmp139_, _tmp140_);
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
								_g_free0 (param_val);
#line 11303 "edsf-persona-store.c"
							}
#line 1868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
							_g_object_unref0 (_param_val_it);
#line 11307 "edsf-persona-store.c"
						}
#line 1872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp141_ = attr;
#line 1872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp142_ = param3;
#line 1872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp143_ = __vala_EVCardAttributeParam_copy0 (_tmp142_);
#line 1872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						e_vcard_attribute_add_param (_tmp141_, _tmp143_);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						__vala_EVCardAttributeParam_free0 (param3);
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_g_free0 (param_name);
#line 11321 "edsf-persona-store.c"
					}
#line 1865 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (_param_name_it);
#line 11325 "edsf-persona-store.c"
				}
#line 1875 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp144_ = contact;
#line 1875 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp145_ = attr;
#line 1875 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				attr = NULL;
#line 1875 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_add_attribute ((EVCard*) _tmp144_, _tmp145_);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				__vala_EVCardAttributeParam_free0 (param2);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				__vala_EVCardAttributeParam_free0 (param1);
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				__vala_EVCardAttribute_free0 (attr);
#line 11341 "edsf-persona-store.c"
			}
#line 1878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp146_ = count;
#line 1878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			count = _tmp146_ + 1;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (role_fd);
#line 11349 "edsf-persona-store.c"
		}
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_role_fd_it);
#line 11353 "edsf-persona-store.c"
	}
#line 1881 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp147_ = contact;
#line 1881 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp148_ = e_contact_field_id ("org");
#line 1881 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp149_ = org;
#line 1881 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp147_, _tmp148_, _tmp149_);
#line 1882 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp150_ = contact;
#line 1882 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp151_ = e_contact_field_id ("org_unit");
#line 1882 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp152_ = org_unit;
#line 1882 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp150_, _tmp151_, _tmp152_);
#line 1883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp153_ = contact;
#line 1883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp154_ = e_contact_field_id ("office");
#line 1883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp155_ = office;
#line 1883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp153_, _tmp154_, _tmp155_);
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp156_ = contact;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp157_ = e_contact_field_id ("title");
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp158_ = title;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp156_, _tmp157_, _tmp158_);
#line 1885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp159_ = contact;
#line 1885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp160_ = e_contact_field_id ("role");
#line 1885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp161_ = role;
#line 1885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp159_, _tmp160_, _tmp161_);
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp162_ = contact;
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp163_ = e_contact_field_id ("manager");
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp164_ = manager;
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp162_, _tmp163_, _tmp164_);
#line 1887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp165_ = contact;
#line 1887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp166_ = e_contact_field_id ("assistant");
#line 1887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp167_ = assistant;
#line 1887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp165_, _tmp166_, _tmp167_);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (assistant);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (manager);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (role);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (title);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (office);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (org_unit);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (org);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (vcard);
#line 11427 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_structured_name_data_free (gpointer _data) {
	EdsfPersonaStoreSetStructuredNameData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->sname);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetStructuredNameData, _data_);
#line 11442 "edsf-persona-store.c"
}


void _edsf_persona_store_set_structured_name (EdsfPersonaStore* self, EdsfPersona* persona, FolksStructuredName* sname, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetStructuredNameData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	FolksStructuredName* _tmp3_;
	FolksStructuredName* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetStructuredNameData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_structured_name);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_structured_name_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = sname;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->sname);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->sname = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_structured_name_co (_data_);
#line 11481 "edsf-persona-store.c"
}


void _edsf_persona_store_set_structured_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetStructuredNameData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 11491 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 11495 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_structured_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetStructuredNameData* _data_;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_structured_name_co (_data_);
#line 11509 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_structured_name_co (EdsfPersonaStoreSetStructuredNameData* _data_) {
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 11518 "edsf-persona-store.c"
		goto _state_0;
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 11522 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 11527 "edsf-persona-store.c"
	}
	_state_0:
#line 1893 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1893 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1893 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "structured-name")) {
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Structured name is not writeable on this contact.");
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 11554 "edsf-persona-store.c"
			} else {
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 11558 "edsf-persona-store.c"
			}
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 11564 "edsf-persona-store.c"
		} else {
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1895 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 11572 "edsf-persona-store.c"
		}
	}
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->persona;
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = folks_name_details_get_structured_name ((FolksNameDetails*) _data_->_tmp5_);
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->_tmp6_;
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_ != NULL) {
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp8_ = _data_->sname;
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = _data_->_tmp8_ != NULL;
#line 11587 "edsf-persona-store.c"
	} else {
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp4_ = FALSE;
#line 11591 "edsf-persona-store.c"
	}
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_tmp4_;
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp9_) {
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp10_ = _data_->persona;
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp11_ = folks_name_details_get_structured_name ((FolksNameDetails*) _data_->_tmp10_);
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp12_ = _data_->_tmp11_;
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp13_ = _data_->sname;
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp14_ = FALSE;
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp14_ = folks_structured_name_equal (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp12_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp13_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName));
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = _data_->_tmp14_;
#line 11611 "edsf-persona-store.c"
	} else {
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp3_ = FALSE;
#line 11615 "edsf-persona-store.c"
	}
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp15_ = _data_->_tmp3_;
#line 1899 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp15_) {
#line 1901 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1901 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 11625 "edsf-persona-store.c"
		} else {
#line 1901 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 11629 "edsf-persona-store.c"
		}
#line 1901 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1901 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 11635 "edsf-persona-store.c"
	}
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp17_ = _data_->persona;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp18_ = folks_name_details_get_structured_name ((FolksNameDetails*) _data_->_tmp17_);
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp19_ = _data_->_tmp18_;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp19_ == NULL) {
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp20_ = _data_->sname;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp16_ = _data_->_tmp20_ == NULL;
#line 11649 "edsf-persona-store.c"
	} else {
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp16_ = FALSE;
#line 11653 "edsf-persona-store.c"
	}
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp21_ = _data_->_tmp16_;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp21_) {
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 11663 "edsf-persona-store.c"
		} else {
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 11667 "edsf-persona-store.c"
		}
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 11673 "edsf-persona-store.c"
	}
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp22_ = _data_->persona;
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp23_ = edsf_persona_get_contact (_data_->_tmp22_);
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp24_ = _data_->_tmp23_;
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp25_ = _data_->sname;
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_name (_data_->self, _data_->_tmp24_, _data_->_tmp25_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp26_ = _data_->persona;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp26_, "structured-name", _edsf_persona_store_set_structured_name_ready, _data_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 11693 "edsf-persona-store.c"
	_state_1:
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 11709 "edsf-persona-store.c"
			} else {
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 11713 "edsf-persona-store.c"
			}
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 11719 "edsf-persona-store.c"
		} else {
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 11727 "edsf-persona-store.c"
		}
	}
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 11734 "edsf-persona-store.c"
	} else {
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 11738 "edsf-persona-store.c"
	}
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 11744 "edsf-persona-store.c"
}


static void _vala_EContactName_free (EContactName* self) {
#line 1911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_boxed_free (e_contact_name_get_type (), self);
#line 11751 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_name (EdsfPersonaStore* self, EContact* contact, FolksStructuredName* _sname) {
	EContactName* _tmp0_;
	EContactName* contact_name;
	FolksStructuredName* _tmp1_;
	EContact* _tmp29_;
	EContactField _tmp30_ = 0;
	EContactName* _tmp31_;
#line 1911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1913 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = e_contact_name_new ();
#line 1913 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	contact_name = _tmp0_;
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _sname;
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp1_ != NULL) {
#line 11774 "edsf-persona-store.c"
		FolksStructuredName* _tmp2_;
		FolksStructuredName* _tmp3_;
		FolksStructuredName* sname;
		EContactName* _tmp4_;
		FolksStructuredName* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		gchar* _tmp8_;
		EContactName* _tmp9_;
		FolksStructuredName* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		gchar* _tmp13_;
		EContactName* _tmp14_;
		FolksStructuredName* _tmp15_;
		const gchar* _tmp16_;
		const gchar* _tmp17_;
		gchar* _tmp18_;
		EContactName* _tmp19_;
		FolksStructuredName* _tmp20_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		gchar* _tmp23_;
		EContactName* _tmp24_;
		FolksStructuredName* _tmp25_;
		const gchar* _tmp26_;
		const gchar* _tmp27_;
		gchar* _tmp28_;
#line 1917 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = _sname;
#line 1917 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName));
#line 1917 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		sname = _tmp3_;
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = contact_name;
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = sname;
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = folks_structured_name_get_family_name (_tmp5_);
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = _tmp6_;
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp8_ = g_strdup (_tmp7_);
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_tmp4_->family);
#line 1919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_->family = _tmp8_;
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp9_ = contact_name;
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = sname;
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp11_ = folks_structured_name_get_given_name (_tmp10_);
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp12_ = _tmp11_;
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp13_ = g_strdup (_tmp12_);
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_tmp9_->given);
#line 1920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp9_->given = _tmp13_;
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp14_ = contact_name;
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp15_ = sname;
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp16_ = folks_structured_name_get_additional_names (_tmp15_);
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp17_ = _tmp16_;
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp18_ = g_strdup (_tmp17_);
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_tmp14_->additional);
#line 1921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp14_->additional = _tmp18_;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp19_ = contact_name;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp20_ = sname;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp21_ = folks_structured_name_get_suffixes (_tmp20_);
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp22_ = _tmp21_;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp23_ = g_strdup (_tmp22_);
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_tmp19_->suffixes);
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp19_->suffixes = _tmp23_;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp24_ = contact_name;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp25_ = sname;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp26_ = folks_structured_name_get_prefixes (_tmp25_);
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp27_ = _tmp26_;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp28_ = g_strdup (_tmp27_);
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_free0 (_tmp24_->prefixes);
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp24_->prefixes = _tmp28_;
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (sname);
#line 11881 "edsf-persona-store.c"
	}
#line 1926 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp29_ = contact;
#line 1926 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp30_ = e_contact_field_id ("name");
#line 1926 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp31_ = contact_name;
#line 1926 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp29_, _tmp30_, _tmp31_);
#line 1911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__vala_EContactName_free0 (contact_name);
#line 11893 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_im_fds_data_free (gpointer _data) {
	EdsfPersonaStoreSetImFdsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->im_fds);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetImFdsData, _data_);
#line 11908 "edsf-persona-store.c"
}


void _edsf_persona_store_set_im_fds (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* im_fds, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetImFdsData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeMultiMap* _tmp3_;
	GeeMultiMap* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetImFdsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_im_fds);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_im_fds_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = im_fds;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->im_fds);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->im_fds = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_im_fds_co (_data_);
#line 11947 "edsf-persona-store.c"
}


void _edsf_persona_store_set_im_fds_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetImFdsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 11957 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 11961 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_im_fds_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetImFdsData* _data_;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_im_fds_co (_data_);
#line 11975 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_im_fds_co (EdsfPersonaStoreSetImFdsData* _data_) {
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 11984 "edsf-persona-store.c"
		goto _state_0;
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 11988 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 11993 "edsf-persona-store.c"
	}
	_state_0:
#line 1932 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1932 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1932 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "im-addresses")) {
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("IM addresses are not writeable on this contact.");
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12020 "edsf-persona-store.c"
			} else {
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12024 "edsf-persona-store.c"
			}
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12030 "edsf-persona-store.c"
		} else {
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12038 "edsf-persona-store.c"
		}
	}
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = folks_im_details_get_im_addresses ((FolksImDetails*) _data_->_tmp3_);
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->im_fds;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = FALSE;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_utils_multi_map_str_afd_equal (_data_->_tmp5_, _data_->_tmp6_);
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_) {
#line 1939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 1939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12059 "edsf-persona-store.c"
		} else {
#line 1939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 12063 "edsf-persona-store.c"
		}
#line 1939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 1939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 12069 "edsf-persona-store.c"
	}
#line 1941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->persona;
#line 1941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = edsf_persona_get_contact (_data_->_tmp8_);
#line 1941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 1941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = _data_->im_fds;
#line 1941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_im_fds (_data_->self, _data_->_tmp10_, _data_->_tmp11_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->persona;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp12_, "im-addresses", _edsf_persona_store_set_im_fds_ready, _data_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12089 "edsf-persona-store.c"
	_state_1:
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12105 "edsf-persona-store.c"
			} else {
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12109 "edsf-persona-store.c"
			}
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12115 "edsf-persona-store.c"
		} else {
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12123 "edsf-persona-store.c"
		}
	}
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12130 "edsf-persona-store.c"
	} else {
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 12134 "edsf-persona-store.c"
	}
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12140 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_im_fds (EdsfPersonaStore* self, EContact* contact, GeeMultiMap* im_fds) {
	GHashTable* _tmp0_ = NULL;
	GHashTable* im_eds_map;
	GHashTable* _tmp1_;
	GList* _tmp2_ = NULL;
#line 1946 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1946 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1946 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (im_fds != NULL);
#line 1949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _edsf_persona_get_im_eds_map ();
#line 1949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	im_eds_map = _tmp0_;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = im_eds_map;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = g_hash_table_get_values (_tmp1_);
#line 12163 "edsf-persona-store.c"
	{
		GList* field_id_collection = NULL;
		GList* field_id_it = NULL;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		field_id_collection = _tmp2_;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		for (field_id_it = field_id_collection; field_id_it != NULL; field_id_it = field_id_it->next) {
#line 12171 "edsf-persona-store.c"
			EContactField field_id = 0;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			field_id = (EContactField) ((gintptr) field_id_it->data);
#line 12175 "edsf-persona-store.c"
			{
				EContact* _tmp3_;
				EContactField _tmp4_;
				const gchar* _tmp5_ = NULL;
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp3_ = contact;
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp4_ = field_id;
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp5_ = e_contact_vcard_attribute (_tmp4_);
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_vcard_remove_attributes ((EVCard*) _tmp3_, NULL, _tmp5_);
#line 12188 "edsf-persona-store.c"
			}
		}
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_list_free0 (field_id_collection);
#line 12193 "edsf-persona-store.c"
	}
	{
		GeeMultiMap* _tmp6_;
		GeeSet* _tmp7_ = NULL;
		GeeSet* _tmp8_;
		GeeIterator* _tmp9_ = NULL;
		GeeIterator* _tmp10_;
		GeeIterator* _proto_it;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = im_fds;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = gee_multi_map_get_keys (_tmp6_);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp8_ = _tmp7_;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp9_ = gee_iterable_iterator ((GeeIterable*) _tmp8_);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = _tmp9_;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_tmp8_);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_proto_it = _tmp10_;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 12218 "edsf-persona-store.c"
			GeeIterator* _tmp11_;
			gboolean _tmp12_ = FALSE;
			GeeIterator* _tmp13_;
			gpointer _tmp14_ = NULL;
			gchar* proto;
			GList* attributes;
			const gchar* _tmp15_;
			gchar* _tmp16_;
			gchar* _tmp17_;
			gchar* _tmp18_ = NULL;
			gchar* _tmp19_;
			gchar* attrib_name;
			gboolean added;
			gboolean _tmp37_;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = _proto_it;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = gee_iterator_next (_tmp11_);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp12_) {
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 12241 "edsf-persona-store.c"
			}
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp13_ = _proto_it;
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp14_ = gee_iterator_get (_tmp13_);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			proto = (gchar*) _tmp14_;
#line 1959 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attributes = NULL;
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp15_ = proto;
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp16_ = g_strconcat ("X-", _tmp15_, NULL);
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp17_ = _tmp16_;
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp18_ = g_utf8_strup (_tmp17_, (gssize) (-1));
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp19_ = _tmp18_;
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (_tmp17_);
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attrib_name = _tmp19_;
#line 1961 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			added = FALSE;
#line 12267 "edsf-persona-store.c"
			{
				GeeMultiMap* _tmp20_;
				const gchar* _tmp21_;
				GeeCollection* _tmp22_ = NULL;
				GeeCollection* _tmp23_;
				GeeIterator* _tmp24_ = NULL;
				GeeIterator* _tmp25_;
				GeeIterator* _im_fd_it;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp20_ = im_fds;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp21_ = proto;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp22_ = gee_multi_map_get (_tmp20_, _tmp21_);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp23_ = _tmp22_;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp24_ = gee_iterable_iterator ((GeeIterable*) _tmp23_);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp25_ = _tmp24_;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_tmp23_);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_im_fd_it = _tmp25_;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				while (TRUE) {
#line 12294 "edsf-persona-store.c"
					GeeIterator* _tmp26_;
					gboolean _tmp27_ = FALSE;
					GeeIterator* _tmp28_;
					gpointer _tmp29_ = NULL;
					FolksImFieldDetails* im_fd;
					const gchar* _tmp30_;
					EVCardAttribute* _tmp31_;
					EVCardAttribute* attr_n;
					EVCardAttribute* _tmp32_;
					FolksImFieldDetails* _tmp33_;
					gconstpointer _tmp34_;
					const gchar* _tmp35_;
					EVCardAttribute* _tmp36_;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp26_ = _im_fd_it;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp27_ = gee_iterator_next (_tmp26_);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (!_tmp27_) {
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						break;
#line 12316 "edsf-persona-store.c"
					}
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp28_ = _im_fd_it;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp29_ = gee_iterator_get (_tmp28_);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					im_fd = (FolksImFieldDetails*) _tmp29_;
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp30_ = attrib_name;
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp31_ = e_vcard_attribute_new (NULL, _tmp30_);
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					attr_n = _tmp31_;
#line 1966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp32_ = attr_n;
#line 1966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp33_ = im_fd;
#line 1966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp34_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp33_);
#line 1966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp35_ = _tmp34_;
#line 1966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					e_vcard_attribute_add_value (_tmp32_, (const gchar*) _tmp35_);
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp36_ = attr_n;
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					attr_n = NULL;
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					attributes = g_list_prepend (attributes, _tmp36_);
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					added = TRUE;
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					__vala_EVCardAttribute_free0 (attr_n);
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (im_fd);
#line 12352 "edsf-persona-store.c"
				}
#line 1963 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (_im_fd_it);
#line 12356 "edsf-persona-store.c"
			}
#line 1971 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp37_ = added;
#line 1971 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_tmp37_) {
#line 12362 "edsf-persona-store.c"
				GHashTable* _tmp38_;
				const gchar* _tmp39_;
				gconstpointer _tmp40_ = NULL;
				EContactField field_id_t;
				EContact* _tmp41_;
				EContactField _tmp42_;
				GList* _tmp43_;
#line 1973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp38_ = im_eds_map;
#line 1973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp39_ = proto;
#line 1973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp40_ = g_hash_table_lookup (_tmp38_, _tmp39_);
#line 1973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				field_id_t = (EContactField) ((gintptr) _tmp40_);
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp41_ = contact;
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp42_ = field_id_t;
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp43_ = attributes;
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				e_contact_set_attributes (_tmp41_, _tmp42_, _tmp43_);
#line 12386 "edsf-persona-store.c"
			}
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (attrib_name);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__g_list_free___vala_EVCardAttribute_free0_0 (attributes);
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (proto);
#line 12394 "edsf-persona-store.c"
		}
#line 1957 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_proto_it);
#line 12398 "edsf-persona-store.c"
	}
#line 1946 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_hash_table_unref0 (im_eds_map);
#line 12402 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_groups_data_free (gpointer _data) {
	EdsfPersonaStoreSetGroupsData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->groups);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetGroupsData, _data_);
#line 12417 "edsf-persona-store.c"
}


void _edsf_persona_store_set_groups (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* groups, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetGroupsData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetGroupsData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_groups);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_groups_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = groups;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->groups);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->groups = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_groups_co (_data_);
#line 12456 "edsf-persona-store.c"
}


void _edsf_persona_store_set_groups_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetGroupsData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 12466 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 12470 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_groups_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetGroupsData* _data_;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_groups_co (_data_);
#line 12484 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_groups_co (EdsfPersonaStoreSetGroupsData* _data_) {
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 12493 "edsf-persona-store.c"
		goto _state_0;
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 12497 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 12502 "edsf-persona-store.c"
	}
	_state_0:
#line 1982 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 1982 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 1982 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "groups")) {
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Groups are not writeable on this contact.");
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12529 "edsf-persona-store.c"
			} else {
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12533 "edsf-persona-store.c"
			}
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12539 "edsf-persona-store.c"
		} else {
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1984 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12547 "edsf-persona-store.c"
		}
	}
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->groups;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = folks_favourite_details_get_is_favourite ((FolksFavouriteDetails*) _data_->_tmp7_);
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = _data_->_tmp8_;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_groups (_data_->self, _data_->_tmp5_, _data_->_tmp6_, _data_->_tmp9_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->persona;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp10_, "groups", _edsf_persona_store_set_groups_ready, _data_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12574 "edsf-persona-store.c"
	_state_1:
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12590 "edsf-persona-store.c"
			} else {
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12594 "edsf-persona-store.c"
			}
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12600 "edsf-persona-store.c"
		} else {
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 1989 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12608 "edsf-persona-store.c"
		}
	}
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12615 "edsf-persona-store.c"
	} else {
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 12619 "edsf-persona-store.c"
	}
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 1979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12625 "edsf-persona-store.c"
}


static void _g_free0_ (gpointer var) {
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	var = (g_free (var), NULL);
#line 12632 "edsf-persona-store.c"
}


static void _g_list_free__g_free0_ (GList* self) {
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_list_foreach (self, (GFunc) _g_free0_, NULL);
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_list_free (self);
#line 12641 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_groups (EdsfPersonaStore* self, EContact* contact, GeeSet* groups, gboolean is_favourite) {
	GList* categories;
	gboolean _tmp13_ = FALSE;
	gboolean _tmp14_;
	gboolean _tmp16_;
	EContact* _tmp18_;
	GList* _tmp19_;
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (groups != NULL);
#line 1995 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	categories = NULL;
#line 12660 "edsf-persona-store.c"
	{
		GeeSet* _tmp0_;
		GeeIterator* _tmp1_ = NULL;
		GeeIterator* _group_it;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = groups;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = gee_iterable_iterator ((GeeIterable*) _tmp0_);
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_group_it = _tmp1_;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 12673 "edsf-persona-store.c"
			GeeIterator* _tmp2_;
			gboolean _tmp3_ = FALSE;
			GeeIterator* _tmp4_;
			gpointer _tmp5_ = NULL;
			gchar* group;
			const gchar* _tmp6_;
			const gchar* _tmp11_;
			gchar* _tmp12_;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp2_ = _group_it;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = gee_iterator_next (_tmp2_);
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp3_) {
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 12690 "edsf-persona-store.c"
			}
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = _group_it;
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = gee_iterator_get (_tmp4_);
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			group = (gchar*) _tmp5_;
#line 1999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = group;
#line 1999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (g_strcmp0 (_tmp6_, "") == 0) {
#line 2001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (group);
#line 2001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				continue;
#line 12706 "edsf-persona-store.c"
			} else {
				gboolean _tmp7_ = FALSE;
				gboolean _tmp8_ = FALSE;
				gboolean _tmp10_;
#line 2003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp8_ = _edsf_persona_store_is_google_contacts_address_book (self);
#line 2003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp8_) {
#line 12715 "edsf-persona-store.c"
					const gchar* _tmp9_;
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp9_ = group;
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp7_ = g_strcmp0 (_tmp9_, EDSF_PERSONA_STORE_android_favourite_group_name) == 0;
#line 12721 "edsf-persona-store.c"
				} else {
#line 2003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp7_ = FALSE;
#line 12725 "edsf-persona-store.c"
				}
#line 2003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp10_ = _tmp7_;
#line 2003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp10_) {
#line 2006 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_free0 (group);
#line 2006 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					continue;
#line 12735 "edsf-persona-store.c"
				}
			}
#line 2009 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = group;
#line 2009 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp12_ = g_strdup (_tmp11_);
#line 2009 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			categories = g_list_prepend (categories, _tmp12_);
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (group);
#line 12746 "edsf-persona-store.c"
		}
#line 1997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_group_it);
#line 12750 "edsf-persona-store.c"
	}
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp14_ = is_favourite;
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp14_) {
#line 12756 "edsf-persona-store.c"
		gboolean _tmp15_ = FALSE;
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp15_ = _edsf_persona_store_is_google_contacts_address_book (self);
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp13_ = _tmp15_;
#line 12762 "edsf-persona-store.c"
	} else {
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp13_ = FALSE;
#line 12766 "edsf-persona-store.c"
	}
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp16_ = _tmp13_;
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp16_) {
#line 12772 "edsf-persona-store.c"
		gchar* _tmp17_;
#line 2017 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp17_ = g_strdup (EDSF_PERSONA_STORE_android_favourite_group_name);
#line 2017 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		categories = g_list_prepend (categories, _tmp17_);
#line 12778 "edsf-persona-store.c"
	}
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp18_ = contact;
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp19_ = categories;
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_contact_set (_tmp18_, E_CONTACT_CATEGORY_LIST, _tmp19_);
#line 1992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__g_list_free__g_free0_0 (categories);
#line 12788 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_gender_data_free (gpointer _data) {
	EdsfPersonaStoreSetGenderData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetGenderData, _data_);
#line 12801 "edsf-persona-store.c"
}


void _edsf_persona_store_set_gender (EdsfPersonaStore* self, EdsfPersona* persona, FolksGender gender, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetGenderData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	FolksGender _tmp3_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetGenderData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_gender);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_gender_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = gender;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->gender = _tmp3_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_gender_co (_data_);
#line 12835 "edsf-persona-store.c"
}


void _edsf_persona_store_set_gender_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetGenderData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 12845 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 12849 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_gender_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetGenderData* _data_;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_gender_co (_data_);
#line 12863 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_gender_co (EdsfPersonaStoreSetGenderData* _data_) {
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 12872 "edsf-persona-store.c"
		goto _state_0;
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 12876 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 12881 "edsf-persona-store.c"
	}
	_state_0:
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "gender")) {
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Gender is not writeable on this contact.");
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12908 "edsf-persona-store.c"
			} else {
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12912 "edsf-persona-store.c"
			}
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12918 "edsf-persona-store.c"
		} else {
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 2028 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12926 "edsf-persona-store.c"
		}
	}
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->persona;
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = edsf_persona_get_contact (_data_->_tmp3_);
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->gender;
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_gender (_data_->self, _data_->_tmp5_, _data_->_tmp6_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = _data_->persona;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp7_, "gender", _edsf_persona_store_set_gender_ready, _data_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12947 "edsf-persona-store.c"
	_state_1:
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12963 "edsf-persona-store.c"
			} else {
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 12967 "edsf-persona-store.c"
			}
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12973 "edsf-persona-store.c"
		} else {
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 2033 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 12981 "edsf-persona-store.c"
		}
	}
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 12988 "edsf-persona-store.c"
	} else {
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 12992 "edsf-persona-store.c"
	}
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 2023 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 12998 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_gender (EdsfPersonaStore* self, EContact* contact, FolksGender gender) {
	EContact* _tmp0_;
	EVCardAttribute* _tmp1_;
	EVCardAttribute* new_attr;
	FolksGender _tmp2_;
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_remove_attribute (self, _tmp0_, EDSF_PERSONA_gender_attribute_name);
#line 2040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_vcard_attribute_new (NULL, EDSF_PERSONA_gender_attribute_name);
#line 2040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	new_attr = _tmp1_;
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = gender;
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_tmp2_) {
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case FOLKS_GENDER_UNSPECIFIED:
#line 13025 "edsf-persona-store.c"
		{
#line 2046 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			break;
#line 13029 "edsf-persona-store.c"
		}
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case FOLKS_GENDER_MALE:
#line 13033 "edsf-persona-store.c"
		{
			EVCardAttribute* _tmp3_;
			EContact* _tmp4_;
			EVCardAttribute* _tmp5_;
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = new_attr;
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_value (_tmp3_, EDSF_PERSONA_gender_male);
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = contact;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = new_attr;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			new_attr = NULL;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_add_attribute ((EVCard*) _tmp4_, _tmp5_);
#line 2050 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			break;
#line 13052 "edsf-persona-store.c"
		}
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case FOLKS_GENDER_FEMALE:
#line 13056 "edsf-persona-store.c"
		{
			EVCardAttribute* _tmp6_;
			EContact* _tmp7_;
			EVCardAttribute* _tmp8_;
#line 2052 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = new_attr;
#line 2052 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_value (_tmp6_, EDSF_PERSONA_gender_female);
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = contact;
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = new_attr;
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			new_attr = NULL;
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_add_attribute ((EVCard*) _tmp7_, _tmp8_);
#line 2054 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			break;
#line 13075 "edsf-persona-store.c"
		}
		default:
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 13080 "edsf-persona-store.c"
	}
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	__vala_EVCardAttribute_free0 (new_attr);
#line 13084 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_anti_links_data_free (gpointer _data) {
	EdsfPersonaStoreSetAntiLinksData* _data_;
	_data_ = _data;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->anti_links);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_slice_free (EdsfPersonaStoreSetAntiLinksData, _data_);
#line 13099 "edsf-persona-store.c"
}


void _edsf_persona_store_set_anti_links (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* anti_links, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersonaStoreSetAntiLinksData* _data_;
	EdsfPersonaStore* _tmp0_;
	EdsfPersona* _tmp1_;
	EdsfPersona* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_slice_new0 (EdsfPersonaStoreSetAntiLinksData);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, _edsf_persona_store_set_anti_links);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, _edsf_persona_store_set_anti_links_data_free);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->self = _tmp0_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->persona);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->persona = _tmp2_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = anti_links;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (_data_->anti_links);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->anti_links = _tmp4_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_anti_links_co (_data_);
#line 13138 "edsf-persona-store.c"
}


void _edsf_persona_store_set_anti_links_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error) {
	EdsfPersonaStoreSetAntiLinksData* _data_;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 13148 "edsf-persona-store.c"
	}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 13152 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_anti_links_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaStoreSetAntiLinksData* _data_;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_ = _user_data_;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_source_object_ = source_object;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_res_ = _res_;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_anti_links_co (_data_);
#line 13166 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_set_anti_links_co (EdsfPersonaStoreSetAntiLinksData* _data_) {
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (_data_->_state_) {
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 0:
#line 13175 "edsf-persona-store.c"
		goto _state_0;
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case 1:
#line 13179 "edsf-persona-store.c"
		goto _state_1;
		default:
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_assert_not_reached ();
#line 13184 "edsf-persona-store.c"
	}
	_state_0:
#line 2061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0_ = _data_->self->priv->_always_writeable_properties;
#line 2061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp0__length1 = _data_->self->priv->_always_writeable_properties_length1;
#line 2061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (!_vala_string_array_contains (_data_->_tmp0_, _data_->_tmp0__length1, "anti-links")) {
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = NULL;
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp1_ = _ ("Anti-links are not writeable on this contact.");
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_tmp2_ = g_error_new_literal (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _data_->_tmp1_);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_data_->_inner_error_ = _data_->_tmp2_;
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 13211 "edsf-persona-store.c"
			} else {
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 13215 "edsf-persona-store.c"
			}
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 13221 "edsf-persona-store.c"
		} else {
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 2063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 13229 "edsf-persona-store.c"
		}
	}
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp3_ = _data_->anti_links;
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp4_ = _data_->persona;
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp5_ = folks_anti_linkable_get_anti_links ((FolksAntiLinkable*) _data_->_tmp4_);
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp6_ = _data_->_tmp5_;
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = FALSE;
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp7_ = folks_internal_equal_sets (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _data_->_tmp3_, _data_->_tmp6_);
#line 2067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_tmp7_) {
#line 2069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_state_ == 0) {
#line 2069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 13250 "edsf-persona-store.c"
		} else {
#line 2069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 13254 "edsf-persona-store.c"
		}
#line 2069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_unref (_data_->_async_result);
#line 2069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return FALSE;
#line 13260 "edsf-persona-store.c"
	}
#line 2072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp8_ = _data_->persona;
#line 2072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp9_ = edsf_persona_get_contact (_data_->_tmp8_);
#line 2072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 2072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp11_ = _data_->anti_links;
#line 2072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_set_contact_anti_links (_data_->self, _data_->_tmp10_, _data_->_tmp11_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_tmp12_ = _data_->persona;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_data_->_state_ = 1;
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property (_data_->self, _data_->_tmp12_, "anti-links", _edsf_persona_store_set_anti_links_ready, _data_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 13280 "edsf-persona-store.c"
	_state_1:
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_commit_modified_property_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_inner_error_ != NULL) {
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_error_free (_data_->_inner_error_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_data_->_state_ == 0) {
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 13296 "edsf-persona-store.c"
			} else {
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 13300 "edsf-persona-store.c"
			}
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_object_unref (_data_->_async_result);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 13306 "edsf-persona-store.c"
		} else {
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_clear_error (&_data_->_inner_error_);
#line 2073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return FALSE;
#line 13314 "edsf-persona-store.c"
		}
	}
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_data_->_state_ == 0) {
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 13321 "edsf-persona-store.c"
	} else {
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 13325 "edsf-persona-store.c"
	}
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_unref (_data_->_async_result);
#line 2058 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return FALSE;
#line 13331 "edsf-persona-store.c"
}


static void _edsf_persona_store_set_contact_anti_links (EdsfPersonaStore* self, EContact* contact, GeeSet* anti_links) {
	EContact* _tmp0_;
	EVCard* _tmp1_;
	EVCard* vcard;
	EVCard* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	EContact* _tmp5_;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_ = NULL;
	gchar* _tmp10_;
	gchar* persona_uid;
#line 2076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (contact != NULL);
#line 2076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (anti_links != NULL);
#line 2079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contact;
#line 2079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, e_vcard_get_type (), EVCard));
#line 2079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	vcard = _tmp1_;
#line 2080 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = vcard;
#line 2080 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	e_vcard_remove_attributes (_tmp2_, NULL, EDSF_PERSONA_STORE_anti_links_attribute_name);
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _tmp3_;
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = contact;
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_get (_tmp5_, "id", &_tmp6_, NULL);
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp7_ = _tmp6_;
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp8_ = _tmp7_;
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp9_ = folks_persona_build_uid (BACKEND_NAME, _tmp4_, _tmp8_);
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp10_ = _tmp9_;
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (_tmp8_);
#line 2082 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	persona_uid = _tmp10_;
#line 13385 "edsf-persona-store.c"
	{
		GeeSet* _tmp11_;
		GeeIterator* _tmp12_ = NULL;
		GeeIterator* _anti_link_uid_it;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp11_ = anti_links;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp12_ = gee_iterable_iterator ((GeeIterable*) _tmp11_);
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_anti_link_uid_it = _tmp12_;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 13398 "edsf-persona-store.c"
			GeeIterator* _tmp13_;
			gboolean _tmp14_ = FALSE;
			GeeIterator* _tmp15_;
			gpointer _tmp16_ = NULL;
			gchar* anti_link_uid;
			const gchar* _tmp17_;
			const gchar* _tmp18_;
			EVCardAttribute* _tmp19_;
			EVCardAttribute* attr;
			EVCardAttribute* _tmp20_;
			const gchar* _tmp21_;
			EContact* _tmp22_;
			EVCardAttribute* _tmp23_;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp13_ = _anti_link_uid_it;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp14_ = gee_iterator_next (_tmp13_);
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!_tmp14_) {
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 13420 "edsf-persona-store.c"
			}
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp15_ = _anti_link_uid_it;
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp16_ = gee_iterator_get (_tmp15_);
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			anti_link_uid = (gchar*) _tmp16_;
#line 2088 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp17_ = anti_link_uid;
#line 2088 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp18_ = persona_uid;
#line 2088 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (g_strcmp0 (_tmp17_, _tmp18_) == 0) {
#line 2090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (anti_link_uid);
#line 2090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				continue;
#line 13438 "edsf-persona-store.c"
			}
#line 2093 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp19_ = e_vcard_attribute_new (NULL, EDSF_PERSONA_STORE_anti_links_attribute_name);
#line 2093 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = _tmp19_;
#line 2095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp20_ = attr;
#line 2095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp21_ = anti_link_uid;
#line 2095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_attribute_add_value (_tmp20_, _tmp21_);
#line 2097 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp22_ = contact;
#line 2097 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp23_ = attr;
#line 2097 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			attr = NULL;
#line 2097 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_vcard_add_attribute ((EVCard*) _tmp22_, _tmp23_);
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			__vala_EVCardAttribute_free0 (attr);
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_free0 (anti_link_uid);
#line 13462 "edsf-persona-store.c"
		}
#line 2085 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (_anti_link_uid_it);
#line 13466 "edsf-persona-store.c"
	}
#line 2076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (persona_uid);
#line 2076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (vcard);
#line 13472 "edsf-persona-store.c"
}


static void _edsf_persona_store_contacts_added_cb (EdsfPersonaStore* self, GList* contacts) {
	GeeHashSet* added_personas = NULL;
	gboolean _tmp0_;
	GList* _tmp6_;
	gboolean _tmp24_ = FALSE;
	GeeHashSet* _tmp25_;
	gint _tmp26_;
	gint _tmp27_;
	gboolean _tmp29_;
#line 2101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2108 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_is_quiescent;
#line 2108 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == FALSE) {
#line 13491 "edsf-persona-store.c"
		GeeHashSet* _tmp1_;
		GeeHashSet* _tmp3_;
		GeeHashSet* _tmp4_;
#line 2111 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = self->priv->_pending_personas;
#line 2111 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp1_ == NULL) {
#line 13499 "edsf-persona-store.c"
			GeeHashSet* _tmp2_;
#line 2113 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp2_ = gee_hash_set_new (EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL);
#line 2113 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (self->priv->_pending_personas);
#line 2113 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			self->priv->_pending_personas = _tmp2_;
#line 13507 "edsf-persona-store.c"
		}
#line 2116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = self->priv->_pending_personas;
#line 2116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = _g_object_ref0 (_tmp3_);
#line 2116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (added_personas);
#line 2116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		added_personas = _tmp4_;
#line 13517 "edsf-persona-store.c"
	} else {
		GeeHashSet* _tmp5_;
#line 2120 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = gee_hash_set_new (EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL);
#line 2120 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (added_personas);
#line 2120 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		added_personas = _tmp5_;
#line 13526 "edsf-persona-store.c"
	}
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = contacts;
#line 13530 "edsf-persona-store.c"
	{
		GList* c_collection = NULL;
		GList* c_it = NULL;
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		c_collection = _tmp6_;
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		for (c_it = c_collection; c_it != NULL; c_it = c_it->next) {
#line 13538 "edsf-persona-store.c"
			EContact* _tmp7_;
			EContact* c = NULL;
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = _g_object_ref0 ((EContact*) c_it->data);
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			c = _tmp7_;
#line 13545 "edsf-persona-store.c"
			{
				const gchar* _tmp8_;
				const gchar* _tmp9_;
				EContact* _tmp10_;
				gchar* _tmp11_ = NULL;
				gchar* iid;
				GeeHashMap* _tmp12_;
				const gchar* _tmp13_;
				gboolean _tmp14_ = FALSE;
#line 2125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp8_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp9_ = _tmp8_;
#line 2125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp10_ = c;
#line 2125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp11_ = edsf_persona_build_iid_from_contact (_tmp9_, _tmp10_);
#line 2125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				iid = _tmp11_;
#line 2126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp12_ = self->priv->_personas;
#line 2126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp13_ = iid;
#line 2126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp14_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp12_, _tmp13_);
#line 2126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp14_ == FALSE) {
#line 13573 "edsf-persona-store.c"
					EContact* _tmp15_;
					EdsfPersona* _tmp16_;
					EdsfPersona* persona;
					GeeHashMap* _tmp17_;
					EdsfPersona* _tmp18_;
					const gchar* _tmp19_;
					const gchar* _tmp20_;
					EdsfPersona* _tmp21_;
					GeeHashSet* _tmp22_;
					EdsfPersona* _tmp23_;
#line 2128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp15_ = c;
#line 2128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp16_ = edsf_persona_new (self, _tmp15_);
#line 2128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					persona = _tmp16_;
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp17_ = self->priv->_personas;
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp18_ = persona;
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp19_ = folks_persona_get_iid ((FolksPersona*) _tmp18_);
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp20_ = _tmp19_;
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp21_ = persona;
#line 2129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					gee_abstract_map_set ((GeeAbstractMap*) _tmp17_, _tmp20_, _tmp21_);
#line 2130 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp22_ = added_personas;
#line 2130 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp23_ = persona;
#line 2130 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp22_, _tmp23_);
#line 2126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_g_object_unref0 (persona);
#line 13610 "edsf-persona-store.c"
				}
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (iid);
#line 2123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (c);
#line 13616 "edsf-persona-store.c"
			}
		}
	}
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp25_ = added_personas;
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp26_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp25_);
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp27_ = _tmp26_;
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp27_ > 0) {
#line 13628 "edsf-persona-store.c"
		gboolean _tmp28_;
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp28_ = self->priv->_is_quiescent;
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp24_ = _tmp28_ == TRUE;
#line 13634 "edsf-persona-store.c"
	} else {
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp24_ = FALSE;
#line 13638 "edsf-persona-store.c"
	}
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp29_ = _tmp24_;
#line 2134 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp29_) {
#line 13644 "edsf-persona-store.c"
		GeeHashSet* _tmp30_;
#line 2136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp30_ = added_personas;
#line 2136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_folks_persona_store_emit_personas_changed ((FolksPersonaStore*) self, (GeeSet*) _tmp30_, NULL, NULL, NULL, FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE);
#line 13650 "edsf-persona-store.c"
	}
#line 2101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (added_personas);
#line 13654 "edsf-persona-store.c"
}


static void _edsf_persona_store_contacts_changed_cb (EdsfPersonaStore* self, GList* contacts) {
	GList* _tmp0_;
#line 2140 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = contacts;
#line 13664 "edsf-persona-store.c"
	{
		GList* c_collection = NULL;
		GList* c_it = NULL;
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		c_collection = _tmp0_;
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		for (c_it = c_collection; c_it != NULL; c_it = c_it->next) {
#line 13672 "edsf-persona-store.c"
			EContact* _tmp1_;
			EContact* c = NULL;
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp1_ = _g_object_ref0 ((EContact*) c_it->data);
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			c = _tmp1_;
#line 13679 "edsf-persona-store.c"
			{
				const gchar* _tmp2_;
				const gchar* _tmp3_;
				EContact* _tmp4_;
				gchar* _tmp5_ = NULL;
				gchar* iid;
				GeeHashMap* _tmp6_;
				const gchar* _tmp7_;
				gpointer _tmp8_ = NULL;
				EdsfPersona* persona;
				EdsfPersona* _tmp9_;
#line 2144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp2_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp3_ = _tmp2_;
#line 2144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp4_ = c;
#line 2144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp5_ = edsf_persona_build_iid_from_contact (_tmp3_, _tmp4_);
#line 2144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				iid = _tmp5_;
#line 2145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp6_ = self->priv->_personas;
#line 2145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp7_ = iid;
#line 2145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp8_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp6_, _tmp7_);
#line 2145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				persona = (EdsfPersona*) _tmp8_;
#line 2146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp9_ = persona;
#line 2146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp9_ != NULL) {
#line 13713 "edsf-persona-store.c"
					EdsfPersona* _tmp10_;
					EContact* _tmp11_;
#line 2148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp10_ = persona;
#line 2148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp11_ = c;
#line 2148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_edsf_persona_update (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, EDSF_TYPE_PERSONA, EdsfPersona), _tmp11_);
#line 13722 "edsf-persona-store.c"
				}
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (persona);
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (iid);
#line 2142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (c);
#line 13730 "edsf-persona-store.c"
			}
		}
	}
}


static void _edsf_persona_store_contacts_removed_cb (EdsfPersonaStore* self, GList* contacts_ids) {
	GeeHashSet* _tmp0_;
	GeeHashSet* removed_personas;
	GList* _tmp1_;
	GeeHashSet* _tmp20_;
	gint _tmp21_;
	gint _tmp22_;
#line 2153 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = gee_hash_set_new (EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL);
#line 2155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	removed_personas = _tmp0_;
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = contacts_ids;
#line 13752 "edsf-persona-store.c"
	{
		GList* contact_id_collection = NULL;
		GList* contact_id_it = NULL;
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		contact_id_collection = _tmp1_;
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		for (contact_id_it = contact_id_collection; contact_id_it != NULL; contact_id_it = contact_id_it->next) {
#line 13760 "edsf-persona-store.c"
			gchar* _tmp2_;
			gchar* contact_id = NULL;
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp2_ = g_strdup ((const gchar*) contact_id_it->data);
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			contact_id = _tmp2_;
#line 13767 "edsf-persona-store.c"
			{
				const gchar* _tmp3_;
				const gchar* _tmp4_;
				const gchar* _tmp5_;
				gchar* _tmp6_ = NULL;
				gchar* iid;
				GeeHashMap* _tmp7_;
				const gchar* _tmp8_;
				gpointer _tmp9_ = NULL;
				EdsfPersona* persona;
				EdsfPersona* _tmp10_;
#line 2159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp3_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp4_ = _tmp3_;
#line 2159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp5_ = contact_id;
#line 2159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp6_ = edsf_persona_build_iid (_tmp4_, _tmp5_);
#line 2159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				iid = _tmp6_;
#line 2160 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp7_ = self->priv->_personas;
#line 2160 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp8_ = iid;
#line 2160 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp9_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp7_, _tmp8_);
#line 2160 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				persona = (EdsfPersona*) _tmp9_;
#line 2161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_tmp10_ = persona;
#line 2161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				if (_tmp10_ != NULL) {
#line 13801 "edsf-persona-store.c"
					GeeHashSet* _tmp11_;
					EdsfPersona* _tmp12_;
					GeeHashMap* _tmp13_;
					EdsfPersona* _tmp14_;
					const gchar* _tmp15_;
					const gchar* _tmp16_;
					GeeHashSet* _tmp17_;
#line 2163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp11_ = removed_personas;
#line 2163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp12_ = persona;
#line 2163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, EDSF_TYPE_PERSONA, EdsfPersona));
#line 2164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp13_ = self->priv->_personas;
#line 2164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp14_ = persona;
#line 2164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp15_ = folks_persona_get_iid ((FolksPersona*) G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, EDSF_TYPE_PERSONA, EdsfPersona));
#line 2164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp16_ = _tmp15_;
#line 2164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					gee_abstract_map_unset ((GeeAbstractMap*) _tmp13_, _tmp16_, NULL);
#line 2168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp17_ = self->priv->_pending_personas;
#line 2168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					if (_tmp17_ != NULL) {
#line 13829 "edsf-persona-store.c"
						GeeHashSet* _tmp18_;
						EdsfPersona* _tmp19_;
#line 2170 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp18_ = self->priv->_pending_personas;
#line 2170 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						_tmp19_ = persona;
#line 2170 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
						gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, EDSF_TYPE_PERSONA, EdsfPersona));
#line 13838 "edsf-persona-store.c"
					}
				}
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_object_unref0 (persona);
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (iid);
#line 2157 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				_g_free0 (contact_id);
#line 13847 "edsf-persona-store.c"
			}
		}
	}
#line 2175 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp20_ = removed_personas;
#line 2175 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp21_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp20_);
#line 2175 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp22_ = _tmp21_;
#line 2175 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp22_ > 0) {
#line 13859 "edsf-persona-store.c"
		GeeHashSet* _tmp23_;
#line 2177 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp23_ = removed_personas;
#line 2177 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_folks_persona_store_emit_personas_changed ((FolksPersonaStore*) self, NULL, (GeeSet*) _tmp23_, NULL, NULL, FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE);
#line 13865 "edsf-persona-store.c"
	}
#line 2153 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (removed_personas);
#line 13869 "edsf-persona-store.c"
}


static void _edsf_persona_store_contacts_complete_cb (EdsfPersonaStore* self, GError* err) {
	GError* _tmp0_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gboolean _tmp5_;
#line 2181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2187 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = err;
#line 2187 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ != NULL) {
#line 13884 "edsf-persona-store.c"
		GError* _tmp1_;
		const gchar* _tmp2_;
#line 2189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = err;
#line 2189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = _tmp1_->message;
#line 2189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_warning ("edsf-persona-store.vala:2189: Error in address book view query: %s", _tmp2_);
#line 13893 "edsf-persona-store.c"
	}
#line 2192 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2192 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _tmp3_;
#line 2192 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	folks_internal_profiling_point ("initial query complete in " "Edsf.PersonaStore (ID: %s)", _tmp4_, NULL);
#line 2197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = self->priv->_is_quiescent;
#line 2197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp5_ == FALSE) {
#line 13905 "edsf-persona-store.c"
		GError* _tmp6_;
		GeeHashSet* _tmp7_;
#line 2200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = err;
#line 2200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp6_ != NULL) {
#line 2202 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_warning ("edsf-persona-store.vala:2202: %s", "Error is considered unrecoverable. " "Removing persona store.");
#line 2204 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_emit_by_name ((FolksPersonaStore*) self, "removed");
#line 2205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			return;
#line 13918 "edsf-persona-store.c"
		}
#line 2215 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = self->priv->_pending_personas;
#line 2215 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp7_ != NULL) {
#line 13924 "edsf-persona-store.c"
			GeeHashSet* _tmp8_;
#line 2217 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = self->priv->_pending_personas;
#line 2217 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_folks_persona_store_emit_personas_changed ((FolksPersonaStore*) self, (GeeSet*) _tmp8_, NULL, NULL, NULL, FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE);
#line 2218 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (self->priv->_pending_personas);
#line 2218 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			self->priv->_pending_personas = NULL;
#line 13934 "edsf-persona-store.c"
		}
#line 2221 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		self->priv->_is_quiescent = TRUE;
#line 2222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_notify ((GObject*) self, "is-quiescent");
#line 13940 "edsf-persona-store.c"
	}
}


static GError* edsf_persona_store_e_client_error_to_property_error (EdsfPersonaStore* self, const gchar* property_name, GError* error_in) {
	GError* result = NULL;
	GError* _tmp0_;
	GQuark _tmp1_;
	GQuark _tmp2_ = 0U;
	const gchar* _tmp20_ = NULL;
	const gchar* _tmp21_;
	GError* _tmp22_;
	const gchar* _tmp23_;
	GError* _tmp24_;
#line 2228 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 2228 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (property_name != NULL, NULL);
#line 2231 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = error_in;
#line 2231 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _tmp0_->domain;
#line 2231 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = e_book_client_error_quark ();
#line 2231 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp1_ == _tmp2_) {
#line 13967 "edsf-persona-store.c"
		GError* _tmp3_;
		gint _tmp4_;
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = error_in;
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = _tmp3_->code;
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		switch ((EBookClientError) _tmp4_) {
#line 13976 "edsf-persona-store.c"
			default:
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			case E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND:
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			case E_BOOK_CLIENT_ERROR_NO_SUCH_BOOK:
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			case E_BOOK_CLIENT_ERROR_CONTACT_ID_ALREADY_EXISTS:
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			case E_BOOK_CLIENT_ERROR_NO_SUCH_SOURCE:
#line 2233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			case E_BOOK_CLIENT_ERROR_NO_SPACE:
#line 13988 "edsf-persona-store.c"
			{
#line 2243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 13992 "edsf-persona-store.c"
			}
		}
	} else {
		GError* _tmp5_;
		GQuark _tmp6_;
		GQuark _tmp7_ = 0U;
#line 2246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = error_in;
#line 2246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = _tmp5_->domain;
#line 2246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = e_client_error_quark ();
#line 2246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp6_ == _tmp7_) {
#line 14007 "edsf-persona-store.c"
			GError* _tmp8_;
			gint _tmp9_;
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = error_in;
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = _tmp8_->code;
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			switch ((EClientError) _tmp9_) {
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_REPOSITORY_OFFLINE:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_PERMISSION_DENIED:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_NOT_SUPPORTED:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_AUTHENTICATION_REQUIRED:
#line 14024 "edsf-persona-store.c"
				{
					const gchar* _tmp10_ = NULL;
					const gchar* _tmp11_;
					GError* _tmp12_;
					const gchar* _tmp13_;
					GError* _tmp14_;
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp10_ = _ ("Property ‘%s’ is not writeable: %s");
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp11_ = property_name;
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp12_ = error_in;
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp13_ = _tmp12_->message;
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp14_ = g_error_new (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_NOT_WRITEABLE, _tmp10_, _tmp11_, _tmp13_);
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					result = _tmp14_;
#line 2255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					return result;
#line 14045 "edsf-persona-store.c"
				}
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_INVALID_ARG:
#line 14049 "edsf-persona-store.c"
				{
					const gchar* _tmp15_ = NULL;
					const gchar* _tmp16_;
					GError* _tmp17_;
					const gchar* _tmp18_;
					GError* _tmp19_;
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp15_ = _ ("Invalid value for property ‘%s’: %s");
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp16_ = property_name;
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp17_ = error_in;
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp18_ = _tmp17_->message;
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					_tmp19_ = g_error_new (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_INVALID_VALUE, _tmp15_, _tmp16_, _tmp18_);
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					result = _tmp19_;
#line 2264 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					return result;
#line 14070 "edsf-persona-store.c"
				}
				default:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_BUSY:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_DBUS_ERROR:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_OTHER_ERROR:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_COULD_NOT_CANCEL:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_AUTHENTICATION_FAILED:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_TLS_NOT_AVAILABLE:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_OFFLINE_UNAVAILABLE:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_SEARCH_SIZE_LIMIT_EXCEEDED:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_SEARCH_TIME_LIMIT_EXCEEDED:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_INVALID_QUERY:
#line 2248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				case E_CLIENT_ERROR_QUERY_REFUSED:
#line 14097 "edsf-persona-store.c"
				{
#line 2286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
					break;
#line 14101 "edsf-persona-store.c"
				}
			}
		}
	}
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp20_ = _ ("Unknown error setting property ‘%s’: %s");
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp21_ = property_name;
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp22_ = error_in;
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp23_ = _tmp22_->message;
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp24_ = g_error_new (FOLKS_PROPERTY_ERROR, FOLKS_PROPERTY_ERROR_UNKNOWN_ERROR, _tmp20_, _tmp21_, _tmp23_);
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp24_;
#line 2291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14120 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_backend_name_matches (EdsfPersonaStore* self, const gchar* backend_name) {
	gboolean result = FALSE;
	ESource* _tmp0_;
	gboolean _tmp1_ = FALSE;
#line 2298 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 2298 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (backend_name != NULL, FALSE);
#line 2300 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source;
#line 2300 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = e_source_has_extension (_tmp0_, E_SOURCE_EXTENSION_ADDRESS_BOOK);
#line 2300 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp1_) {
#line 14138 "edsf-persona-store.c"
		ESource* _tmp2_;
		ESourceExtension* _tmp3_ = NULL;
		ESourceAddressBook* extension;
		ESourceAddressBook* _tmp4_;
		const gchar* _tmp5_ = NULL;
		const gchar* _tmp6_;
#line 2302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = self->priv->_source;
#line 2302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = e_source_get_extension (_tmp2_, E_SOURCE_EXTENSION_ADDRESS_BOOK);
#line 2302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		extension = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, e_source_address_book_get_type (), ESourceAddressBook);
#line 2305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = extension;
#line 2305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = e_source_backend_get_backend_name ((ESourceBackend*) _tmp4_);
#line 2305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = backend_name;
#line 2305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		result = g_strcmp0 (_tmp5_, _tmp6_) == 0;
#line 2305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return result;
#line 14161 "edsf-persona-store.c"
	}
#line 2308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = FALSE;
#line 2308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14167 "edsf-persona-store.c"
}


gboolean _edsf_persona_store_is_google_contacts_address_book (EdsfPersonaStore* self) {
	gboolean result = FALSE;
	ESourceRegistry* _tmp0_;
	gboolean _tmp1_ = FALSE;
#line 2313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 2316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source_registry;
#line 2316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_vala_assert (_tmp0_ != NULL, "this._source_registry != null");
#line 2319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _edsf_persona_store_backend_name_matches (self, "google");
#line 2319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp1_;
#line 2319 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14187 "edsf-persona-store.c"
}


static gboolean _edsf_persona_store_is_in_source_registry (EdsfPersonaStore* self) {
	gboolean result = FALSE;
	ESourceRegistry* _tmp0_;
	ESourceRegistry* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	ESource* _tmp4_ = NULL;
	ESource* needle;
	gboolean _tmp5_ = FALSE;
	ESource* _tmp6_;
	gboolean _tmp9_;
#line 2322 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 2326 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source_registry;
#line 2326 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_vala_assert (_tmp0_ != NULL, "this._source_registry != null");
#line 2328 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = self->priv->_source_registry;
#line 2328 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = folks_persona_store_get_id ((FolksPersonaStore*) self);
#line 2328 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = _tmp2_;
#line 2328 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = e_source_registry_ref_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, e_source_registry_get_type (), ESourceRegistry), _tmp3_);
#line 2328 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	needle = _tmp4_;
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = needle;
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp6_ != NULL) {
#line 14222 "edsf-persona-store.c"
		ESource* _tmp7_;
		gboolean _tmp8_ = FALSE;
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = needle;
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp8_ = e_source_has_extension (_tmp7_, E_SOURCE_EXTENSION_ADDRESS_BOOK);
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = _tmp8_;
#line 14231 "edsf-persona-store.c"
	} else {
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp5_ = FALSE;
#line 14235 "edsf-persona-store.c"
	}
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp9_ = _tmp5_;
#line 2329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp9_) {
#line 2332 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		result = TRUE;
#line 2332 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (needle);
#line 2332 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return result;
#line 14247 "edsf-persona-store.c"
	}
#line 2335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = FALSE;
#line 2335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (needle);
#line 2335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14255 "edsf-persona-store.c"
}


static void _edsf_persona_store_source_registry_changed_cb (EdsfPersonaStore* self, ESource* list) {
	gboolean _tmp0_ = FALSE;
#line 2341 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2341 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (list != NULL);
#line 2345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = _edsf_persona_store_is_in_source_registry (self);
#line 2345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == FALSE) {
#line 14269 "edsf-persona-store.c"
		GeeHashSet* _tmp1_;
		GeeHashSet* removed_personas;
		GeeHashMap* _tmp2_;
		GeeMapIterator* _tmp3_ = NULL;
		GeeMapIterator* iter;
		GeeHashSet* _tmp10_;
#line 2348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = gee_hash_set_new (EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL);
#line 2348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		removed_personas = _tmp1_;
#line 2349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = self->priv->_personas;
#line 2349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp3_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp2_);
#line 2349 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		iter = _tmp3_;
#line 2351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		while (TRUE) {
#line 14288 "edsf-persona-store.c"
			GeeMapIterator* _tmp4_;
			gboolean _tmp5_ = FALSE;
			GeeHashSet* _tmp6_;
			GeeMapIterator* _tmp7_;
			gpointer _tmp8_ = NULL;
			EdsfPersona* _tmp9_;
#line 2351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp4_ = iter;
#line 2351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = gee_map_iterator_next (_tmp4_);
#line 2351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (!(_tmp5_ == TRUE)) {
#line 2351 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
				break;
#line 14303 "edsf-persona-store.c"
			}
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = removed_personas;
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = iter;
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = gee_map_iterator_get_value (_tmp7_);
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = (EdsfPersona*) _tmp8_;
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, _tmp9_);
#line 2353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (_tmp9_);
#line 14317 "edsf-persona-store.c"
		}
#line 2356 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = removed_personas;
#line 2356 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_folks_persona_store_emit_personas_changed ((FolksPersonaStore*) self, NULL, (GeeSet*) _tmp10_, NULL, NULL, FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE);
#line 2357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_signal_emit_by_name ((FolksPersonaStore*) self, "removed");
#line 2345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (iter);
#line 2345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (removed_personas);
#line 14329 "edsf-persona-store.c"
	}
}


static void _edsf_persona_store_update_trust_level (EdsfPersonaStore* self) {
	ESourceRegistry* _tmp0_;
	EBookClient* _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	EBookClient* _tmp4_;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_;
#line 2369 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source_registry;
#line 2373 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_vala_assert (_tmp0_ != NULL, "this._source_registry != null");
#line 2374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = self->priv->_addressbook;
#line 2374 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_vala_assert (_tmp1_ != NULL, "this._addressbook != null");
#line 2377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _edsf_persona_store_backend_name_matches (self, "ldap");
#line 2377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp2_) {
#line 2379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		folks_persona_store_set_trust_level ((FolksPersonaStore*) self, FOLKS_PERSONA_STORE_TRUST_PARTIAL);
#line 2380 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return;
#line 14360 "edsf-persona-store.c"
	}
#line 2383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = _edsf_persona_store_is_google_contacts_address_book (self);
#line 2383 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp3_) {
#line 2384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		folks_persona_store_set_trust_level ((FolksPersonaStore*) self, FOLKS_PERSONA_STORE_TRUST_FULL);
#line 14368 "edsf-persona-store.c"
	}
#line 2386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = self->priv->_addressbook;
#line 2386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_get ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, e_book_client_get_type (), EBookClient), "readonly", &_tmp5_, NULL);
#line 2386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp6_ = _tmp5_;
#line 2386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp6_) {
#line 2387 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		folks_persona_store_set_trust_level ((FolksPersonaStore*) self, FOLKS_PERSONA_STORE_TRUST_PARTIAL);
#line 14380 "edsf-persona-store.c"
	} else {
#line 2389 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		folks_persona_store_set_trust_level ((FolksPersonaStore*) self, FOLKS_PERSONA_STORE_TRUST_FULL);
#line 14384 "edsf-persona-store.c"
	}
}


static void _edsf_persona_store_source_changed_cb (EdsfPersonaStore* self) {
#line 2392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_notify_if_default (self);
#line 14394 "edsf-persona-store.c"
}


static void _edsf_persona_store_notify_if_default (EdsfPersonaStore* self) {
	gboolean is_default;
	ESourceRegistry* _tmp0_;
#line 2397 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 2399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	is_default = FALSE;
#line 2404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source_registry;
#line 2404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ != NULL) {
#line 14409 "edsf-persona-store.c"
		ESourceRegistry* _tmp1_;
		ESource* _tmp2_ = NULL;
		ESource* default_source;
		gboolean _tmp3_ = FALSE;
		ESource* _tmp4_;
		gboolean _tmp9_;
		gboolean _tmp10_;
		gboolean _tmp11_;
		gboolean _tmp12_;
#line 2406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = self->priv->_source_registry;
#line 2406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = e_source_registry_ref_default_address_book (_tmp1_);
#line 2406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		default_source = _tmp2_;
#line 2407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = default_source;
#line 2407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp4_ != NULL) {
#line 14429 "edsf-persona-store.c"
			ESource* _tmp5_;
			const gchar* _tmp6_ = NULL;
			ESource* _tmp7_;
			const gchar* _tmp8_ = NULL;
#line 2408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = self->priv->_source;
#line 2408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp6_ = e_source_get_uid (_tmp5_);
#line 2408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = default_source;
#line 2408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp8_ = e_source_get_uid (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, e_source_get_type (), ESource));
#line 2408 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = g_strcmp0 (_tmp6_, _tmp8_) == 0;
#line 14444 "edsf-persona-store.c"
		} else {
#line 2407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = FALSE;
#line 14448 "edsf-persona-store.c"
		}
#line 2407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp9_ = _tmp3_;
#line 2407 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp9_) {
#line 2410 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			is_default = TRUE;
#line 14456 "edsf-persona-store.c"
		}
#line 2413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = is_default;
#line 2413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp11_ = folks_persona_store_get_is_user_set_default ((FolksPersonaStore*) self);
#line 2413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp12_ = _tmp11_;
#line 2413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp10_ != _tmp12_) {
#line 14466 "edsf-persona-store.c"
			gboolean _tmp13_;
#line 2415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp13_ = is_default;
#line 2415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			folks_persona_store_set_is_user_set_default ((FolksPersonaStore*) self, _tmp13_);
#line 14472 "edsf-persona-store.c"
		}
#line 2404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_object_unref0 (default_source);
#line 14476 "edsf-persona-store.c"
	}
}


static const gchar* edsf_persona_store_real_get_type_id (FolksPersonaStore* base) {
	const gchar* result;
	EdsfPersonaStore* self;
#line 74 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 74 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = BACKEND_NAME;
#line 74 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14490 "edsf-persona-store.c"
}


static FolksMaybeBool edsf_persona_store_real_get_can_add_personas (FolksPersonaStore* base) {
	FolksMaybeBool result;
	EdsfPersonaStore* self;
	EBookClient* _tmp0_;
	FolksMaybeBool _tmp1_ = 0;
	EBookClient* _tmp2_;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_;
	FolksMaybeBool _tmp5_;
#line 93 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 95 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_addressbook;
#line 95 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == NULL) {
#line 97 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		result = FOLKS_MAYBE_BOOL_FALSE;
#line 97 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return result;
#line 14513 "edsf-persona-store.c"
	}
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = self->priv->_addressbook;
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_get ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, e_book_client_get_type (), EBookClient), "readonly", &_tmp3_, NULL);
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _tmp3_;
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp4_) {
#line 101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = FOLKS_MAYBE_BOOL_FALSE;
#line 14525 "edsf-persona-store.c"
	} else {
#line 101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = FOLKS_MAYBE_BOOL_TRUE;
#line 14529 "edsf-persona-store.c"
	}
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = _tmp1_;
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp5_;
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14537 "edsf-persona-store.c"
}


static FolksMaybeBool edsf_persona_store_real_get_can_alias_personas (FolksPersonaStore* base) {
	FolksMaybeBool result;
	EdsfPersonaStore* self;
#line 114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = FOLKS_MAYBE_BOOL_FALSE;
#line 114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14550 "edsf-persona-store.c"
}


static FolksMaybeBool edsf_persona_store_real_get_can_group_personas (FolksPersonaStore* base) {
	FolksMaybeBool result;
	EdsfPersonaStore* self;
	FolksMaybeBool _tmp0_ = 0;
	gchar** _tmp1_;
	gint _tmp1__length1;
	FolksMaybeBool _tmp2_;
#line 126 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = self->priv->_always_writeable_properties;
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1__length1 = self->priv->_always_writeable_properties_length1;
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_vala_string_array_contains (_tmp1_, _tmp1__length1, "groups")) {
#line 129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = FOLKS_MAYBE_BOOL_TRUE;
#line 14571 "edsf-persona-store.c"
	} else {
#line 129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = FOLKS_MAYBE_BOOL_FALSE;
#line 14575 "edsf-persona-store.c"
	}
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = _tmp0_;
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp2_;
#line 128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14583 "edsf-persona-store.c"
}


static FolksMaybeBool edsf_persona_store_real_get_can_remove_personas (FolksPersonaStore* base) {
	FolksMaybeBool result;
	EdsfPersonaStore* self;
	EBookClient* _tmp0_;
	FolksMaybeBool _tmp1_ = 0;
	EBookClient* _tmp2_;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_;
	FolksMaybeBool _tmp5_;
#line 142 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_addressbook;
#line 144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp0_ == NULL) {
#line 146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		result = FOLKS_MAYBE_BOOL_FALSE;
#line 146 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return result;
#line 14606 "edsf-persona-store.c"
	}
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = self->priv->_addressbook;
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_get ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, e_book_client_get_type (), EBookClient), "readonly", &_tmp3_, NULL);
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = _tmp3_;
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp4_) {
#line 150 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = FOLKS_MAYBE_BOOL_FALSE;
#line 14618 "edsf-persona-store.c"
	} else {
#line 150 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp1_ = FOLKS_MAYBE_BOOL_TRUE;
#line 14622 "edsf-persona-store.c"
	}
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = _tmp1_;
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp5_;
#line 149 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14630 "edsf-persona-store.c"
}


static gboolean edsf_persona_store_real_get_is_prepared (FolksPersonaStore* base) {
	gboolean result;
	EdsfPersonaStore* self;
	gboolean _tmp0_;
#line 163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_is_prepared;
#line 163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp0_;
#line 163 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14646 "edsf-persona-store.c"
}


static gchar** edsf_persona_store_real_get_always_writeable_properties (FolksPersonaStore* base, int* result_length1) {
	gchar** result;
	EdsfPersonaStore* self;
	gboolean _tmp0_ = FALSE;
	EBookClient* _tmp1_;
	gboolean _tmp5_;
	gchar** _tmp8_;
	gint _tmp8__length1;
	gchar** _tmp9_;
	gint _tmp9__length1;
#line 176 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = self->priv->_addressbook;
#line 178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp1_ == NULL) {
#line 178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = TRUE;
#line 14668 "edsf-persona-store.c"
	} else {
		EBookClient* _tmp2_;
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_;
#line 179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp2_ = self->priv->_addressbook;
#line 179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_object_get ((EClient*) G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, e_book_client_get_type (), EBookClient), "readonly", &_tmp3_, NULL);
#line 179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp4_ = _tmp3_;
#line 179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = _tmp4_ == TRUE;
#line 14681 "edsf-persona-store.c"
	}
#line 178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = _tmp0_;
#line 178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_tmp5_) {
#line 14687 "edsf-persona-store.c"
		gchar** _tmp6_;
		gint _tmp6__length1;
		gchar** _tmp7_;
		gint _tmp7__length1;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6_ = edsf_persona_store__always_writeable_properties_empty;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp6__length1 = edsf_persona_store__always_writeable_properties_empty_length1;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7_ = _tmp6_;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp7__length1 = _tmp6__length1;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (result_length1) {
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			*result_length1 = _tmp7__length1;
#line 14704 "edsf-persona-store.c"
		}
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		result = _tmp7_;
#line 181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		return result;
#line 14710 "edsf-persona-store.c"
	}
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp8_ = self->priv->_always_writeable_properties;
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp8__length1 = self->priv->_always_writeable_properties_length1;
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp9_ = _tmp8_;
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp9__length1 = _tmp8__length1;
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (result_length1) {
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		*result_length1 = _tmp9__length1;
#line 14724 "edsf-persona-store.c"
	}
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp9_;
#line 184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14730 "edsf-persona-store.c"
}


static gboolean edsf_persona_store_real_get_is_quiescent (FolksPersonaStore* base) {
	gboolean result;
	EdsfPersonaStore* self;
	gboolean _tmp0_;
#line 197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_is_quiescent;
#line 197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp0_;
#line 197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14746 "edsf-persona-store.c"
}


static GeeMap* edsf_persona_store_real_get_personas (FolksPersonaStore* base) {
	GeeMap* result;
	EdsfPersonaStore* self;
	GeeMap* _tmp0_;
#line 209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = (EdsfPersonaStore*) base;
#line 209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_personas_ro;
#line 209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp0_;
#line 209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14762 "edsf-persona-store.c"
}


ESource* edsf_persona_store_get_source (EdsfPersonaStore* self) {
	ESource* result;
	ESource* _tmp0_;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = self->priv->_source;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	result = _tmp0_;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return result;
#line 14777 "edsf-persona-store.c"
}


static void edsf_persona_store_set_source (EdsfPersonaStore* self, ESource* value) {
	ESource* _tmp0_;
	ESource* _tmp1_;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_return_if_fail (self != NULL);
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = value;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_source);
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_source = _tmp1_;
#line 219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_notify ((GObject *) self, "source");
#line 14796 "edsf-persona-store.c"
}


static void __edsf_persona_store_source_changed_cb_e_source_changed (ESource* _sender, gpointer self) {
#line 272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_edsf_persona_store_source_changed_cb (self);
#line 14803 "edsf-persona-store.c"
}


static GObject * edsf_persona_store_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	EdsfPersonaStore * self;
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	GeeMap* _tmp2_;
	GeeMap* _tmp3_;
	gchar* _tmp4_;
	ESource* _tmp5_;
#line 267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	parent_class = G_OBJECT_CLASS (edsf_persona_store_parent_class);
#line 267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore);
#line 269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, EDSF_TYPE_PERSONA, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
#line 269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_personas);
#line 269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_personas = _tmp0_;
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp1_ = self->priv->_personas;
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp2_ = gee_abstract_map_get_read_only_view ((GeeAbstractMap*) _tmp1_);
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp3_ = _tmp2_;
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_personas_ro);
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_personas_ro = _tmp3_;
#line 271 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp4_ = g_strdup ("(contains \"x-evolution-any-field\" \"\")");
#line 271 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (self->priv->_query_str);
#line 271 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_query_str = _tmp4_;
#line 272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp5_ = self->priv->_source;
#line 272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_signal_connect_object (_tmp5_, "changed", (GCallback) __edsf_persona_store_source_changed_cb_e_source_changed, self, 0);
#line 267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	return obj;
#line 14851 "edsf-persona-store.c"
}


static void edsf_persona_store_class_init (EdsfPersonaStoreClass * klass) {
	gchar** _tmp0_ = NULL;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store_parent_class = g_type_class_peek_parent (klass);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_type_class_add_private (klass, sizeof (EdsfPersonaStorePrivate));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->add_persona_from_details = edsf_persona_store_real_add_persona_from_details;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->add_persona_from_details_finish = edsf_persona_store_real_add_persona_from_details_finish;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->remove_persona = edsf_persona_store_real_remove_persona;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->remove_persona_finish = edsf_persona_store_real_remove_persona_finish;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->prepare = edsf_persona_store_real_prepare;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->prepare_finish = edsf_persona_store_real_prepare_finish;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_type_id = edsf_persona_store_real_get_type_id;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_can_add_personas = edsf_persona_store_real_get_can_add_personas;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_can_alias_personas = edsf_persona_store_real_get_can_alias_personas;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_can_group_personas = edsf_persona_store_real_get_can_group_personas;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_can_remove_personas = edsf_persona_store_real_get_can_remove_personas;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_is_prepared = edsf_persona_store_real_get_is_prepared;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_always_writeable_properties = edsf_persona_store_real_get_always_writeable_properties;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_is_quiescent = edsf_persona_store_real_get_is_quiescent;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	FOLKS_PERSONA_STORE_CLASS (klass)->get_personas = edsf_persona_store_real_get_personas;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_edsf_persona_store_get_property;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_edsf_persona_store_set_property;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	G_OBJECT_CLASS (klass)->constructor = edsf_persona_store_constructor;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	G_OBJECT_CLASS (klass)->finalize = edsf_persona_store_finalize;
#line 14899 "edsf-persona-store.c"
	/**
	   * The type of persona store this is.
	   *
	   * See {@link Folks.PersonaStore.type_id}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_TYPE_ID, g_param_spec_string ("type-id", "type-id", "type-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14909 "edsf-persona-store.c"
	/**
	   * Whether this PersonaStore can add {@link Folks.Persona}s.
	   *
	   * See {@link Folks.PersonaStore.can_add_personas}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_CAN_ADD_PERSONAS, g_param_spec_enum ("can-add-personas", "can-add-personas", "can-add-personas", FOLKS_TYPE_MAYBE_BOOL, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14919 "edsf-persona-store.c"
	/**
	   * Whether this PersonaStore can set the alias of {@link Folks.Persona}s.
	   *
	   * See {@link Folks.PersonaStore.can_alias_personas}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_CAN_ALIAS_PERSONAS, g_param_spec_enum ("can-alias-personas", "can-alias-personas", "can-alias-personas", FOLKS_TYPE_MAYBE_BOOL, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14929 "edsf-persona-store.c"
	/**
	   * Whether this PersonaStore can set the groups of {@link Folks.Persona}s.
	   *
	   * See {@link Folks.PersonaStore.can_group_personas}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_CAN_GROUP_PERSONAS, g_param_spec_enum ("can-group-personas", "can-group-personas", "can-group-personas", FOLKS_TYPE_MAYBE_BOOL, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14939 "edsf-persona-store.c"
	/**
	   * Whether this PersonaStore can remove {@link Folks.Persona}s.
	   *
	   * See {@link Folks.PersonaStore.can_remove_personas}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_CAN_REMOVE_PERSONAS, g_param_spec_enum ("can-remove-personas", "can-remove-personas", "can-remove-personas", FOLKS_TYPE_MAYBE_BOOL, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14949 "edsf-persona-store.c"
	/**
	   * Whether this PersonaStore has been prepared.
	   *
	   * See {@link Folks.PersonaStore.is_prepared}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_IS_PREPARED, g_param_spec_boolean ("is-prepared", "is-prepared", "is-prepared", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14959 "edsf-persona-store.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.2
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_ALWAYS_WRITEABLE_PROPERTIES, g_param_spec_boxed ("always-writeable-properties", "always-writeable-properties", "always-writeable-properties", G_TYPE_STRV, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_IS_QUIESCENT, g_param_spec_boolean ("is-quiescent", "is-quiescent", "is-quiescent", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14969 "edsf-persona-store.c"
	/**
	   * The {@link Persona}s exposed by this PersonaStore.
	   *
	   * See {@link Folks.PersonaStore.personas}.
	   *
	   * @since 0.6.0
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_PERSONAS, g_param_spec_object ("personas", "personas", "personas", GEE_TYPE_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 14979 "edsf-persona-store.c"
	/**
	   * The EDS {@link E.Source} associated with this persona store.
	   *
	   * @since 0.6.6
	   */
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STORE_SOURCE, g_param_spec_object ("source", "source", "source", e_source_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 167 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 167 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store__always_writeable_properties_empty = _tmp0_;
#line 167 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	edsf_persona_store__always_writeable_properties_empty_length1 = 0;
#line 14993 "edsf-persona-store.c"
}


static void edsf_persona_store_instance_init (EdsfPersonaStore * self) {
	gchar** _tmp0_ = NULL;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv = EDSF_PERSONA_STORE_GET_PRIVATE (self);
#line 44 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_static_rec_mutex_init (&self->priv->__lock__personas);
#line 46 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_is_prepared = FALSE;
#line 47 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_prepare_pending = FALSE;
#line 48 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_is_quiescent = FALSE;
#line 49 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_pending_personas = NULL;
#line 50 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_addressbook = NULL;
#line 51 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_ebookview = NULL;
#line 52 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_source_registry = NULL;
#line 166 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 166 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_always_writeable_properties = _tmp0_;
#line 166 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_always_writeable_properties_length1 = 0;
#line 166 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->__always_writeable_properties_size_ = self->priv->_always_writeable_properties_length1;
#line 978 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_error = NULL;
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_callback = NULL;
#line 15029 "edsf-persona-store.c"
}


static void edsf_persona_store_finalize (GObject* obj) {
	EdsfPersonaStore * self;
	GError * _inner_error_ = NULL;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore);
#line 15038 "edsf-persona-store.c"
	{
		EBookClientView* _tmp0_;
		EBookClient* _tmp10_;
		ESourceRegistry* _tmp14_;
#line 279 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp0_ = self->priv->_ebookview;
#line 279 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp0_ != NULL) {
#line 15047 "edsf-persona-store.c"
			EBookClientView* _tmp1_;
			guint _tmp2_ = 0U;
			EBookClientView* _tmp3_;
			guint _tmp4_ = 0U;
			EBookClientView* _tmp5_;
			guint _tmp6_ = 0U;
			EBookClientView* _tmp7_;
			guint _tmp8_ = 0U;
			EBookClientView* _tmp9_;
#line 281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp1_ = self->priv->_ebookview;
#line 281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("objects-added", e_book_client_view_get_type (), &_tmp2_, NULL, FALSE);
#line 281 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, e_book_client_view_get_type (), EBookClientView), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) __edsf_persona_store_contacts_added_cb_e_book_client_view_objects_added, self);
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp3_ = self->priv->_ebookview;
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("objects-removed", e_book_client_view_get_type (), &_tmp4_, NULL, FALSE);
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, e_book_client_view_get_type (), EBookClientView), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) __edsf_persona_store_contacts_removed_cb_e_book_client_view_objects_removed, self);
#line 285 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp5_ = self->priv->_ebookview;
#line 285 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("objects-modified", e_book_client_view_get_type (), &_tmp6_, NULL, FALSE);
#line 285 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, e_book_client_view_get_type (), EBookClientView), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) __edsf_persona_store_contacts_changed_cb_e_book_client_view_objects_modified, self);
#line 287 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp7_ = self->priv->_ebookview;
#line 287 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("complete", e_book_client_view_get_type (), &_tmp8_, NULL, FALSE);
#line 287 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, e_book_client_view_get_type (), EBookClientView), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) __edsf_persona_store_contacts_complete_cb_e_book_client_view_complete, self);
#line 289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp9_ = self->priv->_ebookview;
#line 289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			e_book_client_view_stop (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, e_book_client_view_get_type (), EBookClientView), &_inner_error_);
#line 289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			if (_inner_error_ != NULL) {
#line 15087 "edsf-persona-store.c"
				goto __catch5_g_error;
			}
#line 291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (self->priv->_ebookview);
#line 291 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			self->priv->_ebookview = NULL;
#line 15094 "edsf-persona-store.c"
		}
#line 294 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp10_ = self->priv->_addressbook;
#line 294 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp10_ != NULL) {
#line 15100 "edsf-persona-store.c"
			EBookClient* _tmp11_;
			guint _tmp12_ = 0U;
			GQuark _tmp13_ = 0U;
#line 296 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp11_ = self->priv->_addressbook;
#line 296 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("notify::readonly", G_TYPE_OBJECT, &_tmp12_, &_tmp13_, TRUE);
#line 296 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched ((GObject*) G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, e_book_client_get_type (), EBookClient), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, _tmp13_, NULL, (GCallback) __edsf_persona_store_address_book_notify_read_only_cb_g_object_notify, self);
#line 299 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (self->priv->_addressbook);
#line 299 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			self->priv->_addressbook = NULL;
#line 15114 "edsf-persona-store.c"
		}
#line 302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp14_ = self->priv->_source_registry;
#line 302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		if (_tmp14_ != NULL) {
#line 15120 "edsf-persona-store.c"
			ESourceRegistry* _tmp15_;
			guint _tmp16_ = 0U;
			ESourceRegistry* _tmp17_;
			guint _tmp18_ = 0U;
#line 304 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp15_ = self->priv->_source_registry;
#line 304 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("source-removed", e_source_registry_get_type (), &_tmp16_, NULL, FALSE);
#line 304 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, e_source_registry_get_type (), ESourceRegistry), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_removed, self);
#line 306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_tmp17_ = self->priv->_source_registry;
#line 306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_parse_name ("source-disabled", e_source_registry_get_type (), &_tmp18_, NULL, FALSE);
#line 306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, e_source_registry_get_type (), ESourceRegistry), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) __edsf_persona_store_source_registry_changed_cb_e_source_registry_source_disabled, self);
#line 308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			_g_object_unref0 (self->priv->_source_registry);
#line 308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			self->priv->_source_registry = NULL;
#line 15141 "edsf-persona-store.c"
		}
	}
	goto __finally5;
	__catch5_g_error:
	{
		GError* e = NULL;
		GError* _tmp19_;
		const gchar* _tmp20_;
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		e = _inner_error_;
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_inner_error_ = NULL;
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp19_ = e;
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_tmp20_ = _tmp19_->message;
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_warning ("edsf-persona-store.vala:313: ~PersonaStore: %s\n", _tmp20_);
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		_g_error_free0 (e);
#line 15162 "edsf-persona-store.c"
	}
	__finally5:
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	if (_inner_error_ != NULL) {
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 277 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_clear_error (&_inner_error_);
#line 15171 "edsf-persona-store.c"
	}
#line 44 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	g_static_rec_mutex_free (&self->priv->__lock__personas);
#line 44 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_personas);
#line 45 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_personas_ro);
#line 49 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_pending_personas);
#line 50 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_addressbook);
#line 51 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_ebookview);
#line 52 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_source_registry);
#line 53 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_free0 (self->priv->_query_str);
#line 166 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_always_writeable_properties = (_vala_array_free (self->priv->_always_writeable_properties, self->priv->_always_writeable_properties_length1, (GDestroyNotify) g_free), NULL);
#line 217 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_object_unref0 (self->priv->_source);
#line 978 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	_g_error_free0 (self->priv->_open_address_book_error);
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	(self->priv->_open_address_book_callback_target_destroy_notify == NULL) ? NULL : (self->priv->_open_address_book_callback_target_destroy_notify (self->priv->_open_address_book_callback_target), NULL);
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_callback = NULL;
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_callback_target = NULL;
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	self->priv->_open_address_book_callback_target_destroy_notify = NULL;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	G_OBJECT_CLASS (edsf_persona_store_parent_class)->finalize (obj);
#line 15205 "edsf-persona-store.c"
}


/**
 * A persona store representing a single EDS address book.
 *
 * The persona store will contain {@link Edsf.Persona}s for each contact in the
 * address book it represents.
 */
GType edsf_persona_store_get_type (void) {
	static volatile gsize edsf_persona_store_type_id__volatile = 0;
	if (g_once_init_enter (&edsf_persona_store_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EdsfPersonaStoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edsf_persona_store_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EdsfPersonaStore), 0, (GInstanceInitFunc) edsf_persona_store_instance_init, NULL };
		GType edsf_persona_store_type_id;
		edsf_persona_store_type_id = g_type_register_static (FOLKS_TYPE_PERSONA_STORE, "EdsfPersonaStore", &g_define_type_info, 0);
		g_once_init_leave (&edsf_persona_store_type_id__volatile, edsf_persona_store_type_id);
	}
	return edsf_persona_store_type_id__volatile;
}


static void _vala_edsf_persona_store_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	EdsfPersonaStore * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (property_id) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_TYPE_ID:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_string (value, folks_persona_store_get_type_id ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_CAN_ADD_PERSONAS:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_enum (value, folks_persona_store_get_can_add_personas ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_CAN_ALIAS_PERSONAS:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_enum (value, folks_persona_store_get_can_alias_personas ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_CAN_GROUP_PERSONAS:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_enum (value, folks_persona_store_get_can_group_personas ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_CAN_REMOVE_PERSONAS:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_enum (value, folks_persona_store_get_can_remove_personas ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_IS_PREPARED:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_boolean (value, folks_persona_store_get_is_prepared ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_ALWAYS_WRITEABLE_PROPERTIES:
#line 15270 "edsf-persona-store.c"
		{
			int length;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
			g_value_set_boxed (value, folks_persona_store_get_always_writeable_properties ((FolksPersonaStore*) self, &length));
#line 15275 "edsf-persona-store.c"
		}
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_IS_QUIESCENT:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_boolean (value, folks_persona_store_get_is_quiescent ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_PERSONAS:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_object (value, folks_persona_store_get_personas ((FolksPersonaStore*) self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_SOURCE:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		g_value_set_object (value, edsf_persona_store_get_source (self));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 15297 "edsf-persona-store.c"
		default:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 15303 "edsf-persona-store.c"
	}
}


static void _vala_edsf_persona_store_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	EdsfPersonaStore * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
	switch (property_id) {
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		case EDSF_PERSONA_STORE_SOURCE:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		edsf_persona_store_set_source (self, g_value_get_object (value));
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 15319 "edsf-persona-store.c"
		default:
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 42 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona-store.vala"
		break;
#line 15325 "edsf-persona-store.c"
	}
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



