/* StickerSet.c generated by valac 0.56.19, the Vala compiler
 * generated from StickerSet.vala, do not modify */

/* This is a generated file.  Do not edit. */

#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
#include <stdio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gobject/gvaluecollector.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define TYPE_STICKER_SET (sticker_set_get_type ())
#define STICKER_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STICKER_SET, StickerSet))
#define STICKER_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STICKER_SET, StickerSetClass))
#define IS_STICKER_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STICKER_SET))
#define IS_STICKER_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STICKER_SET))
#define STICKER_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STICKER_SET, StickerSetClass))

typedef struct _StickerSet StickerSet;
typedef struct _StickerSetClass StickerSetClass;
typedef struct _StickerSetPrivate StickerSetPrivate;

#define STICKER_SET_TYPE_STICKER_INFO (sticker_set_sticker_info_get_type ())
#define STICKER_SET_STICKER_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STICKER_SET_TYPE_STICKER_INFO, StickerSetStickerInfo))
#define STICKER_SET_STICKER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STICKER_SET_TYPE_STICKER_INFO, StickerSetStickerInfoClass))
#define STICKER_SET_IS_STICKER_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STICKER_SET_TYPE_STICKER_INFO))
#define STICKER_SET_IS_STICKER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STICKER_SET_TYPE_STICKER_INFO))
#define STICKER_SET_STICKER_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STICKER_SET_TYPE_STICKER_INFO, StickerSetStickerInfoClass))

