/* machine-thumbnailer.c generated by valac 0.29.2.5-8632, the Vala compiler
 * generated from machine-thumbnailer.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gio/gio.h>
#include <libcommon.h>
#include <stdlib.h>
#include <string.h>


#define BOXES_TYPE_MACHINE_THUMBNAILER (boxes_machine_thumbnailer_get_type ())
#define BOXES_MACHINE_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer))
#define BOXES_MACHINE_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailerClass))
#define BOXES_IS_MACHINE_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE_THUMBNAILER))
#define BOXES_IS_MACHINE_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE_THUMBNAILER))
#define BOXES_MACHINE_THUMBNAILER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailerClass))

typedef struct _BoxesMachineThumbnailer BoxesMachineThumbnailer;
typedef struct _BoxesMachineThumbnailerClass BoxesMachineThumbnailerClass;
typedef struct _BoxesMachineThumbnailerPrivate BoxesMachineThumbnailerPrivate;

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_UI_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_UI, BoxesUIIface))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIIface BoxesUIIface;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())
typedef struct _BoxesCollectionItemPrivate BoxesCollectionItemPrivate;

#define BOXES_TYPE_IPROPERTIES_PROVIDER (boxes_iproperties_provider_get_type ())
#define BOXES_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProvider))
#define BOXES_IS_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER))
#define BOXES_IPROPERTIES_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProviderIface))

typedef struct _BoxesIPropertiesProvider BoxesIPropertiesProvider;
typedef struct _BoxesIPropertiesProviderIface BoxesIPropertiesProviderIface;

#define BOXES_TYPE_PROPERTIES_PAGE (boxes_properties_page_get_type ())

#define TYPE_PROPERTY_CREATION_FLAG (property_creation_flag_get_type ())

#define BOXES_TYPE_PROPERTY (boxes_property_get_type ())
#define BOXES_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTY, BoxesProperty))
#define BOXES_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTY, BoxesPropertyClass))
#define BOXES_IS_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTY))
#define BOXES_IS_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTY))
#define BOXES_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTY, BoxesPropertyClass))

typedef struct _BoxesProperty BoxesProperty;
typedef struct _BoxesPropertyClass BoxesPropertyClass;
typedef struct _BoxesMachinePrivate BoxesMachinePrivate;

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())
#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

struct _BoxesMachineThumbnailer {
	GObject parent_instance;
	BoxesMachineThumbnailerPrivate * priv;
};

struct _BoxesMachineThumbnailerClass {
	GObjectClass parent_class;
};

struct _BoxesMachineThumbnailerPrivate {
	BoxesMachine* _machine;
	GdkPixbuf* _thumbnail;
};

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUIIface {
	GTypeInterface parent_iface;
	BoxesUIState (*get_previous_ui_state) (BoxesUI* self);
	void (*set_previous_ui_state) (BoxesUI* self, BoxesUIState value);
	BoxesUIState (*get_ui_state) (BoxesUI* self);
	void (*set_ui_state) (BoxesUI* self, BoxesUIState value);
};

struct _BoxesCollectionItem {
	GObject parent_instance;
	BoxesCollectionItemPrivate * priv;
};

struct _BoxesCollectionItemClass {
	GObjectClass parent_class;
	gint (*compare) (BoxesCollectionItem* self, BoxesCollectionItem* other);
};

typedef enum  {
	BOXES_PROPERTIES_PAGE_GENERAL,
	BOXES_PROPERTIES_PAGE_SYSTEM,
	BOXES_PROPERTIES_PAGE_DEVICES,
	BOXES_PROPERTIES_PAGE_SNAPSHOTS,
	BOXES_PROPERTIES_PAGE_LAST
} BoxesPropertiesPage;

typedef enum  {
	PROPERTY_CREATION_FLAG_NONE = 1 << 0,
	PROPERTY_CREATION_FLAG_NO_USB = 1 << 1
} PropertyCreationFlag;

struct _BoxesIPropertiesProviderIface {
	GTypeInterface parent_iface;
	GList* (*get_properties) (BoxesIPropertiesProvider* self, BoxesPropertiesPage page, PropertyCreationFlag* flags);
};

typedef enum  {
	BOXES_MACHINE_CONNECT_FLAGS_NONE = 0,
	BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE = 1 << 0
} BoxesMachineConnectFlags;

struct _BoxesMachine {
	BoxesCollectionItem parent_instance;
	BoxesMachinePrivate * priv;
	BoxesCollectionSource* source;
	BoxesBoxConfig* config;
	gboolean stay_on_display;
};

struct _BoxesMachineClass {
	BoxesCollectionItemClass parent_class;
	void (*save_real) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*save_real_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*take_screenshot) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GdkPixbuf* (*take_screenshot_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	GList* (*get_properties) (BoxesMachine* self, BoxesPropertiesPage page, PropertyCreationFlag* flags);
	void (*connect_display) (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*connect_display_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*restart) (BoxesMachine* self);
	void (*disconnect_display) (BoxesMachine* self);
	void (*update_info) (BoxesMachine* self);
	void (*delete) (BoxesMachine* self, gboolean by_user);
	gboolean (*get_suspend_at_exit) (BoxesMachine* self);
	gboolean (*get_can_save) (BoxesMachine* self);
	gboolean (*get_should_autosave) (BoxesMachine* self);
};


static gpointer boxes_machine_thumbnailer_parent_class = NULL;
static GdkPixbuf* boxes_machine_thumbnailer_empty_thumbnail;
static GdkPixbuf* boxes_machine_thumbnailer_empty_thumbnail = NULL;
static GdkPixbuf* boxes_machine_thumbnailer_default_thumbnail;
static GdkPixbuf* boxes_machine_thumbnailer_default_thumbnail = NULL;
static GdkPixbuf* boxes_machine_thumbnailer_stopped_thumbnail;
static GdkPixbuf* boxes_machine_thumbnailer_stopped_thumbnail = NULL;

GType boxes_machine_thumbnailer_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_machine_get_type (void) G_GNUC_CONST;
#define BOXES_MACHINE_THUMBNAILER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailerPrivate))
enum  {
	BOXES_MACHINE_THUMBNAILER_DUMMY_PROPERTY,
	BOXES_MACHINE_THUMBNAILER_MACHINE,
	BOXES_MACHINE_THUMBNAILER_THUMBNAIL
};
#define BOXES_MACHINE_THUMBNAILER_FRAME_RADIUS 2.0
#define BOXES_MACHINE_THUMBNAILER_BIG_EMBLEM_SIZE 32
#define BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_SIZE 16
#define BOXES_MACHINE_THUMBNAILER_EMBLEM_PADDING 8
BoxesMachineThumbnailer* boxes_machine_thumbnailer_new (BoxesMachine* machine);
BoxesMachineThumbnailer* boxes_machine_thumbnailer_construct (GType object_type, BoxesMachine* machine);
static void boxes_machine_thumbnailer_update_thumbnail (BoxesMachineThumbnailer* self);
BoxesMachine* boxes_machine_thumbnailer_get_machine (BoxesMachineThumbnailer* self);
gboolean boxes_machine_get_is_stopped (BoxesMachine* self);
gboolean boxes_machine_get_under_construction (BoxesMachine* self);
static GdkPixbuf* boxes_machine_thumbnailer_get_under_construction_thumbnail (void);
static GdkPixbuf* boxes_machine_thumbnailer_get_stopped_thumbnail (void);
GdkPixbuf* boxes_machine_get_pixbuf (BoxesMachine* self);
static GdkPixbuf* boxes_machine_thumbnailer_get_default_thumbnail (void);
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_properties_page_get_type (void) G_GNUC_CONST;
GType property_creation_flag_get_type (void) G_GNUC_CONST;
GType boxes_property_get_type (void) G_GNUC_CONST;
GType boxes_iproperties_provider_get_type (void) G_GNUC_CONST;
GType boxes_machine_connect_flags_get_type (void) G_GNUC_CONST;
static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle);
static GdkPixbuf* boxes_machine_thumbnailer_add_emblem_icon (GdkPixbuf* pixbuf, const gchar* icon_name, GtkCornerType corner_type);
static void boxes_machine_thumbnailer_set_thumbnail (BoxesMachineThumbnailer* self, GdkPixbuf* value);
static GdkPixbuf* boxes_machine_thumbnailer_get_empty_thumbnail (void);
GdkPixbuf* boxes_paint_empty_frame (gint width, gint height, gdouble radius, GdkRGBA* border_color, GdkRGBA* bg_color);
#define BOXES_MACHINE_SCREENSHOT_WIDTH 180
#define BOXES_MACHINE_SCREENSHOT_HEIGHT 134
static GdkPixbuf* boxes_machine_thumbnailer_add_centered_emblem_icon (GdkPixbuf* pixbuf, const gchar* icon_name, gint size);
static gboolean _vala_gtk_corner_type_array_contains (GtkCornerType* stack, int stack_length, GtkCornerType needle);
static void boxes_machine_thumbnailer_set_machine (BoxesMachineThumbnailer* self, BoxesMachine* value);
GdkPixbuf* boxes_machine_thumbnailer_get_thumbnail (BoxesMachineThumbnailer* self);
static GObject * boxes_machine_thumbnailer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void _boxes_machine_thumbnailer___lambda206_ (BoxesMachineThumbnailer* self);
static void __boxes_machine_thumbnailer___lambda206__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void _boxes_machine_thumbnailer___lambda207_ (BoxesMachineThumbnailer* self);
static void __boxes_machine_thumbnailer___lambda207__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void _boxes_machine_thumbnailer___lambda208_ (BoxesMachineThumbnailer* self);
static void __boxes_machine_thumbnailer___lambda208__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void boxes_machine_thumbnailer_finalize (GObject* obj);
static void _vala_boxes_machine_thumbnailer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_machine_thumbnailer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);

static const GtkCornerType BOXES_MACHINE_THUMBNAILER_right_corners[2] = {GTK_CORNER_TOP_RIGHT, GTK_CORNER_BOTTOM_RIGHT};
static const GtkCornerType BOXES_MACHINE_THUMBNAILER_bottom_corners[2] = {GTK_CORNER_BOTTOM_LEFT, GTK_CORNER_BOTTOM_RIGHT};
const GdkRGBA BOXES_MACHINE_THUMBNAILER_FRAME_BORDER_COLOR = {0x3b / 255.0, 0x3c / 255.0, 0x38 / 255.0, 1.0};
const GdkRGBA BOXES_MACHINE_THUMBNAILER_FRAME_BACKGROUND_COLOR = {0x2d / 255.0, 0x2d / 255.0, 0x2d / 255.0, 1.0};
const GdkRGBA BOXES_MACHINE_THUMBNAILER_CENTERED_EMBLEM_COLOR = {0xbe / 255.0, 0xbe / 255.0, 0xbe / 255.0, 1.0};
const GdkRGBA BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_COLOR = {1.0, 1.0, 1.0, 1.0};

BoxesMachineThumbnailer* boxes_machine_thumbnailer_construct (GType object_type, BoxesMachine* machine) {
	BoxesMachineThumbnailer * self = NULL;
	BoxesMachine* _tmp0_ = NULL;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (machine != NULL, NULL);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = machine;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self = (BoxesMachineThumbnailer*) g_object_new (object_type, "machine", _tmp0_, NULL);
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return self;
#line 262 "machine-thumbnailer.c"
}


BoxesMachineThumbnailer* boxes_machine_thumbnailer_new (BoxesMachine* machine) {
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return boxes_machine_thumbnailer_construct (BOXES_TYPE_MACHINE_THUMBNAILER, machine);
#line 269 "machine-thumbnailer.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return self ? g_object_ref (self) : NULL;
#line 276 "machine-thumbnailer.c"
}


static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle) {
	int i;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	for (i = 0; i < stack_length; i++) {
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		if (g_strcmp0 (stack[i], needle) == 0) {
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			return TRUE;
#line 288 "machine-thumbnailer.c"
		}
	}
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return FALSE;
#line 293 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_update_thumbnail (BoxesMachineThumbnailer* self) {
	GdkPixbuf* new_thumbnail = NULL;
	BoxesMachine* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	GdkPixbuf* _tmp14_ = NULL;
	BoxesMachine* _tmp16_ = NULL;
	BoxesBoxConfig* _tmp17_ = NULL;
	gchar** _tmp18_ = NULL;
	gint _tmp18__length1 = 0;
	gchar** _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	gchar** _tmp20_ = NULL;
	gint _tmp20__length1 = 0;
	gboolean _tmp21_ = FALSE;
	GdkPixbuf* _tmp24_ = NULL;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_if_fail (self != NULL);
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = self->priv->_machine;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp1_ = boxes_machine_get_is_stopped (_tmp0_);
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp2_ = _tmp1_;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp2_) {
#line 323 "machine-thumbnailer.c"
		GdkPixbuf* _tmp3_ = NULL;
		BoxesMachine* _tmp4_ = NULL;
		gboolean _tmp5_ = FALSE;
		gboolean _tmp6_ = FALSE;
		GdkPixbuf* _tmp9_ = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp4_ = self->priv->_machine;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp5_ = boxes_machine_get_under_construction (_tmp4_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp6_ = _tmp5_;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		if (_tmp6_) {
#line 337 "machine-thumbnailer.c"
			GdkPixbuf* _tmp7_ = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_tmp7_ = boxes_machine_thumbnailer_get_under_construction_thumbnail ();
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_g_object_unref0 (_tmp3_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_tmp3_ = _tmp7_;
#line 345 "machine-thumbnailer.c"
		} else {
			GdkPixbuf* _tmp8_ = NULL;
#line 46 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_tmp8_ = boxes_machine_thumbnailer_get_stopped_thumbnail ();
#line 46 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_g_object_unref0 (_tmp3_);
#line 46 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_tmp3_ = _tmp8_;
#line 354 "machine-thumbnailer.c"
		}
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp9_ = _g_object_ref0 (_tmp3_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (new_thumbnail);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		new_thumbnail = _tmp9_;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (_tmp3_);
#line 364 "machine-thumbnailer.c"
	} else {
		BoxesMachine* _tmp10_ = NULL;
		GdkPixbuf* _tmp11_ = NULL;
		GdkPixbuf* _tmp12_ = NULL;
		GdkPixbuf* _tmp13_ = NULL;
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp10_ = self->priv->_machine;
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp11_ = boxes_machine_get_pixbuf (_tmp10_);
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp12_ = _tmp11_;
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp13_ = _g_object_ref0 (_tmp12_);
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (new_thumbnail);
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		new_thumbnail = _tmp13_;
#line 382 "machine-thumbnailer.c"
	}
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp14_ = new_thumbnail;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp14_ == NULL) {
#line 388 "machine-thumbnailer.c"
		GdkPixbuf* _tmp15_ = NULL;
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp15_ = boxes_machine_thumbnailer_get_default_thumbnail ();
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (new_thumbnail);
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		new_thumbnail = _tmp15_;
#line 396 "machine-thumbnailer.c"
	}
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp16_ = self->priv->_machine;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp17_ = _tmp16_->config;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp18_ = boxes_box_config_get_categories (_tmp17_, &_tmp18__length1);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp19_ = _tmp18_;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp19__length1 = _tmp18__length1;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp20_ = _tmp19_;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp20__length1 = _tmp19__length1;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp21_ = _vala_string_array_contains (_tmp20_, _tmp19__length1, "favorite");
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp21_) {
#line 418 "machine-thumbnailer.c"
		GdkPixbuf* _tmp22_ = NULL;
		GdkPixbuf* _tmp23_ = NULL;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp22_ = new_thumbnail;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp23_ = boxes_machine_thumbnailer_add_emblem_icon (_tmp22_, "starred-symbolic", GTK_CORNER_BOTTOM_LEFT);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (new_thumbnail);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		new_thumbnail = _tmp23_;
#line 429 "machine-thumbnailer.c"
	}
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp24_ = new_thumbnail;
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_set_thumbnail (self, _tmp24_);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (new_thumbnail);
#line 437 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_get_empty_thumbnail (void) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
	GdkRGBA _tmp3_ = {0};
	GdkPixbuf* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
#line 62 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = boxes_machine_thumbnailer_empty_thumbnail;
#line 62 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp0_ != NULL) {
#line 452 "machine-thumbnailer.c"
		GdkPixbuf* _tmp1_ = NULL;
		GdkPixbuf* _tmp2_ = NULL;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp1_ = boxes_machine_thumbnailer_empty_thumbnail;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp2_;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 463 "machine-thumbnailer.c"
	}
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp3_ = BOXES_MACHINE_THUMBNAILER_FRAME_BACKGROUND_COLOR;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp4_ = boxes_paint_empty_frame (BOXES_MACHINE_SCREENSHOT_WIDTH, BOXES_MACHINE_SCREENSHOT_HEIGHT, BOXES_MACHINE_THUMBNAILER_FRAME_RADIUS, &BOXES_MACHINE_THUMBNAILER_FRAME_BORDER_COLOR, &_tmp3_);
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (boxes_machine_thumbnailer_empty_thumbnail);
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_empty_thumbnail = _tmp4_;
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp5_ = boxes_machine_thumbnailer_empty_thumbnail;
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp6_;
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 481 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_get_default_thumbnail (void) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* frame = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	GdkPixbuf* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	GdkPixbuf* _tmp7_ = NULL;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = boxes_machine_thumbnailer_default_thumbnail;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp0_ != NULL) {
#line 498 "machine-thumbnailer.c"
		GdkPixbuf* _tmp1_ = NULL;
		GdkPixbuf* _tmp2_ = NULL;
#line 74 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp1_ = boxes_machine_thumbnailer_default_thumbnail;
#line 74 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 74 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp2_;
#line 74 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 509 "machine-thumbnailer.c"
	}
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp3_ = boxes_machine_thumbnailer_get_empty_thumbnail ();
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	frame = _tmp3_;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp4_ = frame;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp5_ = boxes_machine_thumbnailer_add_centered_emblem_icon (_tmp4_, "computer-symbolic", BOXES_MACHINE_THUMBNAILER_BIG_EMBLEM_SIZE);
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (boxes_machine_thumbnailer_default_thumbnail);
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_default_thumbnail = _tmp5_;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp6_ = boxes_machine_thumbnailer_default_thumbnail;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp7_ = _g_object_ref0 (_tmp6_);
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp7_;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (frame);
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 533 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_get_stopped_thumbnail (void) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* frame = NULL;
	GdkPixbuf* _tmp3_ = NULL;
	GdkPixbuf* _tmp4_ = NULL;
	GdkPixbuf* _tmp5_ = NULL;
	GdkPixbuf* _tmp6_ = NULL;
	GdkPixbuf* _tmp7_ = NULL;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = boxes_machine_thumbnailer_stopped_thumbnail;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp0_ != NULL) {
#line 550 "machine-thumbnailer.c"
		GdkPixbuf* _tmp1_ = NULL;
		GdkPixbuf* _tmp2_ = NULL;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp1_ = boxes_machine_thumbnailer_stopped_thumbnail;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp2_;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 561 "machine-thumbnailer.c"
	}
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp3_ = boxes_machine_thumbnailer_get_empty_thumbnail ();
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	frame = _tmp3_;
#line 88 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp4_ = frame;
#line 88 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp5_ = boxes_machine_thumbnailer_add_centered_emblem_icon (_tmp4_, "system-shutdown-symbolic", BOXES_MACHINE_THUMBNAILER_BIG_EMBLEM_SIZE);
#line 88 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (boxes_machine_thumbnailer_stopped_thumbnail);
#line 88 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_stopped_thumbnail = _tmp5_;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp6_ = boxes_machine_thumbnailer_stopped_thumbnail;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp7_ = _g_object_ref0 (_tmp6_);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp7_;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (frame);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 585 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_get_under_construction_thumbnail (void) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* _tmp0_ = NULL;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = boxes_machine_thumbnailer_get_empty_thumbnail ();
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp0_;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 598 "machine-thumbnailer.c"
}


static const gchar* string_to_string (const gchar* self) {
	const gchar* result = NULL;
#line 1314 "/home/zeenix/jhbuild/share/vala-0.30/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1315 "/home/zeenix/jhbuild/share/vala-0.30/vapi/glib-2.0.vapi"
	result = self;
#line 1315 "/home/zeenix/jhbuild/share/vala-0.30/vapi/glib-2.0.vapi"
	return result;
#line 610 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_add_centered_emblem_icon (GdkPixbuf* pixbuf, const gchar* icon_name, gint size) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* emblem = NULL;
	GtkIconTheme* theme = NULL;
	GtkIconTheme* _tmp0_ = NULL;
	GtkIconTheme* _tmp1_ = NULL;
	GdkPixbuf* _tmp19_ = NULL;
	gdouble offset_x = 0.0;
	GdkPixbuf* _tmp22_ = NULL;
	gint _tmp23_ = 0;
	gint _tmp24_ = 0;
	GdkPixbuf* _tmp25_ = NULL;
	gint _tmp26_ = 0;
	gint _tmp27_ = 0;
	gdouble offset_y = 0.0;
	GdkPixbuf* _tmp28_ = NULL;
	gint _tmp29_ = 0;
	gint _tmp30_ = 0;
	GdkPixbuf* _tmp31_ = NULL;
	gint _tmp32_ = 0;
	gint _tmp33_ = 0;
	GdkPixbuf* emblemed = NULL;
	GdkPixbuf* _tmp34_ = NULL;
	GdkPixbuf* _tmp35_ = NULL;
	GdkPixbuf* _tmp36_ = NULL;
	GdkPixbuf* _tmp37_ = NULL;
	gdouble _tmp38_ = 0.0;
	gdouble _tmp39_ = 0.0;
	gint _tmp40_ = 0;
	gint _tmp41_ = 0;
	gdouble _tmp42_ = 0.0;
	gdouble _tmp43_ = 0.0;
	GError * _inner_error_ = NULL;
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (pixbuf != NULL, NULL);
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (icon_name != NULL, NULL);
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	emblem = NULL;
#line 101 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = gtk_icon_theme_get_default ();
#line 101 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 101 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	theme = _tmp1_;
#line 659 "machine-thumbnailer.c"
	{
		GtkIconInfo* icon_info = NULL;
		GtkIconTheme* _tmp2_ = NULL;
		const gchar* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		GtkIconInfo* _tmp5_ = NULL;
		GdkPixbuf* _tmp6_ = NULL;
		GtkIconInfo* _tmp7_ = NULL;
		GdkPixbuf* _tmp8_ = NULL;
		GdkPixbuf* _tmp9_ = NULL;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp2_ = theme;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp3_ = icon_name;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp4_ = size;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp5_ = gtk_icon_theme_lookup_icon (_tmp2_, _tmp3_, _tmp4_, GTK_ICON_LOOKUP_FORCE_SIZE);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		icon_info = _tmp5_;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp7_ = icon_info;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp8_ = gtk_icon_info_load_symbolic (_tmp7_, &BOXES_MACHINE_THUMBNAILER_CENTERED_EMBLEM_COLOR, NULL, NULL, NULL, NULL, &_inner_error_);
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp6_ = _tmp8_;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_gtk_icon_info_free0 (icon_info);
#line 690 "machine-thumbnailer.c"
			goto __catch58_g_error;
		}
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp9_ = _tmp6_;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp6_ = NULL;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		emblem = _tmp9_;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (_tmp6_);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_gtk_icon_info_free0 (icon_info);
#line 705 "machine-thumbnailer.c"
	}
	goto __finally58;
	__catch58_g_error:
	{
		GError* _error_ = NULL;
		const gchar* _tmp10_ = NULL;
		const gchar* _tmp11_ = NULL;
		GError* _tmp12_ = NULL;
		const gchar* _tmp13_ = NULL;
		const gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		GdkPixbuf* _tmp17_ = NULL;
		GdkPixbuf* _tmp18_ = NULL;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_error_ = _inner_error_;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_inner_error_ = NULL;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp10_ = icon_name;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp11_ = string_to_string (_tmp10_);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp12_ = _error_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp13_ = _tmp12_->message;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp14_ = string_to_string (_tmp13_);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp15_ = g_strconcat ("Unable to get icon '", _tmp11_, "': ", _tmp14_, NULL);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp16_ = _tmp15_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_warning ("machine-thumbnailer.vala:106: %s", _tmp16_);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_free0 (_tmp16_);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp17_ = pixbuf;
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp18_ = _g_object_ref0 (_tmp17_);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp18_;
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_error_free0 (_error_);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 756 "machine-thumbnailer.c"
	}
	__finally58:
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_clear_error (&_inner_error_);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return NULL;
#line 771 "machine-thumbnailer.c"
	}
#line 110 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp19_ = emblem;
#line 110 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp19_ == NULL) {
#line 777 "machine-thumbnailer.c"
		GdkPixbuf* _tmp20_ = NULL;
		GdkPixbuf* _tmp21_ = NULL;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp20_ = pixbuf;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp21_ = _g_object_ref0 (_tmp20_);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp21_;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 792 "machine-thumbnailer.c"
	}
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp22_ = pixbuf;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp23_ = gdk_pixbuf_get_width (_tmp22_);
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp24_ = _tmp23_;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp25_ = emblem;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp26_ = gdk_pixbuf_get_width (_tmp25_);
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp27_ = _tmp26_;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	offset_x = (_tmp24_ / 2.0) - (_tmp27_ / 2.0);
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp28_ = pixbuf;
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp29_ = gdk_pixbuf_get_height (_tmp28_);
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp30_ = _tmp29_;
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp31_ = emblem;
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp32_ = gdk_pixbuf_get_height (_tmp31_);
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp33_ = _tmp32_;
#line 114 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	offset_y = (_tmp30_ / 2.0) - (_tmp33_ / 2.0);
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp34_ = pixbuf;
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp35_ = gdk_pixbuf_copy (_tmp34_);
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	emblemed = _tmp35_;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp36_ = emblem;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp37_ = emblemed;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp38_ = offset_x;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp39_ = offset_y;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp40_ = size;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp41_ = size;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp42_ = offset_x;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp43_ = offset_y;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	gdk_pixbuf_composite (_tmp36_, _tmp37_, (gint) _tmp38_, (gint) _tmp39_, _tmp40_, _tmp41_, _tmp42_, _tmp43_, 1.0, 1.0, GDK_INTERP_BILINEAR, 255);
#line 120 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = emblemed;
#line 120 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (theme);
#line 120 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (emblem);
#line 120 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 854 "machine-thumbnailer.c"
}


static gboolean _vala_gtk_corner_type_array_contains (GtkCornerType* stack, int stack_length, GtkCornerType needle) {
	int i;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	for (i = 0; i < stack_length; i++) {
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		if (needle == stack[i]) {
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			return TRUE;
#line 866 "machine-thumbnailer.c"
		}
	}
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return FALSE;
#line 871 "machine-thumbnailer.c"
}


static GdkPixbuf* boxes_machine_thumbnailer_add_emblem_icon (GdkPixbuf* pixbuf, const gchar* icon_name, GtkCornerType corner_type) {
	GdkPixbuf* result = NULL;
	GdkPixbuf* emblem = NULL;
	GtkIconTheme* theme = NULL;
	GtkIconTheme* _tmp0_ = NULL;
	GtkIconTheme* _tmp1_ = NULL;
	GdkPixbuf* _tmp18_ = NULL;
	gint _tmp21_ = 0;
	GtkCornerType _tmp22_ = 0;
	gint offset_x = 0;
	gint _tmp29_ = 0;
	GtkCornerType _tmp30_ = 0;
	gint offset_y = 0;
	GdkPixbuf* emblemed = NULL;
	GdkPixbuf* _tmp37_ = NULL;
	GdkPixbuf* _tmp38_ = NULL;
	GdkPixbuf* _tmp39_ = NULL;
	GdkPixbuf* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gint _tmp43_ = 0;
	gint _tmp44_ = 0;
	GError * _inner_error_ = NULL;
#line 124 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (pixbuf != NULL, NULL);
#line 124 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (icon_name != NULL, NULL);
#line 125 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	emblem = NULL;
#line 127 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = gtk_icon_theme_get_default ();
#line 127 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 127 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	theme = _tmp1_;
#line 910 "machine-thumbnailer.c"
	{
		GtkIconInfo* icon_info = NULL;
		GtkIconTheme* _tmp2_ = NULL;
		const gchar* _tmp3_ = NULL;
		GtkIconInfo* _tmp4_ = NULL;
		GdkPixbuf* _tmp5_ = NULL;
		GtkIconInfo* _tmp6_ = NULL;
		GdkPixbuf* _tmp7_ = NULL;
		GdkPixbuf* _tmp8_ = NULL;
#line 129 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp2_ = theme;
#line 129 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp3_ = icon_name;
#line 129 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp4_ = gtk_icon_theme_lookup_icon (_tmp2_, _tmp3_, BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_SIZE, GTK_ICON_LOOKUP_FORCE_SIZE);
#line 129 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		icon_info = _tmp4_;
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp6_ = icon_info;
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp7_ = gtk_icon_info_load_symbolic (_tmp6_, &BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_COLOR, NULL, NULL, NULL, NULL, &_inner_error_);
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp5_ = _tmp7_;
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
			_gtk_icon_info_free0 (icon_info);
#line 938 "machine-thumbnailer.c"
			goto __catch59_g_error;
		}
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp8_ = _tmp5_;
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp5_ = NULL;
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 130 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		emblem = _tmp8_;
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (_tmp5_);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_gtk_icon_info_free0 (icon_info);
#line 953 "machine-thumbnailer.c"
	}
	goto __finally59;
	__catch59_g_error:
	{
		GError* _error_ = NULL;
		const gchar* _tmp9_ = NULL;
		const gchar* _tmp10_ = NULL;
		GError* _tmp11_ = NULL;
		const gchar* _tmp12_ = NULL;
		const gchar* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		GdkPixbuf* _tmp16_ = NULL;
		GdkPixbuf* _tmp17_ = NULL;
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_error_ = _inner_error_;
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_inner_error_ = NULL;
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp9_ = icon_name;
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp10_ = string_to_string (_tmp9_);
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp11_ = _error_;
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp12_ = _tmp11_->message;
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp13_ = string_to_string (_tmp12_);
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp14_ = g_strconcat ("Unable to get icon '", _tmp10_, "': ", _tmp13_, NULL);
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp15_ = _tmp14_;
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_warning ("machine-thumbnailer.vala:132: %s", _tmp15_);
#line 132 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_free0 (_tmp15_);
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp16_ = pixbuf;
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp17_ = _g_object_ref0 (_tmp16_);
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp17_;
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_error_free0 (_error_);
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 1004 "machine-thumbnailer.c"
	}
	__finally59:
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_clear_error (&_inner_error_);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return NULL;
#line 1019 "machine-thumbnailer.c"
	}
#line 136 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp18_ = emblem;
#line 136 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_tmp18_ == NULL) {
#line 1025 "machine-thumbnailer.c"
		GdkPixbuf* _tmp19_ = NULL;
		GdkPixbuf* _tmp20_ = NULL;
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp19_ = pixbuf;
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp20_ = _g_object_ref0 (_tmp19_);
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		result = _tmp20_;
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (theme);
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_g_object_unref0 (emblem);
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		return result;
#line 1040 "machine-thumbnailer.c"
	}
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp22_ = corner_type;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_vala_gtk_corner_type_array_contains (BOXES_MACHINE_THUMBNAILER_right_corners, G_N_ELEMENTS (BOXES_MACHINE_THUMBNAILER_right_corners), _tmp22_)) {
#line 1046 "machine-thumbnailer.c"
		GdkPixbuf* _tmp23_ = NULL;
		gint _tmp24_ = 0;
		gint _tmp25_ = 0;
		GdkPixbuf* _tmp26_ = NULL;
		gint _tmp27_ = 0;
		gint _tmp28_ = 0;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp23_ = pixbuf;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp24_ = gdk_pixbuf_get_width (_tmp23_);
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp25_ = _tmp24_;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp26_ = emblem;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp27_ = gdk_pixbuf_get_width (_tmp26_);
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp28_ = _tmp27_;
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp21_ = (_tmp25_ - _tmp28_) - BOXES_MACHINE_THUMBNAILER_EMBLEM_PADDING;
#line 1067 "machine-thumbnailer.c"
	} else {
#line 140 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp21_ = BOXES_MACHINE_THUMBNAILER_EMBLEM_PADDING;
#line 1071 "machine-thumbnailer.c"
	}
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	offset_x = _tmp21_;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp30_ = corner_type;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	if (_vala_gtk_corner_type_array_contains (BOXES_MACHINE_THUMBNAILER_bottom_corners, G_N_ELEMENTS (BOXES_MACHINE_THUMBNAILER_bottom_corners), _tmp30_)) {
#line 1079 "machine-thumbnailer.c"
		GdkPixbuf* _tmp31_ = NULL;
		gint _tmp32_ = 0;
		gint _tmp33_ = 0;
		GdkPixbuf* _tmp34_ = NULL;
		gint _tmp35_ = 0;
		gint _tmp36_ = 0;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp31_ = pixbuf;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp32_ = gdk_pixbuf_get_height (_tmp31_);
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp33_ = _tmp32_;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp34_ = emblem;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp35_ = gdk_pixbuf_get_height (_tmp34_);
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp36_ = _tmp35_;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp29_ = (_tmp33_ - _tmp36_) - BOXES_MACHINE_THUMBNAILER_EMBLEM_PADDING;
#line 1100 "machine-thumbnailer.c"
	} else {
#line 143 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		_tmp29_ = BOXES_MACHINE_THUMBNAILER_EMBLEM_PADDING;
#line 1104 "machine-thumbnailer.c"
	}
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	offset_y = _tmp29_;
#line 145 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp37_ = pixbuf;
#line 145 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp38_ = gdk_pixbuf_copy (_tmp37_);
#line 145 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	emblemed = _tmp38_;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp39_ = emblem;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp40_ = emblemed;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp41_ = offset_x;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp42_ = offset_y;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp43_ = offset_x;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp44_ = offset_y;
#line 146 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	gdk_pixbuf_composite (_tmp39_, _tmp40_, _tmp41_, _tmp42_, BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_SIZE, BOXES_MACHINE_THUMBNAILER_SMALL_EMBLEM_SIZE, (gdouble) _tmp43_, (gdouble) _tmp44_, 1.0, 1.0, GDK_INTERP_BILINEAR, 255);
#line 149 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = emblemed;
#line 149 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (theme);
#line 149 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (emblem);
#line 149 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 1136 "machine-thumbnailer.c"
}


BoxesMachine* boxes_machine_thumbnailer_get_machine (BoxesMachineThumbnailer* self) {
	BoxesMachine* result;
	BoxesMachine* _tmp0_ = NULL;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = self->priv->_machine;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp0_;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 1151 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_set_machine (BoxesMachineThumbnailer* self, BoxesMachine* value) {
	BoxesMachine* _tmp0_ = NULL;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_if_fail (self != NULL);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = value;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self->priv->_machine = _tmp0_;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_object_notify ((GObject *) self, "machine");
#line 1165 "machine-thumbnailer.c"
}


GdkPixbuf* boxes_machine_thumbnailer_get_thumbnail (BoxesMachineThumbnailer* self) {
	GdkPixbuf* result;
	GdkPixbuf* _tmp0_ = NULL;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = self->priv->_thumbnail;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	result = _tmp0_;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return result;
#line 1180 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_set_thumbnail (BoxesMachineThumbnailer* self, GdkPixbuf* value) {
	GdkPixbuf* _tmp0_ = NULL;
	GdkPixbuf* _tmp1_ = NULL;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_return_if_fail (self != NULL);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = value;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (self->priv->_thumbnail);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self->priv->_thumbnail = _tmp1_;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_object_notify ((GObject *) self, "thumbnail");
#line 1199 "machine-thumbnailer.c"
}


static void _boxes_machine_thumbnailer___lambda206_ (BoxesMachineThumbnailer* self) {
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_update_thumbnail (self);
#line 1206 "machine-thumbnailer.c"
}


static void __boxes_machine_thumbnailer___lambda206__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_boxes_machine_thumbnailer___lambda206_ ((BoxesMachineThumbnailer*) self);
#line 1213 "machine-thumbnailer.c"
}


static void _boxes_machine_thumbnailer___lambda207_ (BoxesMachineThumbnailer* self) {
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_update_thumbnail (self);
#line 1220 "machine-thumbnailer.c"
}


static void __boxes_machine_thumbnailer___lambda207__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_boxes_machine_thumbnailer___lambda207_ ((BoxesMachineThumbnailer*) self);
#line 1227 "machine-thumbnailer.c"
}


static void _boxes_machine_thumbnailer___lambda208_ (BoxesMachineThumbnailer* self) {
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_update_thumbnail (self);
#line 1234 "machine-thumbnailer.c"
}


static void __boxes_machine_thumbnailer___lambda208__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_boxes_machine_thumbnailer___lambda208_ ((BoxesMachineThumbnailer*) self);
#line 1241 "machine-thumbnailer.c"
}


static GObject * boxes_machine_thumbnailer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	BoxesMachineThumbnailer * self;
	BoxesMachine* _tmp0_ = NULL;
	BoxesMachine* _tmp1_ = NULL;
	BoxesMachine* _tmp2_ = NULL;
	BoxesBoxConfig* _tmp3_ = NULL;
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	parent_class = G_OBJECT_CLASS (boxes_machine_thumbnailer_parent_class);
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer);
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp0_ = self->priv->_machine;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_signal_connect_object ((GObject*) _tmp0_, "notify::pixbuf", (GCallback) __boxes_machine_thumbnailer___lambda206__g_object_notify, self, 0);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp1_ = self->priv->_machine;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_signal_connect_object ((GObject*) _tmp1_, "notify::under-construction", (GCallback) __boxes_machine_thumbnailer___lambda207__g_object_notify, self, 0);
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp2_ = self->priv->_machine;
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_tmp3_ = _tmp2_->config;
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_signal_connect_object ((GObject*) _tmp3_, "notify::categories", (GCallback) __boxes_machine_thumbnailer___lambda208__g_object_notify, self, 0);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_update_thumbnail (self);
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	return obj;
#line 1277 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_class_init (BoxesMachineThumbnailerClass * klass) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	boxes_machine_thumbnailer_parent_class = g_type_class_peek_parent (klass);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_type_class_add_private (klass, sizeof (BoxesMachineThumbnailerPrivate));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_machine_thumbnailer_get_property;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_machine_thumbnailer_set_property;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_machine_thumbnailer_constructor;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_machine_thumbnailer_finalize;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_THUMBNAILER_MACHINE, g_param_spec_object ("machine", "machine", "machine", BOXES_TYPE_MACHINE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_THUMBNAILER_THUMBNAIL, g_param_spec_object ("thumbnail", "thumbnail", "thumbnail", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 1298 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_instance_init (BoxesMachineThumbnailer * self) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self->priv = BOXES_MACHINE_THUMBNAILER_GET_PRIVATE (self);
#line 1305 "machine-thumbnailer.c"
}


static void boxes_machine_thumbnailer_finalize (GObject* obj) {
	BoxesMachineThumbnailer * self;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	_g_object_unref0 (self->priv->_thumbnail);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	G_OBJECT_CLASS (boxes_machine_thumbnailer_parent_class)->finalize (obj);
#line 1317 "machine-thumbnailer.c"
}


GType boxes_machine_thumbnailer_get_type (void) {
	static volatile gsize boxes_machine_thumbnailer_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_machine_thumbnailer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesMachineThumbnailerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_machine_thumbnailer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesMachineThumbnailer), 0, (GInstanceInitFunc) boxes_machine_thumbnailer_instance_init, NULL };
		GType boxes_machine_thumbnailer_type_id;
		boxes_machine_thumbnailer_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesMachineThumbnailer", &g_define_type_info, 0);
		g_once_init_leave (&boxes_machine_thumbnailer_type_id__volatile, boxes_machine_thumbnailer_type_id);
	}
	return boxes_machine_thumbnailer_type_id__volatile;
}


static void _vala_boxes_machine_thumbnailer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesMachineThumbnailer * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	switch (property_id) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		case BOXES_MACHINE_THUMBNAILER_MACHINE:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_value_set_object (value, boxes_machine_thumbnailer_get_machine (self));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		case BOXES_MACHINE_THUMBNAILER_THUMBNAIL:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		g_value_set_object (value, boxes_machine_thumbnailer_get_thumbnail (self));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 1350 "machine-thumbnailer.c"
		default:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 1356 "machine-thumbnailer.c"
	}
}


static void _vala_boxes_machine_thumbnailer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesMachineThumbnailer * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
	switch (property_id) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		case BOXES_MACHINE_THUMBNAILER_MACHINE:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		boxes_machine_thumbnailer_set_machine (self, g_value_get_object (value));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		case BOXES_MACHINE_THUMBNAILER_THUMBNAIL:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		boxes_machine_thumbnailer_set_thumbnail (self, g_value_get_object (value));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 1378 "machine-thumbnailer.c"
		default:
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/machine-thumbnailer.vala"
		break;
#line 1384 "machine-thumbnailer.c"
	}
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
	if ((array != NULL) && (destroy_func != NULL)) {
#line 1392 "machine-thumbnailer.c"
		int i;
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
		for (i = 0; i < array_length; i = i + 1) {
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
			if (((gpointer*) array)[i] != NULL) {
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
				destroy_func (((gpointer*) array)[i]);
#line 1400 "machine-thumbnailer.c"
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
	_vala_array_destroy (array, array_length, destroy_func);
#line 518 "/home/zeenix/checkout/gnome/gnome-boxes/src/libvirt-machine.vala"
	g_free (array);
#line 1412 "machine-thumbnailer.c"
}