typedef struct _StickerSetStickerInfo StickerSetStickerInfo;
typedef struct _StickerSetStickerInfoClass StickerSetStickerInfoClass;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_array_unref0(var) ((var == NULL) ? NULL : (var = (g_array_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_dir_close0(var) ((var == NULL) ? NULL : (var = (g_dir_close (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL)))
#define _sticker_set_sticker_info_unref0(var) ((var == NULL) ? NULL : (var = (sticker_set_sticker_info_unref (var), NULL)))
#define __vala_GdkPixbufFormat_free0(var) ((var == NULL) ? NULL : (var = (_vala_GdkPixbufFormat_free (var), NULL)))
typedef struct _StickerSetStickerInfoPrivate StickerSetStickerInfoPrivate;
typedef struct _StickerSetParamSpecStickerInfo StickerSetParamSpecStickerInfo;
typedef struct _ParamSpecStickerSet ParamSpecStickerSet;

struct _StickerSet {
	GTypeInstance parent_instance;
	volatile int ref_count;
	StickerSetPrivate * priv;
};

struct _StickerSetClass {
	GTypeClass parent_class;
	void (*finalize) (StickerSet *self);
};

struct _StickerSetPrivate {
	GRegex* _title_re;
	GArray* categories;
	GeeHashMap* category_icons;
};

struct _StickerSetStickerInfo {
	GTypeInstance parent_instance;
	volatile int ref_count;
	StickerSetStickerInfoPrivate * priv;
};

struct _StickerSetStickerInfoClass {
	GTypeClass parent_class;
	void (*finalize) (StickerSetStickerInfo *self);
};

struct _StickerSetStickerInfoPrivate {
	gchar* _resource;
	gchar* _tooltip;
};

struct _StickerSetParamSpecStickerInfo {
	GParamSpec parent_instance;
};

struct _ParamSpecStickerSet {
	GParamSpec parent_instance;
};

static gint StickerSet_private_offset;
static gpointer sticker_set_parent_class = NULL;
static gint StickerSetStickerInfo_private_offset;
static gpointer sticker_set_sticker_info_parent_class = NULL;

VALA_EXTERN gpointer sticker_set_ref (gpointer instance);
VALA_EXTERN void sticker_set_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_sticker_set (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_sticker_set (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_sticker_set (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_sticker_set (const GValue* value);
VALA_EXTERN GType sticker_set_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (StickerSet, sticker_set_unref)
VALA_EXTERN gpointer sticker_set_sticker_info_ref (gpointer instance);
VALA_EXTERN void sticker_set_sticker_info_unref (gpointer instance);
VALA_EXTERN GParamSpec* sticker_set_param_spec_sticker_info (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void sticker_set_value_set_sticker_info (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void sticker_set_value_take_sticker_info (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer sticker_set_value_get_sticker_info (const GValue* value);
VALA_EXTERN GType sticker_set_sticker_info_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (StickerSetStickerInfo, sticker_set_sticker_info_unref)
VALA_EXTERN StickerSet* sticker_set_new (void);
VALA_EXTERN StickerSet* sticker_set_construct (GType object_type);
static void _g_free0_ (gpointer var);
static void _vala_gchar_free_function_content_of (gpointer data);
static void _sticker_set_sticker_info_unref0_ (gpointer var);
static void _vala_StickerSetStickerInfo_free_function_content_of (gpointer data);
VALA_EXTERN StickerSetStickerInfo* sticker_set_sticker_info_new (const gchar* resource,
                                                     const gchar* tooltip);
VALA_EXTERN StickerSetStickerInfo* sticker_set_sticker_info_construct (GType object_type,
                                                           const gchar* resource,
                                                           const gchar* tooltip);
static gboolean sticker_set_create_custom_dir (StickerSet* self);
VALA_EXTERN gboolean sticker_set_load_from_filesystem (StickerSet* self,
                                           const gchar* base_dir,
                                           gboolean import);
VALA_EXTERN gchar* sticker_set_sticker_dir (StickerSet* self);
VALA_EXTERN gboolean utils_create_dir (const gchar* path);
VALA_EXTERN GArray* sticker_set_get_categories (StickerSet* self);
VALA_EXTERN GArray* sticker_set_get_category_icons (StickerSet* self,
                                        const gchar* category);
VALA_EXTERN gboolean sticker_set_get_icon_info (StickerSet* self,
                                    const gchar* resource,
                                    gchar** tooltip);
VALA_EXTERN const gchar* sticker_set_sticker_info_get_resource (StickerSetStickerInfo* self);
VALA_EXTERN const gchar* sticker_set_sticker_info_get_tooltip (StickerSetStickerInfo* self);
VALA_EXTERN gboolean sticker_set_load_sticker (StickerSet* self,
                                   const gchar* category,
                                   const gchar* name,
                                   const gchar* sticker_file,
                                   gboolean import);
static gchar* sticker_set_make_label (StickerSet* self,
                               const gchar* category);
static GdkPixbufFormat* _vala_GdkPixbufFormat_copy (GdkPixbufFormat* self);
static gboolean sticker_set_import_sticker (StickerSet* self,
                                     const gchar* category,
                                     const gchar* file);
static void _vala_GdkPixbufFormat_free (GdkPixbufFormat* self);
VALA_EXTERN gboolean sticker_set_remove_sticker (StickerSet* self,
                                     const gchar* name);
VALA_EXTERN GdkPixbuf* sticker_set_make_pixbuf (const gchar* resource,
                                    gint width);
VALA_EXTERN void sticker_set_sticker_info_set_resource (StickerSetStickerInfo* self,
                                            const gchar* value);
VALA_EXTERN void sticker_set_sticker_info_set_tooltip (StickerSetStickerInfo* self,
                                           const gchar* value);
static void sticker_set_sticker_info_finalize (StickerSetStickerInfo * obj);
static GType sticker_set_sticker_info_get_type_once (void);
static void sticker_set_finalize (StickerSet * obj);
static GType sticker_set_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static gssize _vala_array_length (gpointer array);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
sticker_set_get_instance_private (StickerSet* self)
{
	return G_STRUCT_MEMBER_P (self, StickerSet_private_offset);
}

static void
_g_free0_ (gpointer var)
{
	var = (g_free (var), NULL);
}

static void
_vala_gchar_free_function_content_of (gpointer data)
{
	gchar* self;
	self = *((gchar**) data);
	_g_free0_ (self);
}

static void
_sticker_set_sticker_info_unref0_ (gpointer var)
{
	(var == NULL) ? NULL : (var = (sticker_set_sticker_info_unref (var), NULL));
}

static void
_vala_StickerSetStickerInfo_free_function_content_of (gpointer data)
{
	StickerSetStickerInfo* self;
	self = *((StickerSetStickerInfo**) data);
	_sticker_set_sticker_info_unref0_ (self);
}

StickerSet*
sticker_set_construct (GType object_type)
{
	StickerSet* self = NULL;
	GArray* _tmp0_;
	GeeHashMap* _tmp1_;
	GArray* _tmp2_;
	gchar* _tmp3_;
	GArray* _tmp4_;
	gchar* _tmp5_;
	GArray* _tmp6_;
	gchar* _tmp7_;
	GArray* _tmp8_;
	gchar* _tmp9_;
	GArray* _tmp10_;
	gchar* _tmp11_;
	GArray* _tmp12_;
	gchar* _tmp13_;
	GArray* _tmp14_;
	gchar* _tmp15_;
	GArray* array0 = NULL;
	GArray* _tmp16_;
	StickerSetStickerInfo* _tmp17_;
	StickerSetStickerInfo* _tmp18_;
	StickerSetStickerInfo* _tmp19_;
	StickerSetStickerInfo* _tmp20_;
	StickerSetStickerInfo* _tmp21_;
	StickerSetStickerInfo* _tmp22_;
	StickerSetStickerInfo* _tmp23_;
	StickerSetStickerInfo* _tmp24_;
	StickerSetStickerInfo* _tmp25_;
	StickerSetStickerInfo* _tmp26_;
	StickerSetStickerInfo* _tmp27_;
	StickerSetStickerInfo* _tmp28_;
	StickerSetStickerInfo* _tmp29_;
	StickerSetStickerInfo* _tmp30_;
	StickerSetStickerInfo* _tmp31_;
	StickerSetStickerInfo* _tmp32_;
	StickerSetStickerInfo* _tmp33_;
	StickerSetStickerInfo* _tmp34_;
	StickerSetStickerInfo* _tmp35_;
	StickerSetStickerInfo* _tmp36_;
	StickerSetStickerInfo* _tmp37_;
	StickerSetStickerInfo* _tmp38_;
	StickerSetStickerInfo* _tmp39_;
	StickerSetStickerInfo* _tmp40_;
	StickerSetStickerInfo* _tmp41_;
	StickerSetStickerInfo* _tmp42_;
	StickerSetStickerInfo* _tmp43_;
	StickerSetStickerInfo* _tmp44_;
	StickerSetStickerInfo* _tmp45_;
	StickerSetStickerInfo* _tmp46_;
	StickerSetStickerInfo* _tmp47_;
	StickerSetStickerInfo* _tmp48_;
	StickerSetStickerInfo* _tmp49_;
	StickerSetStickerInfo* _tmp50_;
	StickerSetStickerInfo* _tmp51_;
	GeeHashMap* _tmp52_;
	GArray* array1 = NULL;
	GArray* _tmp53_;
	StickerSetStickerInfo* _tmp54_;
	StickerSetStickerInfo* _tmp55_;
	StickerSetStickerInfo* _tmp56_;
	StickerSetStickerInfo* _tmp57_;
	StickerSetStickerInfo* _tmp58_;
	StickerSetStickerInfo* _tmp59_;
	StickerSetStickerInfo* _tmp60_;
	StickerSetStickerInfo* _tmp61_;
	StickerSetStickerInfo* _tmp62_;
	StickerSetStickerInfo* _tmp63_;
	StickerSetStickerInfo* _tmp64_;
	StickerSetStickerInfo* _tmp65_;
	StickerSetStickerInfo* _tmp66_;
	StickerSetStickerInfo* _tmp67_;
	StickerSetStickerInfo* _tmp68_;
	StickerSetStickerInfo* _tmp69_;
	StickerSetStickerInfo* _tmp70_;
	StickerSetStickerInfo* _tmp71_;
	StickerSetStickerInfo* _tmp72_;
	StickerSetStickerInfo* _tmp73_;
	StickerSetStickerInfo* _tmp74_;
	StickerSetStickerInfo* _tmp75_;
	StickerSetStickerInfo* _tmp76_;
	StickerSetStickerInfo* _tmp77_;
	StickerSetStickerInfo* _tmp78_;
	StickerSetStickerInfo* _tmp79_;
	StickerSetStickerInfo* _tmp80_;
	StickerSetStickerInfo* _tmp81_;
	StickerSetStickerInfo* _tmp82_;
	StickerSetStickerInfo* _tmp83_;
	StickerSetStickerInfo* _tmp84_;
	StickerSetStickerInfo* _tmp85_;
	StickerSetStickerInfo* _tmp86_;
	StickerSetStickerInfo* _tmp87_;
	StickerSetStickerInfo* _tmp88_;
	StickerSetStickerInfo* _tmp89_;
	StickerSetStickerInfo* _tmp90_;
	StickerSetStickerInfo* _tmp91_;
	StickerSetStickerInfo* _tmp92_;
	StickerSetStickerInfo* _tmp93_;
	StickerSetStickerInfo* _tmp94_;
	StickerSetStickerInfo* _tmp95_;
	StickerSetStickerInfo* _tmp96_;
	StickerSetStickerInfo* _tmp97_;
	StickerSetStickerInfo* _tmp98_;
	StickerSetStickerInfo* _tmp99_;
	StickerSetStickerInfo* _tmp100_;
	StickerSetStickerInfo* _tmp101_;
	StickerSetStickerInfo* _tmp102_;
	StickerSetStickerInfo* _tmp103_;
	StickerSetStickerInfo* _tmp104_;
	StickerSetStickerInfo* _tmp105_;
	StickerSetStickerInfo* _tmp106_;
	StickerSetStickerInfo* _tmp107_;
	StickerSetStickerInfo* _tmp108_;
	StickerSetStickerInfo* _tmp109_;
	GeeHashMap* _tmp110_;
	GArray* array2 = NULL;
	GArray* _tmp111_;
	StickerSetStickerInfo* _tmp112_;
	StickerSetStickerInfo* _tmp113_;
	StickerSetStickerInfo* _tmp114_;
	StickerSetStickerInfo* _tmp115_;
	StickerSetStickerInfo* _tmp116_;
	StickerSetStickerInfo* _tmp117_;
	StickerSetStickerInfo* _tmp118_;
	StickerSetStickerInfo* _tmp119_;
	StickerSetStickerInfo* _tmp120_;
	StickerSetStickerInfo* _tmp121_;
	StickerSetStickerInfo* _tmp122_;
	StickerSetStickerInfo* _tmp123_;
	StickerSetStickerInfo* _tmp124_;
	StickerSetStickerInfo* _tmp125_;
	StickerSetStickerInfo* _tmp126_;
	StickerSetStickerInfo* _tmp127_;
	StickerSetStickerInfo* _tmp128_;
	StickerSetStickerInfo* _tmp129_;
	StickerSetStickerInfo* _tmp130_;
	StickerSetStickerInfo* _tmp131_;
	StickerSetStickerInfo* _tmp132_;
	StickerSetStickerInfo* _tmp133_;
	StickerSetStickerInfo* _tmp134_;
	StickerSetStickerInfo* _tmp135_;
	StickerSetStickerInfo* _tmp136_;
	StickerSetStickerInfo* _tmp137_;
	StickerSetStickerInfo* _tmp138_;
	StickerSetStickerInfo* _tmp139_;
	StickerSetStickerInfo* _tmp140_;
	StickerSetStickerInfo* _tmp141_;
	StickerSetStickerInfo* _tmp142_;
	StickerSetStickerInfo* _tmp143_;
	StickerSetStickerInfo* _tmp144_;
	StickerSetStickerInfo* _tmp145_;
	StickerSetStickerInfo* _tmp146_;
	StickerSetStickerInfo* _tmp147_;
	StickerSetStickerInfo* _tmp148_;
	StickerSetStickerInfo* _tmp149_;
	StickerSetStickerInfo* _tmp150_;
	StickerSetStickerInfo* _tmp151_;
	StickerSetStickerInfo* _tmp152_;
	StickerSetStickerInfo* _tmp153_;
	StickerSetStickerInfo* _tmp154_;
	StickerSetStickerInfo* _tmp155_;
	StickerSetStickerInfo* _tmp156_;
	StickerSetStickerInfo* _tmp157_;
	StickerSetStickerInfo* _tmp158_;
	StickerSetStickerInfo* _tmp159_;
	StickerSetStickerInfo* _tmp160_;
	StickerSetStickerInfo* _tmp161_;
	StickerSetStickerInfo* _tmp162_;
	StickerSetStickerInfo* _tmp163_;
	StickerSetStickerInfo* _tmp164_;
	StickerSetStickerInfo* _tmp165_;
	StickerSetStickerInfo* _tmp166_;
	StickerSetStickerInfo* _tmp167_;
	StickerSetStickerInfo* _tmp168_;
	StickerSetStickerInfo* _tmp169_;
	StickerSetStickerInfo* _tmp170_;
	StickerSetStickerInfo* _tmp171_;
	StickerSetStickerInfo* _tmp172_;
	StickerSetStickerInfo* _tmp173_;
	StickerSetStickerInfo* _tmp174_;
	StickerSetStickerInfo* _tmp175_;
	StickerSetStickerInfo* _tmp176_;
	StickerSetStickerInfo* _tmp177_;
	StickerSetStickerInfo* _tmp178_;
	StickerSetStickerInfo* _tmp179_;
	StickerSetStickerInfo* _tmp180_;
	StickerSetStickerInfo* _tmp181_;
	StickerSetStickerInfo* _tmp182_;
	StickerSetStickerInfo* _tmp183_;
	StickerSetStickerInfo* _tmp184_;
	StickerSetStickerInfo* _tmp185_;
	StickerSetStickerInfo* _tmp186_;
	StickerSetStickerInfo* _tmp187_;
	StickerSetStickerInfo* _tmp188_;
	StickerSetStickerInfo* _tmp189_;
	StickerSetStickerInfo* _tmp190_;
	StickerSetStickerInfo* _tmp191_;
	StickerSetStickerInfo* _tmp192_;
	StickerSetStickerInfo* _tmp193_;
	StickerSetStickerInfo* _tmp194_;
	StickerSetStickerInfo* _tmp195_;
	StickerSetStickerInfo* _tmp196_;
	StickerSetStickerInfo* _tmp197_;
	StickerSetStickerInfo* _tmp198_;
	StickerSetStickerInfo* _tmp199_;
	StickerSetStickerInfo* _tmp200_;
	StickerSetStickerInfo* _tmp201_;
	StickerSetStickerInfo* _tmp202_;
	StickerSetStickerInfo* _tmp203_;
	StickerSetStickerInfo* _tmp204_;
	GeeHashMap* _tmp205_;
	GArray* array3 = NULL;
	GArray* _tmp206_;
	StickerSetStickerInfo* _tmp207_;
	StickerSetStickerInfo* _tmp208_;
	StickerSetStickerInfo* _tmp209_;
	StickerSetStickerInfo* _tmp210_;
	StickerSetStickerInfo* _tmp211_;
	StickerSetStickerInfo* _tmp212_;
	StickerSetStickerInfo* _tmp213_;
	StickerSetStickerInfo* _tmp214_;
	StickerSetStickerInfo* _tmp215_;
	StickerSetStickerInfo* _tmp216_;
	StickerSetStickerInfo* _tmp217_;
	StickerSetStickerInfo* _tmp218_;
	StickerSetStickerInfo* _tmp219_;
	StickerSetStickerInfo* _tmp220_;
	StickerSetStickerInfo* _tmp221_;
	StickerSetStickerInfo* _tmp222_;
	StickerSetStickerInfo* _tmp223_;
	StickerSetStickerInfo* _tmp224_;
	StickerSetStickerInfo* _tmp225_;
	StickerSetStickerInfo* _tmp226_;
	StickerSetStickerInfo* _tmp227_;
	StickerSetStickerInfo* _tmp228_;
	StickerSetStickerInfo* _tmp229_;
	StickerSetStickerInfo* _tmp230_;
	StickerSetStickerInfo* _tmp231_;
	GeeHashMap* _tmp232_;
	GArray* array4 = NULL;
	GArray* _tmp233_;
	StickerSetStickerInfo* _tmp234_;
	StickerSetStickerInfo* _tmp235_;
	StickerSetStickerInfo* _tmp236_;
	StickerSetStickerInfo* _tmp237_;
	StickerSetStickerInfo* _tmp238_;
	StickerSetStickerInfo* _tmp239_;
	StickerSetStickerInfo* _tmp240_;
	StickerSetStickerInfo* _tmp241_;
	StickerSetStickerInfo* _tmp242_;
	StickerSetStickerInfo* _tmp243_;
	StickerSetStickerInfo* _tmp244_;
	StickerSetStickerInfo* _tmp245_;
	StickerSetStickerInfo* _tmp246_;
	StickerSetStickerInfo* _tmp247_;
	StickerSetStickerInfo* _tmp248_;
	StickerSetStickerInfo* _tmp249_;
	StickerSetStickerInfo* _tmp250_;
	StickerSetStickerInfo* _tmp251_;
	StickerSetStickerInfo* _tmp252_;
	StickerSetStickerInfo* _tmp253_;
	StickerSetStickerInfo* _tmp254_;
	StickerSetStickerInfo* _tmp255_;
	StickerSetStickerInfo* _tmp256_;
	StickerSetStickerInfo* _tmp257_;
	StickerSetStickerInfo* _tmp258_;
	StickerSetStickerInfo* _tmp259_;
	StickerSetStickerInfo* _tmp260_;
	StickerSetStickerInfo* _tmp261_;
	StickerSetStickerInfo* _tmp262_;
	StickerSetStickerInfo* _tmp263_;
	StickerSetStickerInfo* _tmp264_;
	StickerSetStickerInfo* _tmp265_;
	StickerSetStickerInfo* _tmp266_;
	StickerSetStickerInfo* _tmp267_;
	StickerSetStickerInfo* _tmp268_;
	GeeHashMap* _tmp269_;
	GArray* array5 = NULL;
	GArray* _tmp270_;
	StickerSetStickerInfo* _tmp271_;
	StickerSetStickerInfo* _tmp272_;
	StickerSetStickerInfo* _tmp273_;
	StickerSetStickerInfo* _tmp274_;
	StickerSetStickerInfo* _tmp275_;
	StickerSetStickerInfo* _tmp276_;
	StickerSetStickerInfo* _tmp277_;
	StickerSetStickerInfo* _tmp278_;
	StickerSetStickerInfo* _tmp279_;
	StickerSetStickerInfo* _tmp280_;
	StickerSetStickerInfo* _tmp281_;
	StickerSetStickerInfo* _tmp282_;
	StickerSetStickerInfo* _tmp283_;
	StickerSetStickerInfo* _tmp284_;
	StickerSetStickerInfo* _tmp285_;
	StickerSetStickerInfo* _tmp286_;
	StickerSetStickerInfo* _tmp287_;
	StickerSetStickerInfo* _tmp288_;
	StickerSetStickerInfo* _tmp289_;
	StickerSetStickerInfo* _tmp290_;
	StickerSetStickerInfo* _tmp291_;
	StickerSetStickerInfo* _tmp292_;
	GeeHashMap* _tmp293_;
	GArray* array6 = NULL;
	GArray* _tmp294_;
	StickerSetStickerInfo* _tmp295_;
	StickerSetStickerInfo* _tmp296_;
	StickerSetStickerInfo* _tmp297_;
	StickerSetStickerInfo* _tmp298_;
	StickerSetStickerInfo* _tmp299_;
	StickerSetStickerInfo* _tmp300_;
	StickerSetStickerInfo* _tmp301_;
	StickerSetStickerInfo* _tmp302_;
	StickerSetStickerInfo* _tmp303_;
	StickerSetStickerInfo* _tmp304_;
	StickerSetStickerInfo* _tmp305_;
	StickerSetStickerInfo* _tmp306_;
	StickerSetStickerInfo* _tmp307_;
	StickerSetStickerInfo* _tmp308_;
	StickerSetStickerInfo* _tmp309_;
	StickerSetStickerInfo* _tmp310_;
	StickerSetStickerInfo* _tmp311_;
	StickerSetStickerInfo* _tmp312_;
	StickerSetStickerInfo* _tmp313_;
	StickerSetStickerInfo* _tmp314_;
	StickerSetStickerInfo* _tmp315_;
	StickerSetStickerInfo* _tmp316_;
	StickerSetStickerInfo* _tmp317_;
	StickerSetStickerInfo* _tmp318_;
	StickerSetStickerInfo* _tmp319_;
	StickerSetStickerInfo* _tmp320_;
	StickerSetStickerInfo* _tmp321_;
	StickerSetStickerInfo* _tmp322_;
	StickerSetStickerInfo* _tmp323_;
	StickerSetStickerInfo* _tmp324_;
	StickerSetStickerInfo* _tmp325_;
	StickerSetStickerInfo* _tmp326_;
	StickerSetStickerInfo* _tmp327_;
	StickerSetStickerInfo* _tmp328_;
	StickerSetStickerInfo* _tmp329_;
	StickerSetStickerInfo* _tmp330_;
	StickerSetStickerInfo* _tmp331_;
	StickerSetStickerInfo* _tmp332_;
	StickerSetStickerInfo* _tmp333_;
	StickerSetStickerInfo* _tmp334_;
	StickerSetStickerInfo* _tmp335_;
	StickerSetStickerInfo* _tmp336_;
	StickerSetStickerInfo* _tmp337_;
	StickerSetStickerInfo* _tmp338_;
	StickerSetStickerInfo* _tmp339_;
	StickerSetStickerInfo* _tmp340_;
	GeeHashMap* _tmp341_;
	GError* _inner_error0_ = NULL;
	self = (StickerSet*) g_type_create_instance (object_type);
	_tmp0_ = g_array_new (TRUE, TRUE, sizeof (gchar*));
	g_array_set_clear_func (_tmp0_, (GDestroyNotify) _vala_gchar_free_function_content_of);
	_g_array_unref0 (self->priv->categories);
	self->priv->categories = _tmp0_;
	_tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_ARRAY, (GBoxedCopyFunc) g_array_ref, (GDestroyNotify) g_array_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	_g_object_unref0 (self->priv->category_icons);
	self->priv->category_icons = _tmp1_;
	_tmp2_ = self->priv->categories;
	_tmp3_ = g_strdup (_ ("Photo and Video"));
	g_array_append_val (_tmp2_, _tmp3_);
	_tmp4_ = self->priv->categories;
	_tmp5_ = g_strdup (_ ("Very Basic"));
	g_array_append_val (_tmp4_, _tmp5_);
	_tmp6_ = self->priv->categories;
	_tmp7_ = g_strdup (_ ("Business"));
	g_array_append_val (_tmp6_, _tmp7_);
	_tmp8_ = self->priv->categories;
	_tmp9_ = g_strdup (_ ("Industry"));
	g_array_append_val (_tmp8_, _tmp9_);
	_tmp10_ = self->priv->categories;
	_tmp11_ = g_strdup (_ ("Mobile"));
	g_array_append_val (_tmp10_, _tmp11_);
	_tmp12_ = self->priv->categories;
	_tmp13_ = g_strdup (_ ("Arrows"));
	g_array_append_val (_tmp12_, _tmp13_);
	_tmp14_ = self->priv->categories;
	_tmp15_ = g_strdup (_ ("Data"));
	g_array_append_val (_tmp14_, _tmp15_);
	_tmp16_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp16_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array0 = _tmp16_;
	_tmp17_ = sticker_set_sticker_info_new ("flash_on", _ ("Flash on"));
	g_array_append_val (array0, _tmp17_);
	_tmp18_ = sticker_set_sticker_info_new ("flash_off", _ ("Flash off"));
	g_array_append_val (array0, _tmp18_);
	_tmp19_ = sticker_set_sticker_info_new ("flash_auto", _ ("Flash auto"));
	g_array_append_val (array0, _tmp19_);
	_tmp20_ = sticker_set_sticker_info_new ("panorama", _ ("Panorama"));
	g_array_append_val (array0, _tmp20_);
	_tmp21_ = sticker_set_sticker_info_new ("landscape", _ ("Landscape"));
	g_array_append_val (array0, _tmp21_);
	_tmp22_ = sticker_set_sticker_info_new ("night_landscape", _ ("Night landscape"));
	g_array_append_val (array0, _tmp22_);
	_tmp23_ = sticker_set_sticker_info_new ("sports_mode", _ ("Sports mode"));
	g_array_append_val (array0, _tmp23_);
	_tmp24_ = sticker_set_sticker_info_new ("portrait_mode", _ ("Portrait mode"));
	g_array_append_val (array0, _tmp24_);
	_tmp25_ = sticker_set_sticker_info_new ("night_portrait", _ ("Night portrait"));
	g_array_append_val (array0, _tmp25_);
	_tmp26_ = sticker_set_sticker_info_new ("close_up_mode", _ ("Close up mode"));
	g_array_append_val (array0, _tmp26_);
	_tmp27_ = sticker_set_sticker_info_new ("selfie", _ ("Selfie"));
	g_array_append_val (array0, _tmp27_);
	_tmp28_ = sticker_set_sticker_info_new ("gallery", _ ("Gallery"));
	g_array_append_val (array0, _tmp28_);
	_tmp29_ = sticker_set_sticker_info_new ("stack_of_photos", _ ("Stack of photos"));
	g_array_append_val (array0, _tmp29_);
	_tmp30_ = sticker_set_sticker_info_new ("add_image", _ ("Add image"));
	g_array_append_val (array0, _tmp30_);
	_tmp31_ = sticker_set_sticker_info_new ("edit_image", _ ("Edit image"));
	g_array_append_val (array0, _tmp31_);
	_tmp32_ = sticker_set_sticker_info_new ("remove_image", _ ("Remove image"));
	g_array_append_val (array0, _tmp32_);
	_tmp33_ = sticker_set_sticker_info_new ("compact_camera", _ ("Compact camera"));
	g_array_append_val (array0, _tmp33_);
	_tmp34_ = sticker_set_sticker_info_new ("multiple_cameras", _ ("Multiple cameras"));
	g_array_append_val (array0, _tmp34_);
	_tmp35_ = sticker_set_sticker_info_new ("camera", _ ("Camera"));
	g_array_append_val (array0, _tmp35_);
	_tmp36_ = sticker_set_sticker_info_new ("slr_back_side", _ ("SLR back side"));
	g_array_append_val (array0, _tmp36_);
	_tmp37_ = sticker_set_sticker_info_new ("old_time_camera", _ ("Old time camera"));
	g_array_append_val (array0, _tmp37_);
	_tmp38_ = sticker_set_sticker_info_new ("camera_addon", _ ("Camera addon"));
	g_array_append_val (array0, _tmp38_);
	_tmp39_ = sticker_set_sticker_info_new ("camera_identification", _ ("Camera identification"));
	g_array_append_val (array0, _tmp39_);
	_tmp40_ = sticker_set_sticker_info_new ("start", _ ("Start"));
	g_array_append_val (array0, _tmp40_);
	_tmp41_ = sticker_set_sticker_info_new ("clapperboard", _ ("Clapperboard"));
	g_array_append_val (array0, _tmp41_);
	_tmp42_ = sticker_set_sticker_info_new ("film", _ ("Film"));
	g_array_append_val (array0, _tmp42_);
	_tmp43_ = sticker_set_sticker_info_new ("camcorder", _ ("Camcorder"));
	g_array_append_val (array0, _tmp43_);
	_tmp44_ = sticker_set_sticker_info_new ("camcorder_pro", _ ("Camcorder pro"));
	g_array_append_val (array0, _tmp44_);
	_tmp45_ = sticker_set_sticker_info_new ("webcam", _ ("Webcam"));
	g_array_append_val (array0, _tmp45_);
	_tmp46_ = sticker_set_sticker_info_new ("integrated_webcam", _ ("Integrated webcam"));
	g_array_append_val (array0, _tmp46_);
	_tmp47_ = sticker_set_sticker_info_new ("rotate_camera", _ ("Rotate camera"));
	g_array_append_val (array0, _tmp47_);
	_tmp48_ = sticker_set_sticker_info_new ("switch_camera", _ ("Switch camera"));
	g_array_append_val (array0, _tmp48_);
	_tmp49_ = sticker_set_sticker_info_new ("photo_reel", _ ("Photo reel"));
	g_array_append_val (array0, _tmp49_);
	_tmp50_ = sticker_set_sticker_info_new ("film_reel", _ ("Film reel"));
	g_array_append_val (array0, _tmp50_);
	_tmp51_ = sticker_set_sticker_info_new ("cable_release", _ ("Cable release"));
	g_array_append_val (array0, _tmp51_);
	_tmp52_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp52_, _ ("Photo and Video"), array0);
	_tmp53_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp53_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array1 = _tmp53_;
	_tmp54_ = sticker_set_sticker_info_new ("home", _ ("Home"));
	g_array_append_val (array1, _tmp54_);
	_tmp55_ = sticker_set_sticker_info_new ("icons8_cup", _ ("Icons8 cup"));
	g_array_append_val (array1, _tmp55_);
	_tmp56_ = sticker_set_sticker_info_new ("globe", _ ("Globe"));
	g_array_append_val (array1, _tmp56_);
	_tmp57_ = sticker_set_sticker_info_new ("ok", _ ("OK"));
	g_array_append_val (array1, _tmp57_);
	_tmp58_ = sticker_set_sticker_info_new ("checkmark", _ ("Checkmark"));
	g_array_append_val (array1, _tmp58_);
	_tmp59_ = sticker_set_sticker_info_new ("cancel", _ ("Cancel"));
	g_array_append_val (array1, _tmp59_);
	_tmp60_ = sticker_set_sticker_info_new ("synchronize", _ ("Synchronize"));
	g_array_append_val (array1, _tmp60_);
	_tmp61_ = sticker_set_sticker_info_new ("refresh", _ ("Refresh"));
	g_array_append_val (array1, _tmp61_);
	_tmp62_ = sticker_set_sticker_info_new ("download", _ ("Download"));
	g_array_append_val (array1, _tmp62_);
	_tmp63_ = sticker_set_sticker_info_new ("upload", _ ("Upload"));
	g_array_append_val (array1, _tmp63_);
	_tmp64_ = sticker_set_sticker_info_new ("empty_trash", _ ("Empty trash"));
	g_array_append_val (array1, _tmp64_);
	_tmp65_ = sticker_set_sticker_info_new ("full_trash", _ ("Full trash"));
	g_array_append_val (array1, _tmp65_);
	_tmp66_ = sticker_set_sticker_info_new ("folder", _ ("Folder"));
	g_array_append_val (array1, _tmp66_);
	_tmp67_ = sticker_set_sticker_info_new ("opened_folder", _ ("Opened folder"));
	g_array_append_val (array1, _tmp67_);
	_tmp68_ = sticker_set_sticker_info_new ("file", _ ("File"));
	g_array_append_val (array1, _tmp68_);
	_tmp69_ = sticker_set_sticker_info_new ("document", _ ("Document"));
	g_array_append_val (array1, _tmp69_);
	_tmp70_ = sticker_set_sticker_info_new ("audio_file", _ ("Audio file"));
	g_array_append_val (array1, _tmp70_);
	_tmp71_ = sticker_set_sticker_info_new ("image_file", _ ("Image file"));
	g_array_append_val (array1, _tmp71_);
	_tmp72_ = sticker_set_sticker_info_new ("video_file", _ ("Video file"));
	g_array_append_val (array1, _tmp72_);
	_tmp73_ = sticker_set_sticker_info_new ("print", _ ("Print"));
	g_array_append_val (array1, _tmp73_);
	_tmp74_ = sticker_set_sticker_info_new ("music", _ ("Music"));
	g_array_append_val (array1, _tmp74_);
	_tmp75_ = sticker_set_sticker_info_new ("share", _ ("Share"));
	g_array_append_val (array1, _tmp75_);
	_tmp76_ = sticker_set_sticker_info_new ("cursor", _ ("Cursor"));
	g_array_append_val (array1, _tmp76_);
	_tmp77_ = sticker_set_sticker_info_new ("puzzle", _ ("Puzzle"));
	g_array_append_val (array1, _tmp77_);
	_tmp78_ = sticker_set_sticker_info_new ("unlock", _ ("Unlock"));
	g_array_append_val (array1, _tmp78_);
	_tmp79_ = sticker_set_sticker_info_new ("lock", _ ("Lock"));
	g_array_append_val (array1, _tmp79_);
	_tmp80_ = sticker_set_sticker_info_new ("idea", _ ("Idea"));
	g_array_append_val (array1, _tmp80_);
	_tmp81_ = sticker_set_sticker_info_new ("no_idea", _ ("No idea"));
	g_array_append_val (array1, _tmp81_);
	_tmp82_ = sticker_set_sticker_info_new ("link", _ ("Link"));
	g_array_append_val (array1, _tmp82_);
	_tmp83_ = sticker_set_sticker_info_new ("broken_link", _ ("Broken link"));
	g_array_append_val (array1, _tmp83_);
	_tmp84_ = sticker_set_sticker_info_new ("rating", _ ("Rating"));
	g_array_append_val (array1, _tmp84_);
	_tmp85_ = sticker_set_sticker_info_new ("like_placeholder", _ ("Like placeholder"));
	g_array_append_val (array1, _tmp85_);
	_tmp86_ = sticker_set_sticker_info_new ("like", _ ("Like"));
	g_array_append_val (array1, _tmp86_);
	_tmp87_ = sticker_set_sticker_info_new ("dislike", _ ("Dislike"));
	g_array_append_val (array1, _tmp87_);
	_tmp88_ = sticker_set_sticker_info_new ("info", _ ("Info"));
	g_array_append_val (array1, _tmp88_);
	_tmp89_ = sticker_set_sticker_info_new ("about", _ ("About"));
	g_array_append_val (array1, _tmp89_);
	_tmp90_ = sticker_set_sticker_info_new ("picture", _ ("Picture"));
	g_array_append_val (array1, _tmp90_);
	_tmp91_ = sticker_set_sticker_info_new ("clock", _ ("Clock"));
	g_array_append_val (array1, _tmp91_);
	_tmp92_ = sticker_set_sticker_info_new ("alarm_clock", _ ("Alarm clock"));
	g_array_append_val (array1, _tmp92_);
	_tmp93_ = sticker_set_sticker_info_new ("address_book", _ ("Address book"));
	g_array_append_val (array1, _tmp93_);
	_tmp94_ = sticker_set_sticker_info_new ("contacts", _ ("Contacts"));
	g_array_append_val (array1, _tmp94_);
	_tmp95_ = sticker_set_sticker_info_new ("news", _ ("News"));
	g_array_append_val (array1, _tmp95_);
	_tmp96_ = sticker_set_sticker_info_new ("bookmark", _ ("Bookmark"));
	g_array_append_val (array1, _tmp96_);
	_tmp97_ = sticker_set_sticker_info_new ("binoculars", _ ("Binoculars"));
	g_array_append_val (array1, _tmp97_);
	_tmp98_ = sticker_set_sticker_info_new ("search", _ ("Search"));
	g_array_append_val (array1, _tmp98_);
	_tmp99_ = sticker_set_sticker_info_new ("ruler", _ ("Ruler"));
	g_array_append_val (array1, _tmp99_);
	_tmp100_ = sticker_set_sticker_info_new ("services", _ ("Services"));
	g_array_append_val (array1, _tmp100_);
	_tmp101_ = sticker_set_sticker_info_new ("settings", _ ("Settings"));
	g_array_append_val (array1, _tmp101_);
	_tmp102_ = sticker_set_sticker_info_new ("support", _ ("Support"));
	g_array_append_val (array1, _tmp102_);
	_tmp103_ = sticker_set_sticker_info_new ("frame", _ ("Frame"));
	g_array_append_val (array1, _tmp103_);
	_tmp104_ = sticker_set_sticker_info_new ("menu", _ ("Menu"));
	g_array_append_val (array1, _tmp104_);
	_tmp105_ = sticker_set_sticker_info_new ("key", _ ("Key"));
	g_array_append_val (array1, _tmp105_);
	_tmp106_ = sticker_set_sticker_info_new ("calendar", _ ("Calendar"));
	g_array_append_val (array1, _tmp106_);
	_tmp107_ = sticker_set_sticker_info_new ("calculator", _ ("Calculator"));
	g_array_append_val (array1, _tmp107_);
	_tmp108_ = sticker_set_sticker_info_new ("minus", _ ("Minus"));
	g_array_append_val (array1, _tmp108_);
	_tmp109_ = sticker_set_sticker_info_new ("plus", _ ("Plus"));
	g_array_append_val (array1, _tmp109_);
	_tmp110_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp110_, _ ("Very Basic"), array1);
	_tmp111_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp111_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array2 = _tmp111_;
	_tmp112_ = sticker_set_sticker_info_new ("graduation_cap", _ ("Graduation cap"));
	g_array_append_val (array2, _tmp112_);
	_tmp113_ = sticker_set_sticker_info_new ("briefcase", _ ("Briefcase"));
	g_array_append_val (array2, _tmp113_);
	_tmp114_ = sticker_set_sticker_info_new ("business", _ ("Business"));
	g_array_append_val (array2, _tmp114_);
	_tmp115_ = sticker_set_sticker_info_new ("signature", _ ("Signature"));
	g_array_append_val (array2, _tmp115_);
	_tmp116_ = sticker_set_sticker_info_new ("safe", _ ("Safe"));
	g_array_append_val (array2, _tmp116_);
	_tmp117_ = sticker_set_sticker_info_new ("advertising", _ ("Advertising"));
	g_array_append_val (array2, _tmp117_);
	_tmp118_ = sticker_set_sticker_info_new ("businessman", _ ("Businessman"));
	g_array_append_val (array2, _tmp118_);
	_tmp119_ = sticker_set_sticker_info_new ("businesswoman", _ ("Businesswoman"));
	g_array_append_val (array2, _tmp119_);
	_tmp120_ = sticker_set_sticker_info_new ("manager", _ ("Manager"));
	g_array_append_val (array2, _tmp120_);
	_tmp121_ = sticker_set_sticker_info_new ("online_support", _ ("Online support"));
	g_array_append_val (array2, _tmp121_);
	_tmp122_ = sticker_set_sticker_info_new ("assistant", _ ("Assistant"));
	g_array_append_val (array2, _tmp122_);
	_tmp123_ = sticker_set_sticker_info_new ("customer_support", _ ("Customer support"));
	g_array_append_val (array2, _tmp123_);
	_tmp124_ = sticker_set_sticker_info_new ("reading_ebook", _ ("Reading ebook"));
	g_array_append_val (array2, _tmp124_);
	_tmp125_ = sticker_set_sticker_info_new ("reading", _ ("Reading"));
	g_array_append_val (array2, _tmp125_);
	_tmp126_ = sticker_set_sticker_info_new ("neutral_trading", _ ("Neutral trading"));
	g_array_append_val (array2, _tmp126_);
	_tmp127_ = sticker_set_sticker_info_new ("bullish", _ ("Bullish"));
	g_array_append_val (array2, _tmp127_);
	_tmp128_ = sticker_set_sticker_info_new ("bearish", _ ("Bearish"));
	g_array_append_val (array2, _tmp128_);
	_tmp129_ = sticker_set_sticker_info_new ("high_priority", _ ("High priority"));
	g_array_append_val (array2, _tmp129_);
	_tmp130_ = sticker_set_sticker_info_new ("medium_priority", _ ("Medium priority"));
	g_array_append_val (array2, _tmp130_);
	_tmp131_ = sticker_set_sticker_info_new ("low_priority", _ ("Low priority"));
	g_array_append_val (array2, _tmp131_);
	_tmp132_ = sticker_set_sticker_info_new ("make_decision", _ ("Make decision"));
	g_array_append_val (array2, _tmp132_);
	_tmp133_ = sticker_set_sticker_info_new ("decision", _ ("Decision"));
	g_array_append_val (array2, _tmp133_);
	_tmp134_ = sticker_set_sticker_info_new ("good_decision", _ ("Good decision"));
	g_array_append_val (array2, _tmp134_);
	_tmp135_ = sticker_set_sticker_info_new ("neutral_decision", _ ("Neutral decision"));
	g_array_append_val (array2, _tmp135_);
	_tmp136_ = sticker_set_sticker_info_new ("bad_decision", _ ("Bad decision"));
	g_array_append_val (array2, _tmp136_);
	_tmp137_ = sticker_set_sticker_info_new ("approve", _ ("Approve"));
	g_array_append_val (array2, _tmp137_);
	_tmp138_ = sticker_set_sticker_info_new ("disapprove", _ ("Disapprove"));
	g_array_append_val (array2, _tmp138_);
	_tmp139_ = sticker_set_sticker_info_new ("podium_without_speaker", _ ("Podium without speaker"));
	g_array_append_val (array2, _tmp139_);
	_tmp140_ = sticker_set_sticker_info_new ("podium_with_speaker", _ ("Podium with speaker"));
	g_array_append_val (array2, _tmp140_);
	_tmp141_ = sticker_set_sticker_info_new ("podium_with_audience", _ ("Podium with audience"));
	g_array_append_val (array2, _tmp141_);
	_tmp142_ = sticker_set_sticker_info_new ("video_projector", _ ("Video projector"));
	g_array_append_val (array2, _tmp142_);
	_tmp143_ = sticker_set_sticker_info_new ("statistics", _ ("Statistics"));
	g_array_append_val (array2, _tmp143_);
	_tmp144_ = sticker_set_sticker_info_new ("collaboration", _ ("Collaboration"));
	g_array_append_val (array2, _tmp144_);
	_tmp145_ = sticker_set_sticker_info_new ("voice_presentation", _ ("Voice presentation"));
	g_array_append_val (array2, _tmp145_);
	_tmp146_ = sticker_set_sticker_info_new ("conference_call", _ ("Conference call"));
	g_array_append_val (array2, _tmp146_);
	_tmp147_ = sticker_set_sticker_info_new ("comments", _ ("Comments"));
	g_array_append_val (array2, _tmp147_);
	_tmp148_ = sticker_set_sticker_info_new ("faq", _ ("FAQ"));
	g_array_append_val (array2, _tmp148_);
	_tmp149_ = sticker_set_sticker_info_new ("reuse", _ ("Reuse"));
	g_array_append_val (array2, _tmp149_);
	_tmp150_ = sticker_set_sticker_info_new ("organization", _ ("Organization"));
	g_array_append_val (array2, _tmp150_);
	_tmp151_ = sticker_set_sticker_info_new ("department", _ ("Department"));
	g_array_append_val (array2, _tmp151_);
	_tmp152_ = sticker_set_sticker_info_new ("library", _ ("Library"));
	g_array_append_val (array2, _tmp152_);
	_tmp153_ = sticker_set_sticker_info_new ("shop", _ ("Shop"));
	g_array_append_val (array2, _tmp153_);
	_tmp154_ = sticker_set_sticker_info_new ("self_service_kiosk", _ ("Self service kiosk"));
	g_array_append_val (array2, _tmp154_);
	_tmp155_ = sticker_set_sticker_info_new ("donate", _ ("Donate"));
	g_array_append_val (array2, _tmp155_);
	_tmp156_ = sticker_set_sticker_info_new ("currency_exchange", _ ("Currency exchange"));
	g_array_append_val (array2, _tmp156_);
	_tmp157_ = sticker_set_sticker_info_new ("debt", _ ("Debt"));
	g_array_append_val (array2, _tmp157_);
	_tmp158_ = sticker_set_sticker_info_new ("sales_performance", _ ("Sales performance"));
	g_array_append_val (array2, _tmp158_);
	_tmp159_ = sticker_set_sticker_info_new ("invite", _ ("Invite"));
	g_array_append_val (array2, _tmp159_);
	_tmp160_ = sticker_set_sticker_info_new ("money_transfer", _ ("Money transfer"));
	g_array_append_val (array2, _tmp160_);
	_tmp161_ = sticker_set_sticker_info_new ("feedback", _ ("Feedback"));
	g_array_append_val (array2, _tmp161_);
	_tmp162_ = sticker_set_sticker_info_new ("approval", _ ("Approval"));
	g_array_append_val (array2, _tmp162_);
	_tmp163_ = sticker_set_sticker_info_new ("paid", _ ("Paid"));
	g_array_append_val (array2, _tmp163_);
	_tmp164_ = sticker_set_sticker_info_new ("in_transit", _ ("In transit"));
	g_array_append_val (array2, _tmp164_);
	_tmp165_ = sticker_set_sticker_info_new ("shipped", _ ("Shipped"));
	g_array_append_val (array2, _tmp165_);
	_tmp166_ = sticker_set_sticker_info_new ("package", _ ("Package"));
	g_array_append_val (array2, _tmp166_);
	_tmp167_ = sticker_set_sticker_info_new ("planner", _ ("Planner"));
	g_array_append_val (array2, _tmp167_);
	_tmp168_ = sticker_set_sticker_info_new ("overtime", _ ("Overtime"));
	g_array_append_val (array2, _tmp168_);
	_tmp169_ = sticker_set_sticker_info_new ("leave", _ ("Leave"));
	g_array_append_val (array2, _tmp169_);
	_tmp170_ = sticker_set_sticker_info_new ("expired", _ ("Expired"));
	g_array_append_val (array2, _tmp170_);
	_tmp171_ = sticker_set_sticker_info_new ("process", _ ("Process"));
	g_array_append_val (array2, _tmp171_);
	_tmp172_ = sticker_set_sticker_info_new ("diploma_1", _ ("Diploma 1"));
	g_array_append_val (array2, _tmp172_);
	_tmp173_ = sticker_set_sticker_info_new ("diploma_2", _ ("Diploma 2"));
	g_array_append_val (array2, _tmp173_);
	_tmp174_ = sticker_set_sticker_info_new ("business_contact", _ ("Business contact"));
	g_array_append_val (array2, _tmp174_);
	_tmp175_ = sticker_set_sticker_info_new ("survey", _ ("Survey"));
	g_array_append_val (array2, _tmp175_);
	_tmp176_ = sticker_set_sticker_info_new ("inspection", _ ("Inspection"));
	g_array_append_val (array2, _tmp176_);
	_tmp177_ = sticker_set_sticker_info_new ("rules", _ ("Rules"));
	g_array_append_val (array2, _tmp177_);
	_tmp178_ = sticker_set_sticker_info_new ("todo_list", _ ("Todo list"));
	g_array_append_val (array2, _tmp178_);
	_tmp179_ = sticker_set_sticker_info_new ("ratings", _ ("Ratings"));
	g_array_append_val (array2, _tmp179_);
	_tmp180_ = sticker_set_sticker_info_new ("questions", _ ("Questions"));
	g_array_append_val (array2, _tmp180_);
	_tmp181_ = sticker_set_sticker_info_new ("answers", _ ("Answers"));
	g_array_append_val (array2, _tmp181_);
	_tmp182_ = sticker_set_sticker_info_new ("fine_print", _ ("Fine print"));
	g_array_append_val (array2, _tmp182_);
	_tmp183_ = sticker_set_sticker_info_new ("candle_sticks", _ ("Candle sticks"));
	g_array_append_val (array2, _tmp183_);
	_tmp184_ = sticker_set_sticker_info_new ("serial_tasks", _ ("Serial tasks"));
	g_array_append_val (array2, _tmp184_);
	_tmp185_ = sticker_set_sticker_info_new ("parallel_tasks", _ ("Parallel tasks"));
	g_array_append_val (array2, _tmp185_);
	_tmp186_ = sticker_set_sticker_info_new ("tree_structure", _ ("Tree structure"));
	g_array_append_val (array2, _tmp186_);
	_tmp187_ = sticker_set_sticker_info_new ("org_unit", _ ("Org unit"));
	g_array_append_val (array2, _tmp187_);
	_tmp188_ = sticker_set_sticker_info_new ("privacy", _ ("Privacy"));
	g_array_append_val (array2, _tmp188_);
	_tmp189_ = sticker_set_sticker_info_new ("disclaimer", _ ("Disclaimer"));
	g_array_append_val (array2, _tmp189_);
	_tmp190_ = sticker_set_sticker_info_new ("callback", _ ("Callback"));
	g_array_append_val (array2, _tmp190_);
	_tmp191_ = sticker_set_sticker_info_new ("service_mark", _ ("Service mark"));
	g_array_append_val (array2, _tmp191_);
	_tmp192_ = sticker_set_sticker_info_new ("registered_trademark", _ ("Registered trademark"));
	g_array_append_val (array2, _tmp192_);
	_tmp193_ = sticker_set_sticker_info_new ("trademark", _ ("Trademark"));
	g_array_append_val (array2, _tmp193_);
	_tmp194_ = sticker_set_sticker_info_new ("copyright", _ ("Copyright"));
	g_array_append_val (array2, _tmp194_);
	_tmp195_ = sticker_set_sticker_info_new ("copyleft", _ ("Copyleft"));
	g_array_append_val (array2, _tmp195_);
	_tmp196_ = sticker_set_sticker_info_new ("sound_recording_copyright", _ ("Sound recording copyright"));
	g_array_append_val (array2, _tmp196_);
	_tmp197_ = sticker_set_sticker_info_new ("butting_in", _ ("Butting in"));
	g_array_append_val (array2, _tmp197_);
	_tmp198_ = sticker_set_sticker_info_new ("multiple_inputs", _ ("Multiple inputs"));
	g_array_append_val (array2, _tmp198_);
	_tmp199_ = sticker_set_sticker_info_new ("collect", _ ("Collect"));
	g_array_append_val (array2, _tmp199_);
	_tmp200_ = sticker_set_sticker_info_new ("internal", _ ("Internal"));
	g_array_append_val (array2, _tmp200_);
	_tmp201_ = sticker_set_sticker_info_new ("external", _ ("External"));
	g_array_append_val (array2, _tmp201_);
	_tmp202_ = sticker_set_sticker_info_new ("vip", _ ("VIP"));
	g_array_append_val (array2, _tmp202_);
	_tmp203_ = sticker_set_sticker_info_new ("light_at_the_end_of_tunnel", _ ("Light at the end of tunnel"));
	g_array_append_val (array2, _tmp203_);
	_tmp204_ = sticker_set_sticker_info_new ("entering_heaven_alive", _ ("Entering heaven alive"));
	g_array_append_val (array2, _tmp204_);
	_tmp205_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp205_, _ ("Business"), array2);
	_tmp206_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp206_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array3 = _tmp206_;
	_tmp207_ = sticker_set_sticker_info_new ("biomass", _ ("Biomass"));
	g_array_append_val (array3, _tmp207_);
	_tmp208_ = sticker_set_sticker_info_new ("display", _ ("Display"));
	g_array_append_val (array3, _tmp208_);
	_tmp209_ = sticker_set_sticker_info_new ("do_not_inhale", _ ("Do not inhale"));
	g_array_append_val (array3, _tmp209_);
	_tmp210_ = sticker_set_sticker_info_new ("factory", _ ("Factory"));
	g_array_append_val (array3, _tmp210_);
	_tmp211_ = sticker_set_sticker_info_new ("factory_breakdown", _ ("Factory breakdown"));
	g_array_append_val (array3, _tmp211_);
	_tmp212_ = sticker_set_sticker_info_new ("crystal_oscillator", _ ("Crystal oscillator"));
	g_array_append_val (array3, _tmp212_);
	_tmp213_ = sticker_set_sticker_info_new ("capacitor", _ ("Capacitor"));
	g_array_append_val (array3, _tmp213_);
	_tmp214_ = sticker_set_sticker_info_new ("electricity", _ ("Electricity"));
	g_array_append_val (array3, _tmp214_);
	_tmp215_ = sticker_set_sticker_info_new ("electro_devices", _ ("Electro devices"));
	g_array_append_val (array3, _tmp215_);
	_tmp216_ = sticker_set_sticker_info_new ("electrical_sensor", _ ("Electrical sensor"));
	g_array_append_val (array3, _tmp216_);
	_tmp217_ = sticker_set_sticker_info_new ("electrical_threshold", _ ("Electrical threshold"));
	g_array_append_val (array3, _tmp217_);
	_tmp218_ = sticker_set_sticker_info_new ("automotive", _ ("Automotive"));
	g_array_append_val (array3, _tmp218_);
	_tmp219_ = sticker_set_sticker_info_new ("feed_in", _ ("Feed in"));
	g_array_append_val (array3, _tmp219_);
	_tmp220_ = sticker_set_sticker_info_new ("dam", _ ("Dam"));
	g_array_append_val (array3, _tmp220_);
	_tmp221_ = sticker_set_sticker_info_new ("biotech", _ ("Biotech"));
	g_array_append_val (array3, _tmp221_);
	_tmp222_ = sticker_set_sticker_info_new ("advance", _ ("Advance"));
	g_array_append_val (array3, _tmp222_);
	_tmp223_ = sticker_set_sticker_info_new ("cloth", _ ("Cloth"));
	g_array_append_val (array3, _tmp223_);
	_tmp224_ = sticker_set_sticker_info_new ("electronics", _ ("Electronics"));
	g_array_append_val (array3, _tmp224_);
	_tmp225_ = sticker_set_sticker_info_new ("deployment", _ ("Deployment"));
	g_array_append_val (array3, _tmp225_);
	_tmp226_ = sticker_set_sticker_info_new ("automatic", _ ("Automatic"));
	g_array_append_val (array3, _tmp226_);
	_tmp227_ = sticker_set_sticker_info_new ("do_not_insert", _ ("Do not insert"));
	g_array_append_val (array3, _tmp227_);
	_tmp228_ = sticker_set_sticker_info_new ("do_not_mix", _ ("Do not mix"));
	g_array_append_val (array3, _tmp228_);
	_tmp229_ = sticker_set_sticker_info_new ("biohazard", _ ("Biohazard"));
	g_array_append_val (array3, _tmp229_);
	_tmp230_ = sticker_set_sticker_info_new ("circuit", _ ("Circuit"));
	g_array_append_val (array3, _tmp230_);
	_tmp231_ = sticker_set_sticker_info_new ("engineering", _ ("Engineering"));
	g_array_append_val (array3, _tmp231_);
	_tmp232_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp232_, _ ("Industry"), array3);
	_tmp233_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp233_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array4 = _tmp233_;
	_tmp234_ = sticker_set_sticker_info_new ("cell_phone", _ ("Cell phone"));
	g_array_append_val (array4, _tmp234_);
	_tmp235_ = sticker_set_sticker_info_new ("iphone", _ ("iPhone"));
	g_array_append_val (array4, _tmp235_);
	_tmp236_ = sticker_set_sticker_info_new ("ipad", _ ("iPad"));
	g_array_append_val (array4, _tmp236_);
	_tmp237_ = sticker_set_sticker_info_new ("phone_android", _ ("Phone android"));
	g_array_append_val (array4, _tmp237_);
	_tmp238_ = sticker_set_sticker_info_new ("tablet_android", _ ("Tablet android"));
	g_array_append_val (array4, _tmp238_);
	_tmp239_ = sticker_set_sticker_info_new ("nook", _ ("Nook"));
	g_array_append_val (array4, _tmp239_);
	_tmp240_ = sticker_set_sticker_info_new ("kindle", _ ("Kindle"));
	g_array_append_val (array4, _tmp240_);
	_tmp241_ = sticker_set_sticker_info_new ("two_smartphones", _ ("Two smartphones"));
	g_array_append_val (array4, _tmp241_);
	_tmp242_ = sticker_set_sticker_info_new ("multiple_devices", _ ("Multiple devices"));
	g_array_append_val (array4, _tmp242_);
	_tmp243_ = sticker_set_sticker_info_new ("multiple_smartphones", _ ("Multiple smartphones"));
	g_array_append_val (array4, _tmp243_);
	_tmp244_ = sticker_set_sticker_info_new ("smartphone_tablet", _ ("Smartphone tablet"));
	g_array_append_val (array4, _tmp244_);
	_tmp245_ = sticker_set_sticker_info_new ("touchscreen_smartphone", _ ("Touchscreen smartphone"));
	g_array_append_val (array4, _tmp245_);
	_tmp246_ = sticker_set_sticker_info_new ("sim_card", _ ("Sim card"));
	g_array_append_val (array4, _tmp246_);
	_tmp247_ = sticker_set_sticker_info_new ("sim_card_chip", _ ("Sim card chip"));
	g_array_append_val (array4, _tmp247_);
	_tmp248_ = sticker_set_sticker_info_new ("sms", _ ("SMS"));
	g_array_append_val (array4, _tmp248_);
	_tmp249_ = sticker_set_sticker_info_new ("mms", _ ("MMS"));
	g_array_append_val (array4, _tmp249_);
	_tmp250_ = sticker_set_sticker_info_new ("charge_battery", _ ("Charge battery"));
	g_array_append_val (array4, _tmp250_);
	_tmp251_ = sticker_set_sticker_info_new ("full_battery", _ ("Full battery"));
	g_array_append_val (array4, _tmp251_);
	_tmp252_ = sticker_set_sticker_info_new ("high_battery", _ ("High battery"));
	g_array_append_val (array4, _tmp252_);
	_tmp253_ = sticker_set_sticker_info_new ("middle_battery", _ ("Middle battery"));
	g_array_append_val (array4, _tmp253_);
	_tmp254_ = sticker_set_sticker_info_new ("low_battery", _ ("Low battery"));
	g_array_append_val (array4, _tmp254_);
	_tmp255_ = sticker_set_sticker_info_new ("empty_battery", _ ("Empty battery"));
	g_array_append_val (array4, _tmp255_);
	_tmp256_ = sticker_set_sticker_info_new ("phone", _ ("Phone"));
	g_array_append_val (array4, _tmp256_);
	_tmp257_ = sticker_set_sticker_info_new ("missed_call", _ ("Missed call"));
	g_array_append_val (array4, _tmp257_);
	_tmp258_ = sticker_set_sticker_info_new ("end_call", _ ("End call"));
	g_array_append_val (array4, _tmp258_);
	_tmp259_ = sticker_set_sticker_info_new ("call_transfer", _ ("Call transfer"));
	g_array_append_val (array4, _tmp259_);
	_tmp260_ = sticker_set_sticker_info_new ("video_call", _ ("Video call"));
	g_array_append_val (array4, _tmp260_);
	_tmp261_ = sticker_set_sticker_info_new ("no_video", _ ("No video"));
	g_array_append_val (array4, _tmp261_);
	_tmp262_ = sticker_set_sticker_info_new ("rotate_to_portrait", _ ("Rotate to portrait"));
	g_array_append_val (array4, _tmp262_);
	_tmp263_ = sticker_set_sticker_info_new ("lock_portrait", _ ("Lock portrait"));
	g_array_append_val (array4, _tmp263_);
	_tmp264_ = sticker_set_sticker_info_new ("rotate_to_landscape", _ ("Rotate to landscape"));
	g_array_append_val (array4, _tmp264_);
	_tmp265_ = sticker_set_sticker_info_new ("lock_landscape", _ ("Lock landscape"));
	g_array_append_val (array4, _tmp265_);
	_tmp266_ = sticker_set_sticker_info_new ("voicemail", _ ("Voicemail"));
	g_array_append_val (array4, _tmp266_);
	_tmp267_ = sticker_set_sticker_info_new ("speaker", _ ("Speaker"));
	g_array_append_val (array4, _tmp267_);
	_tmp268_ = sticker_set_sticker_info_new ("headset", _ ("Headset"));
	g_array_append_val (array4, _tmp268_);
	_tmp269_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp269_, _ ("Mobile"), array4);
	_tmp270_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp270_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array5 = _tmp270_;
	_tmp271_ = sticker_set_sticker_info_new ("left_up", _ ("Left up"));
	g_array_append_val (array5, _tmp271_);
	_tmp272_ = sticker_set_sticker_info_new ("up", _ ("Up"));
	g_array_append_val (array5, _tmp272_);
	_tmp273_ = sticker_set_sticker_info_new ("right_up", _ ("Right up"));
	g_array_append_val (array5, _tmp273_);
	_tmp274_ = sticker_set_sticker_info_new ("left", _ ("Left"));
	g_array_append_val (array5, _tmp274_);
	_tmp275_ = sticker_set_sticker_info_new ("right", _ ("Right"));
	g_array_append_val (array5, _tmp275_);
	_tmp276_ = sticker_set_sticker_info_new ("left_down", _ ("Left down"));
	g_array_append_val (array5, _tmp276_);
	_tmp277_ = sticker_set_sticker_info_new ("down", _ ("Down"));
	g_array_append_val (array5, _tmp277_);
	_tmp278_ = sticker_set_sticker_info_new ("right_down", _ ("Right down"));
	g_array_append_val (array5, _tmp278_);
	_tmp279_ = sticker_set_sticker_info_new ("collapse", _ ("Collapse"));
	g_array_append_val (array5, _tmp279_);
	_tmp280_ = sticker_set_sticker_info_new ("previous", _ ("Previous"));
	g_array_append_val (array5, _tmp280_);
	_tmp281_ = sticker_set_sticker_info_new ("next", _ ("Next"));
	g_array_append_val (array5, _tmp281_);
	_tmp282_ = sticker_set_sticker_info_new ("expand", _ ("Expand"));
	g_array_append_val (array5, _tmp282_);
	_tmp283_ = sticker_set_sticker_info_new ("left_down2", _ ("Left down2"));
	g_array_append_val (array5, _tmp283_);
	_tmp284_ = sticker_set_sticker_info_new ("up_left", _ ("Up left"));
	g_array_append_val (array5, _tmp284_);
	_tmp285_ = sticker_set_sticker_info_new ("down_right", _ ("Down right"));
	g_array_append_val (array5, _tmp285_);
	_tmp286_ = sticker_set_sticker_info_new ("right_up2", _ ("Right up2"));
	g_array_append_val (array5, _tmp286_);
	_tmp287_ = sticker_set_sticker_info_new ("up_right", _ ("Up right"));
	g_array_append_val (array5, _tmp287_);
	_tmp288_ = sticker_set_sticker_info_new ("right_down2", _ ("Right down2"));
	g_array_append_val (array5, _tmp288_);
	_tmp289_ = sticker_set_sticker_info_new ("left_up2", _ ("Left up2"));
	g_array_append_val (array5, _tmp289_);
	_tmp290_ = sticker_set_sticker_info_new ("down_left", _ ("Down left"));
	g_array_append_val (array5, _tmp290_);
	_tmp291_ = sticker_set_sticker_info_new ("undo", _ ("Undo"));
	g_array_append_val (array5, _tmp291_);
	_tmp292_ = sticker_set_sticker_info_new ("redo", _ ("Redo"));
	g_array_append_val (array5, _tmp292_);
	_tmp293_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp293_, _ ("Arrows"), array5);
	_tmp294_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
	g_array_set_clear_func (_tmp294_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
	array6 = _tmp294_;
	_tmp295_ = sticker_set_sticker_info_new ("filing_cabinet", _ ("Filing cabinet"));
	g_array_append_val (array6, _tmp295_);
	_tmp296_ = sticker_set_sticker_info_new ("database", _ ("Database"));
	g_array_append_val (array6, _tmp296_);
	_tmp297_ = sticker_set_sticker_info_new ("accept_database", _ ("Accept database"));
	g_array_append_val (array6, _tmp297_);
	_tmp298_ = sticker_set_sticker_info_new ("add_database", _ ("Add database"));
	g_array_append_val (array6, _tmp298_);
	_tmp299_ = sticker_set_sticker_info_new ("delete_database", _ ("Delete database"));
	g_array_append_val (array6, _tmp299_);
	_tmp300_ = sticker_set_sticker_info_new ("data_backup", _ ("Data backup"));
	g_array_append_val (array6, _tmp300_);
	_tmp301_ = sticker_set_sticker_info_new ("data_recovery", _ ("Data recovery"));
	g_array_append_val (array6, _tmp301_);
	_tmp302_ = sticker_set_sticker_info_new ("data_configuration", _ ("Data configuration"));
	g_array_append_val (array6, _tmp302_);
	_tmp303_ = sticker_set_sticker_info_new ("data_encryption", _ ("Data encryption"));
	g_array_append_val (array6, _tmp303_);
	_tmp304_ = sticker_set_sticker_info_new ("data_protection", _ ("Data protection"));
	g_array_append_val (array6, _tmp304_);
	_tmp305_ = sticker_set_sticker_info_new ("grid", _ ("Grid"));
	g_array_append_val (array6, _tmp305_);
	_tmp306_ = sticker_set_sticker_info_new ("data_sheet", _ ("Data sheet"));
	g_array_append_val (array6, _tmp306_);
	_tmp307_ = sticker_set_sticker_info_new ("add_column", _ ("Add column"));
	g_array_append_val (array6, _tmp307_);
	_tmp308_ = sticker_set_sticker_info_new ("delete_column", _ ("Delete column"));
	g_array_append_val (array6, _tmp308_);
	_tmp309_ = sticker_set_sticker_info_new ("add_row", _ ("Add row"));
	g_array_append_val (array6, _tmp309_);
	_tmp310_ = sticker_set_sticker_info_new ("delete_row", _ ("Delete row"));
	g_array_append_val (array6, _tmp310_);
	_tmp311_ = sticker_set_sticker_info_new ("generic_sorting_asc", _ ("Generic sorting ascending"));
	g_array_append_val (array6, _tmp311_);
	_tmp312_ = sticker_set_sticker_info_new ("generic_sorting_desc", _ ("Generic sorting descending"));
	g_array_append_val (array6, _tmp312_);
	_tmp313_ = sticker_set_sticker_info_new ("alphabetical_sorting_az", _ ("Alphabetical sorting (A->Z)"));
	g_array_append_val (array6, _tmp313_);
	_tmp314_ = sticker_set_sticker_info_new ("alphabetical_sorting_za", _ ("Alphabetical sorting (Z->A)"));
	g_array_append_val (array6, _tmp314_);
	_tmp315_ = sticker_set_sticker_info_new ("numerical_sorting_21", _ ("Numerical sorting (2->1)"));
	g_array_append_val (array6, _tmp315_);
	_tmp316_ = sticker_set_sticker_info_new ("numerical_sorting_12", _ ("Numerical sorting (1->2)"));
	g_array_append_val (array6, _tmp316_);
	_tmp317_ = sticker_set_sticker_info_new ("empty_filter", _ ("Empty filter"));
	g_array_append_val (array6, _tmp317_);
	_tmp318_ = sticker_set_sticker_info_new ("filled_filter", _ ("Filled filter"));
	g_array_append_val (array6, _tmp318_);
	_tmp319_ = sticker_set_sticker_info_new ("clear_filters", _ ("Clear filters"));
	g_array_append_val (array6, _tmp319_);
	_tmp320_ = sticker_set_sticker_info_new ("pie_chart", _ ("Pie chart"));
	g_array_append_val (array6, _tmp320_);
	_tmp321_ = sticker_set_sticker_info_new ("radar_plot", _ ("Radar plot"));
	g_array_append_val (array6, _tmp321_);
	_tmp322_ = sticker_set_sticker_info_new ("heat_map", _ ("Heat map"));
	g_array_append_val (array6, _tmp322_);
	_tmp323_ = sticker_set_sticker_info_new ("timeline", _ ("Timeline"));
	g_array_append_val (array6, _tmp323_);
	_tmp324_ = sticker_set_sticker_info_new ("bar_chart", _ ("Bar chart"));
	g_array_append_val (array6, _tmp324_);
	_tmp325_ = sticker_set_sticker_info_new ("area_chart", _ ("Area chart"));
	g_array_append_val (array6, _tmp325_);
	_tmp326_ = sticker_set_sticker_info_new ("scatter_plot", _ ("Scatter plot"));
	g_array_append_val (array6, _tmp326_);
	_tmp327_ = sticker_set_sticker_info_new ("doughnut_chart", _ ("Doughnut chart"));
	g_array_append_val (array6, _tmp327_);
	_tmp328_ = sticker_set_sticker_info_new ("combo_chart", _ ("Combo chart"));
	g_array_append_val (array6, _tmp328_);
	_tmp329_ = sticker_set_sticker_info_new ("flow_chart", _ ("Flow chart"));
	g_array_append_val (array6, _tmp329_);
	_tmp330_ = sticker_set_sticker_info_new ("line_chart", _ ("Line chart"));
	g_array_append_val (array6, _tmp330_);
	_tmp331_ = sticker_set_sticker_info_new ("genealogy", _ ("Genealogy"));
	g_array_append_val (array6, _tmp331_);
	_tmp332_ = sticker_set_sticker_info_new ("mind_map", _ ("Mind map"));
	g_array_append_val (array6, _tmp332_);
	_tmp333_ = sticker_set_sticker_info_new ("workflow", _ ("Workflow"));
	g_array_append_val (array6, _tmp333_);
	_tmp334_ = sticker_set_sticker_info_new ("positive_dynamic", _ ("Positive dynamic"));
	g_array_append_val (array6, _tmp334_);
	_tmp335_ = sticker_set_sticker_info_new ("negative_dynamic", _ ("Negative dynamic"));
	g_array_append_val (array6, _tmp335_);
	_tmp336_ = sticker_set_sticker_info_new ("export", _ ("Export"));
	g_array_append_val (array6, _tmp336_);
	_tmp337_ = sticker_set_sticker_info_new ("import", _ ("Import"));
	g_array_append_val (array6, _tmp337_);
	_tmp338_ = sticker_set_sticker_info_new ("list", _ ("List"));
	g_array_append_val (array6, _tmp338_);
	_tmp339_ = sticker_set_sticker_info_new ("template", _ ("Template"));
	g_array_append_val (array6, _tmp339_);
	_tmp340_ = sticker_set_sticker_info_new ("view_details", _ ("View details"));
	g_array_append_val (array6, _tmp340_);
	_tmp341_ = self->priv->category_icons;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp341_, _ ("Data"), array6);
	{
		GRegex* _tmp342_ = NULL;
		GRegex* _tmp343_;
		GRegex* _tmp344_;
		_tmp343_ = g_regex_new ("(^|\\W)([a-z])", 0, 0, &_inner_error0_);
		_tmp342_ = _tmp343_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_array_unref0 (array6);
			_g_array_unref0 (array5);
			_g_array_unref0 (array4);
			_g_array_unref0 (array3);
			_g_array_unref0 (array2);
			_g_array_unref0 (array1);
			_g_array_unref0 (array0);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp344_ = _tmp342_;
		_tmp342_ = NULL;
		_g_regex_unref0 (self->priv->_title_re);
		self->priv->_title_re = _tmp344_;
		_g_regex_unref0 (_tmp342_);
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_array_unref0 (array6);
		_g_array_unref0 (array5);
		_g_array_unref0 (array4);
		_g_array_unref0 (array3);
		_g_array_unref0 (array2);
		_g_array_unref0 (array1);
		_g_array_unref0 (array0);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	if (!sticker_set_create_custom_dir (self)) {
		gchar* _tmp345_;
		gchar* _tmp346_;
		_tmp345_ = sticker_set_sticker_dir (self);
		_tmp346_ = _tmp345_;
		sticker_set_load_from_filesystem (self, _tmp346_, FALSE);
		_g_free0 (_tmp346_);
	}
	_g_array_unref0 (array6);
	_g_array_unref0 (array5);
	_g_array_unref0 (array4);
	_g_array_unref0 (array3);
	_g_array_unref0 (array2);
	_g_array_unref0 (array1);
	_g_array_unref0 (array0);
	return self;
}

StickerSet*
sticker_set_new (void)
{
	return sticker_set_construct (TYPE_STICKER_SET);
}

gchar*
sticker_set_sticker_dir (StickerSet* self)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_get_user_data_dir ();
	_tmp1_ = g_build_filename (_tmp0_, "minder", "stickers", NULL);
	result = _tmp1_;
	return result;
}

static gboolean
sticker_set_create_custom_dir (StickerSet* self)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gboolean _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GFile* src = NULL;
	GFile* _tmp5_;
	GFile* dst = NULL;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	GFile* _tmp10_;
	GFile* _tmp11_;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = sticker_set_sticker_dir (self);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_file_test (_tmp1_, G_FILE_TEST_EXISTS);
	_g_free0 (_tmp1_);
	if (_tmp2_) {
		result = FALSE;
		return result;
	}
	_tmp3_ = sticker_set_sticker_dir (self);
	_tmp4_ = _tmp3_;
	utils_create_dir (_tmp4_);
	_g_free0 (_tmp4_);
	_tmp5_ = g_file_new_for_uri ("resource:///com/github/phase1geo/minder/README.md");
	src = _tmp5_;
	_tmp6_ = sticker_set_sticker_dir (self);
	_tmp7_ = _tmp6_;
	_tmp8_ = g_build_filename (_tmp7_, "README.md", NULL);
	_tmp9_ = _tmp8_;
	_tmp10_ = g_file_new_for_path (_tmp9_);
	_tmp11_ = _tmp10_;
	_g_free0 (_tmp9_);
	_g_free0 (_tmp7_);
	dst = _tmp11_;
	{
		GFile* _tmp12_;
		GFile* _tmp13_;
		_tmp12_ = src;
		_tmp13_ = dst;
		g_file_copy (_tmp12_, _tmp13_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		gboolean _tmp14_ = FALSE;
		_g_object_unref0 (dst);
		_g_object_unref0 (src);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return _tmp14_;
	}
	{
		gint i = 0;
		i = 0;
		{
			gboolean _tmp15_ = FALSE;
			_tmp15_ = TRUE;
			while (TRUE) {
				GArray* _tmp17_;
				gchar* _tmp18_;
				gchar* _tmp19_;
				GArray* _tmp20_;
				const gchar* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				if (!_tmp15_) {
					gint _tmp16_;
					_tmp16_ = i;
					i = _tmp16_ + 1;
				}
				_tmp15_ = FALSE;
				_tmp17_ = self->priv->categories;
				if (!(((guint) i) < _tmp17_->len)) {
					break;
				}
				_tmp18_ = sticker_set_sticker_dir (self);
				_tmp19_ = _tmp18_;
				_tmp20_ = self->priv->categories;
				_tmp21_ = g_array_index (_tmp20_, gchar*, (guint) i);
				_tmp22_ = g_build_filename (_tmp19_, _tmp21_, NULL);
				_tmp23_ = _tmp22_;
				utils_create_dir (_tmp23_);
				_g_free0 (_tmp23_);
				_g_free0 (_tmp19_);
			}
		}
	}
	result = TRUE;
	_g_object_unref0 (dst);
	_g_object_unref0 (src);
	return result;
}

static gpointer
_g_array_ref0 (gpointer self)
{
	return self ? g_array_ref (self) : NULL;
}

GArray*
sticker_set_get_categories (StickerSet* self)
{
	GArray* _tmp0_;
	GArray* _tmp1_;
	GArray* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->categories;
	_tmp1_ = _g_array_ref0 (_tmp0_);
	result = _tmp1_;
	return result;
}

GArray*
sticker_set_get_category_icons (StickerSet* self,
                                const gchar* category)
{
	GeeHashMap* _tmp0_;
	gpointer _tmp1_;
	GArray* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (category != NULL, NULL);
	_tmp0_ = self->priv->category_icons;
	_tmp1_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp0_, category);
	result = (GArray*) _tmp1_;
	return result;
}

gboolean
sticker_set_get_icon_info (StickerSet* self,
                           const gchar* resource,
                           gchar** tooltip)
{
	gchar* _vala_tooltip = NULL;
	gchar* _tmp0_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (resource != NULL, FALSE);
	_tmp0_ = g_strdup ("");
	_g_free0 (_vala_tooltip);
	_vala_tooltip = _tmp0_;
	{
		gint i = 0;
		i = 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				GArray* _tmp3_;
				GArray* icons = NULL;
				GeeHashMap* _tmp4_;
				GArray* _tmp5_;
				const gchar* _tmp6_;
				gpointer _tmp7_;
				if (!_tmp1_) {
					gint _tmp2_;
					_tmp2_ = i;
					i = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				_tmp3_ = self->priv->categories;
				if (!(((guint) i) < _tmp3_->len)) {
					break;
				}
				_tmp4_ = self->priv->category_icons;
				_tmp5_ = self->priv->categories;
				_tmp6_ = g_array_index (_tmp5_, gchar*, (guint) i);
				_tmp7_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp4_, _tmp6_);
				icons = (GArray*) _tmp7_;
				{
					gint j = 0;
					j = 0;
					{
						gboolean _tmp8_ = FALSE;
						_tmp8_ = TRUE;
						while (TRUE) {
							GArray* _tmp10_;
							GArray* _tmp11_;
							StickerSetStickerInfo* _tmp12_;
							const gchar* _tmp13_;
							const gchar* _tmp14_;
							if (!_tmp8_) {
								gint _tmp9_;
								_tmp9_ = j;
								j = _tmp9_ + 1;
							}
							_tmp8_ = FALSE;
							_tmp10_ = icons;
							if (!(((guint) j) < _tmp10_->len)) {
								break;
							}
							_tmp11_ = icons;
							_tmp12_ = g_array_index (_tmp11_, StickerSetStickerInfo*, (guint) j);
							_tmp13_ = sticker_set_sticker_info_get_resource (_tmp12_);
							_tmp14_ = _tmp13_;
							if (g_strcmp0 (_tmp14_, resource) == 0) {
								GArray* _tmp15_;
								StickerSetStickerInfo* _tmp16_;
								const gchar* _tmp17_;
								const gchar* _tmp18_;
								gchar* _tmp19_;
								_tmp15_ = icons;
								_tmp16_ = g_array_index (_tmp15_, StickerSetStickerInfo*, (guint) j);
								_tmp17_ = sticker_set_sticker_info_get_tooltip (_tmp16_);
								_tmp18_ = _tmp17_;
								_tmp19_ = g_strdup (_tmp18_);
								_g_free0 (_vala_tooltip);
								_vala_tooltip = _tmp19_;
								result = TRUE;
								_g_array_unref0 (icons);
								if (tooltip) {
									*tooltip = _vala_tooltip;
								} else {
									_g_free0 (_vala_tooltip);
								}
								return result;
							}
						}
					}
				}
				_g_array_unref0 (icons);
			}
		}
	}
	result = FALSE;
	if (tooltip) {
		*tooltip = _vala_tooltip;
	} else {
		_g_free0 (_vala_tooltip);
	}
	return result;
}

gboolean
sticker_set_load_from_filesystem (StickerSet* self,
                                  const gchar* base_dir,
                                  gboolean import)
{
	gboolean retval = FALSE;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (base_dir != NULL, FALSE);
	retval = FALSE;
	if (g_file_test (base_dir, G_FILE_TEST_EXISTS)) {
		{
			gchar* name = NULL;
			GDir* dir = NULL;
			GDir* _tmp0_;
			_tmp0_ = g_dir_open (base_dir, (guint) 0, &_inner_error0_);
			dir = _tmp0_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				gboolean _tmp1_ = FALSE;
				_g_free0 (name);
				if (_inner_error0_->domain == G_FILE_ERROR) {
					goto __catch0_g_file_error;
				}
				g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
				g_clear_error (&_inner_error0_);
				return _tmp1_;
			}
			while (TRUE) {
				GDir* _tmp2_;
				const gchar* _tmp3_;
				gchar* _tmp4_;
				const gchar* _tmp5_;
				gchar* category = NULL;
				const gchar* _tmp6_;
				gchar* _tmp7_;
				const gchar* _tmp8_;
				_tmp2_ = dir;
				_tmp3_ = g_dir_read_name (_tmp2_);
				_tmp4_ = g_strdup (_tmp3_);
				_g_free0 (name);
				name = _tmp4_;
				_tmp5_ = name;
				if (!(_tmp5_ != NULL)) {
					break;
				}
				_tmp6_ = name;
				_tmp7_ = g_build_filename (base_dir, _tmp6_, NULL);
				category = _tmp7_;
				_tmp8_ = category;
				if (g_file_test (_tmp8_, G_FILE_TEST_IS_DIR)) {
					gchar* subname = NULL;
					GDir* subdir = NULL;
					const gchar* _tmp9_;
					GDir* _tmp10_;
					_tmp9_ = category;
					_tmp10_ = g_dir_open (_tmp9_, (guint) 0, &_inner_error0_);
					subdir = _tmp10_;
					if (G_UNLIKELY (_inner_error0_ != NULL)) {
						gboolean _tmp11_ = FALSE;
						_g_free0 (subname);
						_g_free0 (category);
						_g_dir_close0 (dir);
						_g_free0 (name);
						if (_inner_error0_->domain == G_FILE_ERROR) {
							goto __catch0_g_file_error;
						}
						g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
						g_clear_error (&_inner_error0_);
						return _tmp11_;
					}
					while (TRUE) {
						GDir* _tmp12_;
						const gchar* _tmp13_;
						gchar* _tmp14_;
						const gchar* _tmp15_;
						gchar* sticker = NULL;
						const gchar* _tmp16_;
						const gchar* _tmp17_;
						gchar* _tmp18_;
						gchar** parts = NULL;
						const gchar* _tmp19_;
						gchar** _tmp20_;
						gchar** _tmp21_;
						gint parts_length1;
						gint _parts_size_;
						const gchar* _tmp22_;
						gchar** _tmp23_;
						gint _tmp23__length1;
						const gchar* _tmp24_;
						const gchar* _tmp25_;
						_tmp12_ = subdir;
						_tmp13_ = g_dir_read_name (_tmp12_);
						_tmp14_ = g_strdup (_tmp13_);
						_g_free0 (subname);
						subname = _tmp14_;
						_tmp15_ = subname;
						if (!(_tmp15_ != NULL)) {
							break;
						}
						_tmp16_ = category;
						_tmp17_ = subname;
						_tmp18_ = g_build_filename (_tmp16_, _tmp17_, NULL);
						sticker = _tmp18_;
						_tmp19_ = subname;
						_tmp21_ = _tmp20_ = g_strsplit (_tmp19_, ".", 0);
						parts = _tmp21_;
						parts_length1 = _vala_array_length (_tmp20_);
						_parts_size_ = parts_length1;
						_tmp22_ = name;
						_tmp23_ = parts;
						_tmp23__length1 = parts_length1;
						_tmp24_ = _tmp23_[0];
						_tmp25_ = sticker;
						retval |= sticker_set_load_sticker (self, _tmp22_, _tmp24_, _tmp25_, import);
						parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
						_g_free0 (sticker);
					}
					_g_dir_close0 (subdir);
					_g_free0 (subname);
				}
				_g_free0 (category);
			}
			_g_dir_close0 (dir);
			_g_free0 (name);
		}
		goto __finally0;
		__catch0_g_file_error:
		{
			GError* e = NULL;
			FILE* _tmp26_;
			GError* _tmp27_;
			const gchar* _tmp28_;
			e = _inner_error0_;
			_inner_error0_ = NULL;
			_tmp26_ = stderr;
			_tmp27_ = e;
			_tmp28_ = _tmp27_->message;
			fprintf (_tmp26_, "ERROR: %s\n", _tmp28_);
			_g_error_free0 (e);
		}
		__finally0:
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			gboolean _tmp29_ = FALSE;
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return _tmp29_;
		}
	}
	result = retval;
	return result;
}

static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (old != NULL, NULL);
	g_return_val_if_fail (replacement != NULL, NULL);
	if ((*((gchar*) self)) == '\0') {
		_tmp1_ = TRUE;
	} else {
		_tmp1_ = (*((gchar*) old)) == '\0';
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
	}
	if (_tmp0_) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup (self);
		result = _tmp2_;
		return result;
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		_tmp3_ = g_regex_escape_string (old, -1);
		_tmp4_ = _tmp3_;
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
		_tmp6_ = _tmp5_;
		_g_free0 (_tmp4_);
		regex = _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp8_ = regex;
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
		_tmp7_ = _tmp9_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (regex);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp10_ = _tmp7_;
		_tmp7_ = NULL;
		result = _tmp10_;
		_g_free0 (_tmp7_);
		_g_regex_unref0 (regex);
		return result;
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		g_clear_error (&_inner_error0_);
		g_assert_not_reached ();
	}
	__finally0:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return NULL;
}

static gchar*
string_splice (const gchar* self,
               glong start,
               glong end,
               const gchar* str)
{
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gsize str_size = 0UL;
	const gchar* _result_ = NULL;
	void* _tmp6_;
	gchar* dest = NULL;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp12_;
	const gchar* _tmp13_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = strlen (self);
	_tmp1_ = _tmp0_;
	string_length = (glong) _tmp1_;
	if (start < ((glong) 0)) {
		start = string_length + start;
	}
	if (end < ((glong) 0)) {
		end = string_length + end;
	}
	if (start >= ((glong) 0)) {
		_tmp2_ = start <= string_length;
	} else {
		_tmp2_ = FALSE;
	}
	g_return_val_if_fail (_tmp2_, NULL);
	if (end >= ((glong) 0)) {
		_tmp3_ = end <= string_length;
	} else {
		_tmp3_ = FALSE;
	}
	g_return_val_if_fail (_tmp3_, NULL);
	g_return_val_if_fail (start <= end, NULL);
	if (str == NULL) {
		str_size = (gsize) 0;
	} else {
		gint _tmp4_;
		gint _tmp5_;
		_tmp4_ = strlen ((const gchar*) str);
		_tmp5_ = _tmp4_;
		str_size = (gsize) _tmp5_;
	}
	_tmp6_ = g_malloc0 (((string_length - (end - start)) + str_size) + 1);
	_result_ = _tmp6_;
	_tmp7_ = _result_;
	dest = (gchar*) _tmp7_;
	_tmp8_ = dest;
	memcpy (_tmp8_, self, (gsize) start);
	_tmp9_ = dest;
	dest = _tmp9_ + start;
	if (str != NULL) {
		gchar* _tmp10_;
		gchar* _tmp11_;
		_tmp10_ = dest;
		memcpy (_tmp10_, str, str_size);
		_tmp11_ = dest;
		dest = _tmp11_ + str_size;
	}
	_tmp12_ = dest;
	memcpy (_tmp12_, ((gchar*) self) + end, (gsize) (string_length - end));
	_tmp13_ = _result_;
	_result_ = NULL;
	result = (gchar*) _tmp13_;
	return result;
}

static gchar*
string_slice (const gchar* self,
              glong start,
              glong end)
{
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = strlen (self);
	_tmp1_ = _tmp0_;
	string_length = (glong) _tmp1_;
	if (start < ((glong) 0)) {
		start = string_length + start;
	}
	if (end < ((glong) 0)) {
		end = string_length + end;
	}
	if (start >= ((glong) 0)) {
		_tmp2_ = start <= string_length;
	} else {
		_tmp2_ = FALSE;
	}
	g_return_val_if_fail (_tmp2_, NULL);
	if (end >= ((glong) 0)) {
		_tmp3_ = end <= string_length;
	} else {
		_tmp3_ = FALSE;
	}
	g_return_val_if_fail (_tmp3_, NULL);
	g_return_val_if_fail (start <= end, NULL);
	_tmp4_ = g_strndup (((gchar*) self) + start, (gsize) (end - start));
	result = _tmp4_;
	return result;
}

static gchar*
sticker_set_make_label (StickerSet* self,
                        const gchar* category)
{
	gchar* name = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** parts = NULL;
	gint parts_length1 = 0;
	gint _parts_size_ = 0;
	GMatchInfo* matches = NULL;
	gint start = 0;
	gint end = 0;
	const gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (category != NULL, NULL);
	_tmp0_ = string_replace (category, "_", " ");
	_tmp1_ = _tmp0_;
	_tmp2_ = g_utf8_strdown (_tmp1_, (gssize) -1);
	_tmp3_ = _tmp2_;
	_g_free0 (_tmp1_);
	name = _tmp3_;
	while (TRUE) {
		GRegex* _tmp4_;
		const gchar* _tmp5_;
		GMatchInfo* _tmp6_ = NULL;
		gboolean _tmp7_;
		GMatchInfo* _tmp8_;
		gint _tmp9_ = 0;
		gint _tmp10_ = 0;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		gchar* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
		gchar* _tmp16_;
		gchar* _tmp17_;
		_tmp4_ = self->priv->_title_re;
		_tmp5_ = name;
		_tmp7_ = g_regex_match (_tmp4_, _tmp5_, 0, &_tmp6_);
		_g_match_info_unref0 (matches);
		matches = _tmp6_;
		if (!_tmp7_) {
			break;
		}
		_tmp8_ = matches;
		g_match_info_fetch_pos (_tmp8_, 2, &_tmp9_, &_tmp10_);
		start = _tmp9_;
		end = _tmp10_;
		_tmp11_ = name;
		_tmp12_ = name;
		_tmp13_ = string_slice (_tmp12_, (glong) start, (glong) end);
		_tmp14_ = _tmp13_;
		_tmp15_ = g_utf8_strup (_tmp14_, (gssize) -1);
		_tmp16_ = _tmp15_;
		_tmp17_ = string_splice (_tmp11_, (glong) start, (glong) end, _tmp16_);
		_g_free0 (name);
		name = _tmp17_;
		_g_free0 (_tmp16_);
		_g_free0 (_tmp14_);
	}
	_tmp18_ = name;
	_tmp19_ = string_replace (_tmp18_, "And", "and");
	result = _tmp19_;
	_g_match_info_unref0 (matches);
	parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
	_g_free0 (name);
	return result;
}

static GdkPixbufFormat*
_vala_GdkPixbufFormat_copy (GdkPixbufFormat* self)
{
	return g_boxed_copy (gdk_pixbuf_format_get_type (), self);
}

static gpointer
__vala_GdkPixbufFormat_copy0 (gpointer self)
{
	return self ? _vala_GdkPixbufFormat_copy (self) : NULL;
}

static gint
string_index_of_nth_char (const gchar* self,
                          glong c)
{
	gchar* _tmp0_;
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	_tmp0_ = g_utf8_offset_to_pointer (self, c);
	result = (gint) (_tmp0_ - ((gchar*) self));
	return result;
}

static gpointer
_sticker_set_sticker_info_ref0 (gpointer self)
{
	return self ? sticker_set_sticker_info_ref (self) : NULL;
}

static void
_vala_GdkPixbufFormat_free (GdkPixbufFormat* self)
{
	g_boxed_free (gdk_pixbuf_format_get_type (), self);
}

gboolean
sticker_set_load_sticker (StickerSet* self,
                          const gchar* category,
                          const gchar* name,
                          const gchar* sticker_file,
                          gboolean import)
{
	gint width = 0;
	gint height = 0;
	GdkPixbufFormat* format = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	GdkPixbufFormat* _tmp2_;
	GdkPixbufFormat* _tmp3_;
	GdkPixbufFormat* _tmp4_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (category != NULL, FALSE);
	g_return_val_if_fail (name != NULL, FALSE);
	g_return_val_if_fail (sticker_file != NULL, FALSE);
	_tmp2_ = gdk_pixbuf_get_file_info (sticker_file, &_tmp0_, &_tmp1_);
	width = _tmp0_;
	height = _tmp1_;
	_tmp3_ = __vala_GdkPixbufFormat_copy0 (_tmp2_);
	format = _tmp3_;
	_tmp4_ = format;
	if (_tmp4_ != NULL) {
		gchar* cat_label = NULL;
		gchar* _tmp5_;
		gchar* name_tooltip = NULL;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
		StickerSetStickerInfo* sticker_info = NULL;
		const gchar* _tmp14_;
		StickerSetStickerInfo* _tmp15_;
		GeeHashMap* _tmp16_;
		const gchar* _tmp17_;
		_tmp5_ = sticker_set_make_label (self, category);
		cat_label = _tmp5_;
		_tmp6_ = string_replace (name, "_", " ");
		_tmp7_ = _tmp6_;
		_tmp8_ = string_slice (name, (glong) 0, (glong) string_index_of_nth_char (name, (glong) 1));
		_tmp9_ = _tmp8_;
		_tmp10_ = g_utf8_strup (_tmp9_, (gssize) -1);
		_tmp11_ = _tmp10_;
		_tmp12_ = string_splice (_tmp7_, (glong) 0, (glong) string_index_of_nth_char (name, (glong) 1), _tmp11_);
		_tmp13_ = _tmp12_;
		_g_free0 (_tmp11_);
		_g_free0 (_tmp9_);
		_g_free0 (_tmp7_);
		name_tooltip = _tmp13_;
		_tmp14_ = name_tooltip;
		_tmp15_ = sticker_set_sticker_info_new (sticker_file, _tmp14_);
		sticker_info = _tmp15_;
		_tmp16_ = self->priv->category_icons;
		_tmp17_ = cat_label;
		if (gee_abstract_map_has_key ((GeeAbstractMap*) _tmp16_, _tmp17_)) {
			GArray* array = NULL;
			GeeHashMap* _tmp18_;
			const gchar* _tmp19_;
			gpointer _tmp20_;
			GArray* _tmp21_;
			StickerSetStickerInfo* _tmp22_;
			StickerSetStickerInfo* _tmp23_;
			_tmp18_ = self->priv->category_icons;
			_tmp19_ = cat_label;
			_tmp20_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp18_, _tmp19_);
			array = (GArray*) _tmp20_;
			_tmp21_ = array;
			_tmp22_ = sticker_info;
			_tmp23_ = _sticker_set_sticker_info_ref0 (_tmp22_);
			g_array_append_val (_tmp21_, _tmp23_);
			_g_array_unref0 (array);
		} else {
			GArray* array = NULL;
			GArray* _tmp24_;
			GArray* _tmp25_;
			StickerSetStickerInfo* _tmp26_;
			StickerSetStickerInfo* _tmp27_;
			GeeHashMap* _tmp28_;
			const gchar* _tmp29_;
			GArray* _tmp30_;
			GArray* _tmp31_;
			const gchar* _tmp32_;
			gchar* _tmp33_;
			_tmp24_ = g_array_new (TRUE, TRUE, sizeof (StickerSetStickerInfo*));
			g_array_set_clear_func (_tmp24_, (GDestroyNotify) _vala_StickerSetStickerInfo_free_function_content_of);
			array = _tmp24_;
			_tmp25_ = array;
			_tmp26_ = sticker_info;
			_tmp27_ = _sticker_set_sticker_info_ref0 (_tmp26_);
			g_array_append_val (_tmp25_, _tmp27_);
			_tmp28_ = self->priv->category_icons;
			_tmp29_ = cat_label;
			_tmp30_ = array;
			gee_abstract_map_set ((GeeAbstractMap*) _tmp28_, _tmp29_, _tmp30_);
			_tmp31_ = self->priv->categories;
			_tmp32_ = cat_label;
			_tmp33_ = g_strdup (_tmp32_);
			g_array_prepend_val (_tmp31_, _tmp33_);
			_g_array_unref0 (array);
		}
		if (import) {
			const gchar* _tmp34_;
			_tmp34_ = cat_label;
			result = sticker_set_import_sticker (self, _tmp34_, sticker_file);
			_sticker_set_sticker_info_unref0 (sticker_info);
			_g_free0 (name_tooltip);
			_g_free0 (cat_label);
			__vala_GdkPixbufFormat_free0 (format);
			return result;
		}
		result = TRUE;
		_sticker_set_sticker_info_unref0 (sticker_info);
		_g_free0 (name_tooltip);
		_g_free0 (cat_label);
		__vala_GdkPixbufFormat_free0 (format);
		return result;
	}
	result = FALSE;
	__vala_GdkPixbufFormat_free0 (format);
	return result;
}

static gboolean
sticker_set_import_sticker (StickerSet* self,
                            const gchar* category,
                            const gchar* file)
{
	gchar* cat_dir = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (category != NULL, FALSE);
	g_return_val_if_fail (file != NULL, FALSE);
	_tmp0_ = sticker_set_sticker_dir (self);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_build_filename (_tmp1_, category, NULL);
	_tmp3_ = _tmp2_;
	_g_free0 (_tmp1_);
	cat_dir = _tmp3_;
	utils_create_dir (cat_dir);
	{
		GFile* old_file = NULL;
		GFile* _tmp4_;
		GFile* new_file = NULL;
		gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		GFile* _tmp9_;
		GFile* _tmp10_;
		gboolean _tmp11_ = FALSE;
		_tmp4_ = g_file_new_for_path (file);
		old_file = _tmp4_;
		_tmp5_ = g_path_get_basename (file);
		_tmp6_ = _tmp5_;
		_tmp7_ = g_build_filename (cat_dir, _tmp6_, NULL);
		_tmp8_ = _tmp7_;
		_tmp9_ = g_file_new_for_path (_tmp8_);
		_tmp10_ = _tmp9_;
		_g_free0 (_tmp8_);
		_g_free0 (_tmp6_);
		new_file = _tmp10_;
		_tmp11_ = g_file_copy (old_file, new_file, G_FILE_COPY_NONE, NULL, NULL, NULL, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (new_file);
			_g_object_unref0 (old_file);
			goto __catch0_g_error;
		}
		result = _tmp11_;
		_g_object_unref0 (new_file);
		_g_object_unref0 (old_file);
		_g_free0 (cat_dir);
		return result;
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		gboolean _tmp12_ = FALSE;
		_g_free0 (cat_dir);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return _tmp12_;
	}
	result = FALSE;
	_g_free0 (cat_dir);
	return result;
}

gboolean
sticker_set_remove_sticker (StickerSet* self,
                            const gchar* name)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (name != NULL, FALSE);
	result = g_unlink (name) == 0;
	return result;
}

static gunichar
string_get_char (const gchar* self,
                 glong index)
{
	gunichar result;
	g_return_val_if_fail (self != NULL, 0U);
	result = g_utf8_get_char (((gchar*) self) + index);
	return result;
}

GdkPixbuf*
sticker_set_make_pixbuf (const gchar* resource,
                         gint width)
{
	GError* _inner_error0_ = NULL;
	GdkPixbuf* result;
	g_return_val_if_fail (resource != NULL, NULL);
	{
		if (string_get_char (resource, (glong) 0) == ((gunichar) '/')) {
			gint _tmp0_ = 0;
			GdkPixbuf* _tmp1_ = NULL;
			GdkPixbuf* _tmp2_;
			GdkPixbuf* _tmp3_;
			if (width == -1) {
				_tmp0_ = 64;
			} else {
				_tmp0_ = width;
			}
			_tmp2_ = gdk_pixbuf_new_from_file_at_scale (resource, _tmp0_, -1, TRUE, &_inner_error0_);
			_tmp1_ = _tmp2_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_tmp3_ = _tmp1_;
			_tmp1_ = NULL;
			result = _tmp3_;
			_g_object_unref0 (_tmp1_);
			return result;
		} else {
			gint _tmp4_ = 0;
			GdkPixbuf* _tmp5_ = NULL;
			gchar* _tmp6_;
			gchar* _tmp7_;
			GdkPixbuf* _tmp8_;
			GdkPixbuf* _tmp9_;
			GdkPixbuf* _tmp10_;
			if (width == -1) {
				_tmp4_ = 64;
			} else {
				_tmp4_ = width;
			}
			_tmp6_ = g_strconcat ("/com/github/phase1geo/minder/", resource, NULL);
			_tmp7_ = _tmp6_;
			_tmp8_ = gdk_pixbuf_new_from_resource_at_scale (_tmp7_, _tmp4_, -1, TRUE, &_inner_error0_);
			_tmp9_ = _tmp8_;
			_g_free0 (_tmp7_);
			_tmp5_ = _tmp9_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_tmp10_ = _tmp5_;
			_tmp5_ = NULL;
			result = _tmp10_;
			_g_object_unref0 (_tmp5_);
			return result;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
		result = NULL;
		return result;
	}
	__finally0:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return NULL;
}

static inline gpointer
sticker_set_sticker_info_get_instance_private (StickerSetStickerInfo* self)
{
	return G_STRUCT_MEMBER_P (self, StickerSetStickerInfo_private_offset);
}

StickerSetStickerInfo*
sticker_set_sticker_info_construct (GType object_type,
                                    const gchar* resource,
                                    const gchar* tooltip)
{
	StickerSetStickerInfo* self = NULL;
	g_return_val_if_fail (resource != NULL, NULL);
	g_return_val_if_fail (tooltip != NULL, NULL);
	self = (StickerSetStickerInfo*) g_type_create_instance (object_type);
	sticker_set_sticker_info_set_resource (self, resource);
	sticker_set_sticker_info_set_tooltip (self, tooltip);
	return self;
}

StickerSetStickerInfo*
sticker_set_sticker_info_new (const gchar* resource,
                              const gchar* tooltip)
{
	return sticker_set_sticker_info_construct (STICKER_SET_TYPE_STICKER_INFO, resource, tooltip);
}

const gchar*
sticker_set_sticker_info_get_resource (StickerSetStickerInfo* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_resource;
	result = _tmp0_;
	return result;
}

void
sticker_set_sticker_info_set_resource (StickerSetStickerInfo* self,
                                       const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->priv->_resource);
	self->priv->_resource = _tmp0_;
}

const gchar*
sticker_set_sticker_info_get_tooltip (StickerSetStickerInfo* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_tooltip;
	result = _tmp0_;
	return result;
}

void
sticker_set_sticker_info_set_tooltip (StickerSetStickerInfo* self,
                                      const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->priv->_tooltip);
	self->priv->_tooltip = _tmp0_;
}

static void
sticker_set_value_sticker_info_init (GValue* value)
{
	value->data[0].v_pointer = NULL;
}

static void
sticker_set_value_sticker_info_free_value (GValue* value)
{
	if (value->data[0].v_pointer) {
		sticker_set_sticker_info_unref (value->data[0].v_pointer);
	}
}

static void
sticker_set_value_sticker_info_copy_value (const GValue* src_value,
                                           GValue* dest_value)
{
	if (src_value->data[0].v_pointer) {
		dest_value->data[0].v_pointer = sticker_set_sticker_info_ref (src_value->data[0].v_pointer);
	} else {
		dest_value->data[0].v_pointer = NULL;
	}
}

static gpointer
sticker_set_value_sticker_info_peek_pointer (const GValue* value)
{
	return value->data[0].v_pointer;
}

static gchar*
sticker_set_value_sticker_info_collect_value (GValue* value,
                                              guint n_collect_values,
                                              GTypeCValue* collect_values,
                                              guint collect_flags)
{
	if (collect_values[0].v_pointer) {
		StickerSetStickerInfo * object;
		object = collect_values[0].v_pointer;
		if (object->parent_instance.g_class == NULL) {
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		}
		value->data[0].v_pointer = sticker_set_sticker_info_ref (object);
	} else {
		value->data[0].v_pointer = NULL;
	}
	return NULL;
}

static gchar*
sticker_set_value_sticker_info_lcopy_value (const GValue* value,
                                            guint n_collect_values,
                                            GTypeCValue* collect_values,
                                            guint collect_flags)
{
	StickerSetStickerInfo ** object_p;
	object_p = collect_values[0].v_pointer;
	if (!object_p) {
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
	}
	if (!value->data[0].v_pointer) {
		*object_p = NULL;
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
		*object_p = value->data[0].v_pointer;
	} else {
		*object_p = sticker_set_sticker_info_ref (value->data[0].v_pointer);
	}
	return NULL;
}

GParamSpec*
sticker_set_param_spec_sticker_info (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags)
{
	StickerSetParamSpecStickerInfo* spec;
	g_return_val_if_fail (g_type_is_a (object_type, STICKER_SET_TYPE_STICKER_INFO), NULL);
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
	G_PARAM_SPEC (spec)->value_type = object_type;
	return G_PARAM_SPEC (spec);
}

gpointer
sticker_set_value_get_sticker_info (const GValue* value)
{
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, STICKER_SET_TYPE_STICKER_INFO), NULL);
	return value->data[0].v_pointer;
}

void
sticker_set_value_set_sticker_info (GValue* value,
                                    gpointer v_object)
{
	StickerSetStickerInfo * old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, STICKER_SET_TYPE_STICKER_INFO));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, STICKER_SET_TYPE_STICKER_INFO));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
		sticker_set_sticker_info_ref (value->data[0].v_pointer);
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		sticker_set_sticker_info_unref (old);
	}
}

void
sticker_set_value_take_sticker_info (GValue* value,
                                     gpointer v_object)
{
	StickerSetStickerInfo * old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, STICKER_SET_TYPE_STICKER_INFO));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, STICKER_SET_TYPE_STICKER_INFO));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		sticker_set_sticker_info_unref (old);
	}
}

static void
sticker_set_sticker_info_class_init (StickerSetStickerInfoClass * klass,
                                     gpointer klass_data)
{
	sticker_set_sticker_info_parent_class = g_type_class_peek_parent (klass);
	((StickerSetStickerInfoClass *) klass)->finalize = sticker_set_sticker_info_finalize;
	g_type_class_adjust_private_offset (klass, &StickerSetStickerInfo_private_offset);
}

static void
sticker_set_sticker_info_instance_init (StickerSetStickerInfo * self,
                                        gpointer klass)
{
	self->priv = sticker_set_sticker_info_get_instance_private (self);
	self->ref_count = 1;
}

static void
sticker_set_sticker_info_finalize (StickerSetStickerInfo * obj)
{
	StickerSetStickerInfo * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, STICKER_SET_TYPE_STICKER_INFO, StickerSetStickerInfo);
	g_signal_handlers_destroy (self);
	_g_free0 (self->priv->_resource);
	_g_free0 (self->priv->_tooltip);
}

static GType
sticker_set_sticker_info_get_type_once (void)
{
	static const GTypeValueTable g_define_type_value_table = { sticker_set_value_sticker_info_init, sticker_set_value_sticker_info_free_value, sticker_set_value_sticker_info_copy_value, sticker_set_value_sticker_info_peek_pointer, "p", sticker_set_value_sticker_info_collect_value, "p", sticker_set_value_sticker_info_lcopy_value };
	static const GTypeInfo g_define_type_info = { sizeof (StickerSetStickerInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sticker_set_sticker_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StickerSetStickerInfo), 0, (GInstanceInitFunc) sticker_set_sticker_info_instance_init, &g_define_type_value_table };
	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
	GType sticker_set_sticker_info_type_id;
	sticker_set_sticker_info_type_id = g_type_register_fundamental (g_type_fundamental_next (), "StickerSetStickerInfo", &g_define_type_info, &g_define_type_fundamental_info, 0);
	StickerSetStickerInfo_private_offset = g_type_add_instance_private (sticker_set_sticker_info_type_id, sizeof (StickerSetStickerInfoPrivate));
	return sticker_set_sticker_info_type_id;
}

GType
sticker_set_sticker_info_get_type (void)
{
	static volatile gsize sticker_set_sticker_info_type_id__once = 0;
	if (g_once_init_enter (&sticker_set_sticker_info_type_id__once)) {
		GType sticker_set_sticker_info_type_id;
		sticker_set_sticker_info_type_id = sticker_set_sticker_info_get_type_once ();
		g_once_init_leave (&sticker_set_sticker_info_type_id__once, sticker_set_sticker_info_type_id);
	}
	return sticker_set_sticker_info_type_id__once;
}

gpointer
sticker_set_sticker_info_ref (gpointer instance)
{
	StickerSetStickerInfo * self;
	self = instance;
	g_atomic_int_inc (&self->ref_count);
	return instance;
}

void
sticker_set_sticker_info_unref (gpointer instance)
{
	StickerSetStickerInfo * self;
	self = instance;
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
		STICKER_SET_STICKER_INFO_GET_CLASS (self)->finalize (self);
		g_type_free_instance ((GTypeInstance *) self);
	}
}

static void
value_sticker_set_init (GValue* value)
{
	value->data[0].v_pointer = NULL;
}

static void
value_sticker_set_free_value (GValue* value)
{
	if (value->data[0].v_pointer) {
		sticker_set_unref (value->data[0].v_pointer);
	}
}

static void
value_sticker_set_copy_value (const GValue* src_value,
                              GValue* dest_value)
{
	if (src_value->data[0].v_pointer) {
		dest_value->data[0].v_pointer = sticker_set_ref (src_value->data[0].v_pointer);
	} else {
		dest_value->data[0].v_pointer = NULL;
	}
}

static gpointer
value_sticker_set_peek_pointer (const GValue* value)
{
	return value->data[0].v_pointer;
}

static gchar*
value_sticker_set_collect_value (GValue* value,
                                 guint n_collect_values,
                                 GTypeCValue* collect_values,
                                 guint collect_flags)
{
	if (collect_values[0].v_pointer) {
		StickerSet * object;
		object = collect_values[0].v_pointer;
		if (object->parent_instance.g_class == NULL) {
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		}
		value->data[0].v_pointer = sticker_set_ref (object);
	} else {
		value->data[0].v_pointer = NULL;
	}
	return NULL;
}

static gchar*
value_sticker_set_lcopy_value (const GValue* value,
                               guint n_collect_values,
                               GTypeCValue* collect_values,
                               guint collect_flags)
{
	StickerSet ** object_p;
	object_p = collect_values[0].v_pointer;
	if (!object_p) {
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
	}
	if (!value->data[0].v_pointer) {
		*object_p = NULL;
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
		*object_p = value->data[0].v_pointer;
	} else {
		*object_p = sticker_set_ref (value->data[0].v_pointer);
	}
	return NULL;
}

GParamSpec*
param_spec_sticker_set (const gchar* name,
                        const gchar* nick,
                        const gchar* blurb,
                        GType object_type,
                        GParamFlags flags)
{
	ParamSpecStickerSet* spec;
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_STICKER_SET), NULL);
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
	G_PARAM_SPEC (spec)->value_type = object_type;
	return G_PARAM_SPEC (spec);
}

gpointer
value_get_sticker_set (const GValue* value)
{
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STICKER_SET), NULL);
	return value->data[0].v_pointer;
}

void
value_set_sticker_set (GValue* value,
                       gpointer v_object)
{
	StickerSet * old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STICKER_SET));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_STICKER_SET));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
		sticker_set_ref (value->data[0].v_pointer);
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		sticker_set_unref (old);
	}
}

void
value_take_sticker_set (GValue* value,
                        gpointer v_object)
{
	StickerSet * old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STICKER_SET));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_STICKER_SET));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		sticker_set_unref (old);
	}
}

static void
sticker_set_class_init (StickerSetClass * klass,
                        gpointer klass_data)
{
	sticker_set_parent_class = g_type_class_peek_parent (klass);
	((StickerSetClass *) klass)->finalize = sticker_set_finalize;
	g_type_class_adjust_private_offset (klass, &StickerSet_private_offset);
}

static void
sticker_set_instance_init (StickerSet * self,
                           gpointer klass)
{
	self->priv = sticker_set_get_instance_private (self);
	self->ref_count = 1;
}

static void
sticker_set_finalize (StickerSet * obj)
{
	StickerSet * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_STICKER_SET, StickerSet);
	g_signal_handlers_destroy (self);
	_g_regex_unref0 (self->priv->_title_re);
	_g_array_unref0 (self->priv->categories);
	_g_object_unref0 (self->priv->category_icons);
}

static GType
sticker_set_get_type_once (void)
{
	static const GTypeValueTable g_define_type_value_table = { value_sticker_set_init, value_sticker_set_free_value, value_sticker_set_copy_value, value_sticker_set_peek_pointer, "p", value_sticker_set_collect_value, "p", value_sticker_set_lcopy_value };
	static const GTypeInfo g_define_type_info = { sizeof (StickerSetClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sticker_set_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StickerSet), 0, (GInstanceInitFunc) sticker_set_instance_init, &g_define_type_value_table };
	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
	GType sticker_set_type_id;
	sticker_set_type_id = g_type_register_fundamental (g_type_fundamental_next (), "StickerSet", &g_define_type_info, &g_define_type_fundamental_info, 0);
	StickerSet_private_offset = g_type_add_instance_private (sticker_set_type_id, sizeof (StickerSetPrivate));
	return sticker_set_type_id;
}

GType
sticker_set_get_type (void)
{
	static volatile gsize sticker_set_type_id__once = 0;
	if (g_once_init_enter (&sticker_set_type_id__once)) {
		GType sticker_set_type_id;
		sticker_set_type_id = sticker_set_get_type_once ();
		g_once_init_leave (&sticker_set_type_id__once, sticker_set_type_id);
	}
	return sticker_set_type_id__once;
}

gpointer
sticker_set_ref (gpointer instance)
{
	StickerSet * self;
	self = instance;
	g_atomic_int_inc (&self->ref_count);
	return instance;
}

void
sticker_set_unref (gpointer instance)
{
	StickerSet * self;
	self = instance;
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
		STICKER_SET_GET_CLASS (self)->finalize (self);
		g_type_free_instance ((GTypeInstance *) self);
	}
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize 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,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

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

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

