/* chess-pgn.c generated by valac 0.38.0.11-8bd7f, the Vala compiler
 * generated from chess-pgn.vala, do not modify */

/* -*- Mode: vala; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * Copyright (C) 2010-2014 Robert Ancell
 * Copyright (C) 2015-2016 Sahil Sareen
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
 * license.
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <stdio.h>


#define TYPE_PGN_GAME (pgn_game_get_type ())
#define PGN_GAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PGN_GAME, PGNGame))
#define PGN_GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PGN_GAME, PGNGameClass))
#define IS_PGN_GAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PGN_GAME))
#define IS_PGN_GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PGN_GAME))
#define PGN_GAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PGN_GAME, PGNGameClass))

typedef struct _PGNGame PGNGame;
typedef struct _PGNGameClass PGNGameClass;
typedef struct _PGNGamePrivate PGNGamePrivate;
enum  {
	PGN_GAME_DUMMY_PROPERTY,
	PGN_GAME_EVENT_PROPERTY,
	PGN_GAME_SITE_PROPERTY,
	PGN_GAME_DATE_PROPERTY,
	PGN_GAME_TIME_PROPERTY,
	PGN_GAME_ROUND_PROPERTY,
	PGN_GAME_WHITE_PROPERTY,
	PGN_GAME_BLACK_PROPERTY,
	PGN_GAME_RESULT_PROPERTY,
	PGN_GAME_ANNOTATOR_PROPERTY,
	PGN_GAME_TIME_CONTROL_PROPERTY,
	PGN_GAME_WHITE_TIME_LEFT_PROPERTY,
	PGN_GAME_BLACK_TIME_LEFT_PROPERTY,
	PGN_GAME_CLOCK_TYPE_PROPERTY,
	PGN_GAME_TIMER_INCREMENT_PROPERTY,
	PGN_GAME_SET_UP_PROPERTY,
	PGN_GAME_FEN_PROPERTY,
	PGN_GAME_TERMINATION_PROPERTY,
	PGN_GAME_WHITE_AI_PROPERTY,
	PGN_GAME_WHITE_LEVEL_PROPERTY,
	PGN_GAME_BLACK_AI_PROPERTY,
	PGN_GAME_BLACK_LEVEL_PROPERTY,
	PGN_GAME_LAST_PROPERTY
};
static GParamSpec* pgn_game_properties[PGN_GAME_LAST_PROPERTY];
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))

#define TYPE_STATE (state_get_type ())

#define TYPE_PGN (pgn_get_type ())
#define PGN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PGN, PGN))
#define PGN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PGN, PGNClass))
#define IS_PGN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PGN))
#define IS_PGN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PGN))
#define PGN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PGN, PGNClass))

typedef struct _PGN PGN;
typedef struct _PGNClass PGNClass;
typedef struct _PGNPrivate PGNPrivate;
enum  {
	PGN_DUMMY_PROPERTY,
	PGN_LAST_PROPERTY
};
static GParamSpec* pgn_properties[PGN_LAST_PROPERTY];
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

#define TYPE_CLOCK_TYPE (clock_type_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

typedef enum  {
	PGN_ERROR_LOAD_ERROR
} PGNError;
#define PGN_ERROR pgn_error_quark ()
struct _PGNGame {
	GObject parent_instance;
	PGNGamePrivate * priv;
	GHashTable* tags;
	GList* moves;
};

struct _PGNGameClass {
	GObjectClass parent_class;
};

typedef enum  {
	STATE_TAGS,
	STATE_MOVE_TEXT,
	STATE_LINE_COMMENT,
	STATE_BRACE_COMMENT,
	STATE_TAG_START,
	STATE_TAG_NAME,
	STATE_PRE_TAG_VALUE,
	STATE_TAG_VALUE,
	STATE_POST_TAG_VALUE,
	STATE_SYMBOL,
	STATE_PERIOD,
	STATE_NAG,
	STATE_ERROR
} State;

struct _PGN {
	GObject parent_instance;
	PGNPrivate * priv;
	GList* games;
};

struct _PGNClass {
	GObjectClass parent_class;
};

typedef enum  {
	CLOCK_TYPE_SIMPLE,
	CLOCK_TYPE_FISCHER,
	CLOCK_TYPE_BRONSTEIN,
	CLOCK_TYPE_INVALID
} ClockType;


static gpointer pgn_game_parent_class = NULL;
extern gchar* pgn_game_RESULT_IN_PROGRESS;
gchar* pgn_game_RESULT_IN_PROGRESS = NULL;
extern gchar* pgn_game_RESULT_DRAW;
gchar* pgn_game_RESULT_DRAW = NULL;
extern gchar* pgn_game_RESULT_WHITE;
gchar* pgn_game_RESULT_WHITE = NULL;
extern gchar* pgn_game_RESULT_BLACK;
gchar* pgn_game_RESULT_BLACK = NULL;
extern gchar* pgn_game_TERMINATE_ABANDONED;
gchar* pgn_game_TERMINATE_ABANDONED = NULL;
extern gchar* pgn_game_TERMINATE_ADJUDICATION;
gchar* pgn_game_TERMINATE_ADJUDICATION = NULL;
extern gchar* pgn_game_TERMINATE_DEATH;
gchar* pgn_game_TERMINATE_DEATH = NULL;
extern gchar* pgn_game_TERMINATE_EMERGENCY;
gchar* pgn_game_TERMINATE_EMERGENCY = NULL;
extern gchar* pgn_game_TERMINATE_NORMAL;
gchar* pgn_game_TERMINATE_NORMAL = NULL;
extern gchar* pgn_game_TERMINATE_RULES_INFRACTION;
gchar* pgn_game_TERMINATE_RULES_INFRACTION = NULL;
extern gchar* pgn_game_TERMINATE_TIME_FORFEIT;
gchar* pgn_game_TERMINATE_TIME_FORFEIT = NULL;
extern gchar* pgn_game_TERMINATE_UNTERMINATED;
gchar* pgn_game_TERMINATE_UNTERMINATED = NULL;
static gpointer pgn_parent_class = NULL;

gint str_index (const gchar* name);
gint compare_tag (const gchar* name0, const gchar* name1);
GQuark pgn_error_quark (void);
GType pgn_game_get_type (void) G_GNUC_CONST;
static void _g_free0_ (gpointer var);
static inline void _g_list_free__g_free0_ (GList* self);
PGNGame* pgn_game_new (void);
PGNGame* pgn_game_construct (GType object_type);
gchar* pgn_game_escape (PGNGame* self, const gchar* value);
void pgn_game_write (PGNGame* self, GFile* file, GError** error);
const gchar* pgn_game_get_result (PGNGame* self);
const gchar* pgn_game_get_event (PGNGame* self);
void pgn_game_set_event (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_site (PGNGame* self);
void pgn_game_set_site (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_date (PGNGame* self);
void pgn_game_set_date (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_time (PGNGame* self);
void pgn_game_set_time (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_round (PGNGame* self);
void pgn_game_set_round (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_white (PGNGame* self);
void pgn_game_set_white (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_black (PGNGame* self);
void pgn_game_set_black (PGNGame* self, const gchar* value);
void pgn_game_set_result (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_annotator (PGNGame* self);
void pgn_game_set_annotator (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_time_control (PGNGame* self);
void pgn_game_set_time_control (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_white_time_left (PGNGame* self);
void pgn_game_set_white_time_left (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_black_time_left (PGNGame* self);
void pgn_game_set_black_time_left (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_clock_type (PGNGame* self);
void pgn_game_set_clock_type (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_timer_increment (PGNGame* self);
void pgn_game_set_timer_increment (PGNGame* self, const gchar* value);
gboolean pgn_game_get_set_up (PGNGame* self);
void pgn_game_set_set_up (PGNGame* self, gboolean value);
const gchar* pgn_game_get_fen (PGNGame* self);
void pgn_game_set_fen (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_termination (PGNGame* self);
void pgn_game_set_termination (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_white_ai (PGNGame* self);
void pgn_game_set_white_ai (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_white_level (PGNGame* self);
void pgn_game_set_white_level (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_black_ai (PGNGame* self);
void pgn_game_set_black_ai (PGNGame* self, const gchar* value);
const gchar* pgn_game_get_black_level (PGNGame* self);
void pgn_game_set_black_level (PGNGame* self, const gchar* value);
static void pgn_game_finalize (GObject * obj);
static void _vala_pgn_game_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_pgn_game_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType state_get_type (void) G_GNUC_CONST;
GType pgn_get_type (void) G_GNUC_CONST;
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static void pgn_insert_tag (PGN* self, PGNGame* game, const gchar* tag_name, const gchar* tag_value);
GType clock_type_get_type (void) G_GNUC_CONST;
ClockType clock_type_string_to_enum (const gchar* s);
PGN* pgn_new_from_string (const gchar* data, GError** error);
PGN* pgn_construct_from_string (GType object_type, const gchar* data, GError** error);
PGN* pgn_new_from_file (GFile* file, GError** error);
PGN* pgn_construct_from_file (GType object_type, GFile* file, GError** error);
PGN* pgn_new (void);
PGN* pgn_construct (GType object_type);
static void pgn_finalize (GObject * obj);


gint str_index (const gchar* name) {
	gint result = 0;
	const gchar* _tmp0_;
#line 13 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (name != NULL, 0);
#line 15 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = name;
#line 15 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (g_strcmp0 (_tmp0_, "Event") == 0) {
#line 16 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		result = 0;
#line 16 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return result;
#line 252 "chess-pgn.c"
	} else {
		const gchar* _tmp1_;
#line 17 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp1_ = name;
#line 17 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		if (g_strcmp0 (_tmp1_, "Site") == 0) {
#line 18 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			result = 1;
#line 18 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			return result;
#line 263 "chess-pgn.c"
		} else {
			const gchar* _tmp2_;
#line 19 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_tmp2_ = name;
#line 19 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			if (g_strcmp0 (_tmp2_, "Date") == 0) {
#line 20 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				result = 2;
#line 20 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				return result;
#line 274 "chess-pgn.c"
			} else {
				const gchar* _tmp3_;
#line 21 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp3_ = name;
#line 21 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (g_strcmp0 (_tmp3_, "Round") == 0) {
#line 22 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					result = 3;
#line 22 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					return result;
#line 285 "chess-pgn.c"
				} else {
					const gchar* _tmp4_;
#line 23 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp4_ = name;
#line 23 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					if (g_strcmp0 (_tmp4_, "White") == 0) {
#line 24 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						result = 4;
#line 24 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						return result;
#line 296 "chess-pgn.c"
					} else {
						const gchar* _tmp5_;
#line 25 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp5_ = name;
#line 25 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (g_strcmp0 (_tmp5_, "Black") == 0) {
#line 26 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							result = 5;
#line 26 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							return result;
#line 307 "chess-pgn.c"
						} else {
							const gchar* _tmp6_;
#line 27 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp6_ = name;
#line 27 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (g_strcmp0 (_tmp6_, "Result") == 0) {
#line 28 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								result = 6;
#line 28 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								return result;
#line 318 "chess-pgn.c"
							} else {
#line 30 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								result = 7;
#line 30 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								return result;
#line 324 "chess-pgn.c"
							}
						}
					}
				}
			}
		}
	}
}


gint compare_tag (const gchar* name0, const gchar* name1) {
	gint result = 0;
	gint str_index0 = 0;
	const gchar* _tmp0_;
	gint _tmp1_;
	gint str_index1 = 0;
	const gchar* _tmp2_;
	gint _tmp3_;
	gboolean _tmp4_ = FALSE;
	gint _tmp5_;
#line 33 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (name0 != NULL, 0);
#line 33 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (name1 != NULL, 0);
#line 35 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = name0;
#line 35 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = str_index (_tmp0_);
#line 35 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	str_index0 = _tmp1_;
#line 36 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = name1;
#line 36 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = str_index (_tmp2_);
#line 36 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	str_index1 = _tmp3_;
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp5_ = str_index0;
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp5_ == 7) {
#line 365 "chess-pgn.c"
		gint _tmp6_;
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp6_ = str_index1;
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp4_ = _tmp6_ == 7;
#line 371 "chess-pgn.c"
	} else {
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp4_ = FALSE;
#line 375 "chess-pgn.c"
	}
#line 39 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp4_) {
#line 379 "chess-pgn.c"
		GCompareFunc _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		gint _tmp10_;
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp7_ = g_strcmp0;
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp8_ = name0;
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp9_ = name1;
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp10_ = _tmp7_ (_tmp8_, _tmp9_);
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		result = _tmp10_;
#line 40 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return result;
#line 396 "chess-pgn.c"
	} else {
		gint _tmp11_;
		gint _tmp12_;
#line 42 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp11_ = str_index0;
#line 42 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp12_ = str_index1;
#line 42 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		result = _tmp11_ - _tmp12_;
#line 42 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return result;
#line 408 "chess-pgn.c"
	}
}


GQuark pgn_error_quark (void) {
	return g_quark_from_static_string ("pgn_error-quark");
}


static void _g_free0_ (gpointer var) {
#line 53 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	var = (g_free (var), NULL);
#line 421 "chess-pgn.c"
}


static inline void _g_list_free__g_free0_ (GList* self) {
#line 53 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_list_free_full (self, (GDestroyNotify) _g_free0_);
#line 428 "chess-pgn.c"
}


PGNGame* pgn_game_construct (GType object_type) {
	PGNGame * self = NULL;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	GHashTable* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	GHashTable* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	GHashTable* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GHashTable* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	GHashTable* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	GHashTable* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	GHashTable* _tmp21_;
	gchar* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
#line 175 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = (PGNGame*) g_object_new (object_type, NULL);
#line 177 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = g_str_hash;
#line 177 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_str_equal;
#line 177 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_);
#line 177 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_hash_table_unref0 (self->tags);
#line 177 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self->tags = _tmp2_;
#line 178 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = self->tags;
#line 178 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp4_ = g_strdup ("Event");
#line 178 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp5_ = g_strdup ("?");
#line 178 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp3_, _tmp4_, _tmp5_);
#line 179 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp6_ = self->tags;
#line 179 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp7_ = g_strdup ("Site");
#line 179 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp8_ = g_strdup ("?");
#line 179 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp6_, _tmp7_, _tmp8_);
#line 180 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp9_ = self->tags;
#line 180 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp10_ = g_strdup ("Date");
#line 180 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp11_ = g_strdup ("????.??.??");
#line 180 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp9_, _tmp10_, _tmp11_);
#line 181 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp12_ = self->tags;
#line 181 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp13_ = g_strdup ("Round");
#line 181 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp14_ = g_strdup ("?");
#line 181 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp12_, _tmp13_, _tmp14_);
#line 182 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp15_ = self->tags;
#line 182 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp16_ = g_strdup ("White");
#line 182 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp17_ = g_strdup ("?");
#line 182 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp15_, _tmp16_, _tmp17_);
#line 183 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp18_ = self->tags;
#line 183 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp19_ = g_strdup ("Black");
#line 183 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp20_ = g_strdup ("?");
#line 183 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp18_, _tmp19_, _tmp20_);
#line 184 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp21_ = self->tags;
#line 184 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp22_ = g_strdup ("Result");
#line 184 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp23_ = pgn_game_RESULT_IN_PROGRESS;
#line 184 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp24_ = g_strdup (_tmp23_);
#line 184 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp21_, _tmp22_, _tmp24_);
#line 175 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return self;
#line 531 "chess-pgn.c"
}


PGNGame* pgn_game_new (void) {
#line 175 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return pgn_game_construct (TYPE_PGN_GAME);
#line 538 "chess-pgn.c"
}


static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1415 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1415 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (old != NULL, NULL);
#line 1415 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (replacement != NULL, NULL);
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if ((*((gchar*) self)) == '\0') {
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp1_ = TRUE;
#line 557 "chess-pgn.c"
	} else {
		const gchar* _tmp2_;
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp2_ = old;
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp1_ = (*((gchar*) _tmp2_)) == '\0';
#line 564 "chess-pgn.c"
	}
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp1_) {
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp0_ = TRUE;
#line 570 "chess-pgn.c"
	} else {
		const gchar* _tmp3_;
		const gchar* _tmp4_;
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp3_ = old;
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp4_ = replacement;
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp0_ = g_strcmp0 (_tmp3_, _tmp4_) == 0;
#line 580 "chess-pgn.c"
	}
#line 1416 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 584 "chess-pgn.c"
		gchar* _tmp5_;
#line 1417 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp5_ = g_strdup (self);
#line 1417 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		result = _tmp5_;
#line 1417 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		return result;
#line 592 "chess-pgn.c"
	}
	{
		GRegex* regex = NULL;
		const gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		GRegex* _tmp9_;
		GRegex* _tmp10_;
		gchar* _tmp11_ = NULL;
		GRegex* _tmp12_;
		const gchar* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp6_ = old;
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp7_ = g_regex_escape_string (_tmp6_, -1);
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp8_ = _tmp7_;
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp9_ = g_regex_new (_tmp8_, 0, 0, &_inner_error_);
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp10_ = _tmp9_;
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_g_free0 (_tmp8_);
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		regex = _tmp10_;
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 624 "chess-pgn.c"
				goto __catch0_g_regex_error;
			}
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1420 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			return NULL;
#line 633 "chess-pgn.c"
		}
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp12_ = regex;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp13_ = replacement;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp14_ = g_regex_replace_literal (_tmp12_, self, (gssize) -1, 0, _tmp13_, 0, &_inner_error_);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp11_ = _tmp14_;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 649 "chess-pgn.c"
				goto __catch0_g_regex_error;
			}
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			return NULL;
#line 660 "chess-pgn.c"
		}
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp15_ = _tmp11_;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp11_ = NULL;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		result = _tmp15_;
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_g_free0 (_tmp11_);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_g_regex_unref0 (regex);
#line 1421 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		return result;
#line 674 "chess-pgn.c"
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		GError* e = NULL;
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		e = _inner_error_;
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_inner_error_ = NULL;
#line 1423 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		g_assert_not_reached ();
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_g_error_free0 (e);
#line 688 "chess-pgn.c"
	}
	__finally0:
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		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 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		g_clear_error (&_inner_error_);
#line 1419 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		return NULL;
#line 699 "chess-pgn.c"
	}
}


gchar* pgn_game_escape (PGNGame* self, const gchar* value) {
	gchar* result = NULL;
	gchar* a = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
#line 187 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 187 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (value != NULL, NULL);
#line 189 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = value;
#line 189 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = string_replace (_tmp0_, "\\", "\\\\");
#line 189 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	a = _tmp1_;
#line 190 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = string_replace (a, "\"", "\\\"");
#line 190 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = _tmp2_;
#line 190 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_free0 (a);
#line 190 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 728 "chess-pgn.c"
}


static guint8* string_get_data (const gchar* self, int* result_length1) {
	guint8* result;
	guint8* res = NULL;
	gint res_length1;
	gint _res_size_;
	gint _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	guint8* _tmp3_;
	gint _tmp3__length1;
	guint8* _tmp4_;
	gint _tmp4__length1;
#line 1436 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1437 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	res = (guint8*) self;
#line 1437 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	res_length1 = -1;
#line 1437 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_res_size_ = res_length1;
#line 1438 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1438 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1438 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	res_length1 = (gint) _tmp1_;
#line 1438 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp2_ = res_length1;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp3_ = res;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp3__length1 = res_length1;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp4_ = _tmp3_;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp4__length1 = _tmp3__length1;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (result_length1) {
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		*result_length1 = _tmp4__length1;
#line 772 "chess-pgn.c"
	}
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	result = _tmp4_;
#line 1439 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	return result;
#line 778 "chess-pgn.c"
}


void pgn_game_write (PGNGame* self, GFile* file, GError** error) {
	GString* data = NULL;
	GString* _tmp0_;
	GList* keys = NULL;
	GHashTable* _tmp1_;
	GList* _tmp2_;
	GList* _tmp3_;
	GString* _tmp13_;
	gint i = 0;
	GList* _tmp14_;
	GString* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	GString* _tmp28_;
	GFile* _tmp29_;
	GString* _tmp30_;
	const gchar* _tmp31_;
	guint8* _tmp32_;
	gint _tmp32__length1;
	guint8* _tmp33_;
	gint _tmp33__length1;
	GError * _inner_error_ = NULL;
#line 193 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 193 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (file != NULL);
#line 195 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = g_string_new ("");
#line 195 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	data = _tmp0_;
#line 197 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = self->tags;
#line 197 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = g_hash_table_get_keys (_tmp1_);
#line 197 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	keys = _tmp2_;
#line 198 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	keys = g_list_sort (keys, (GCompareFunc) compare_tag);
#line 199 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = keys;
#line 822 "chess-pgn.c"
	{
		GList* key_collection = NULL;
		GList* key_it = NULL;
#line 199 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		key_collection = _tmp3_;
#line 199 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		for (key_it = key_collection; key_it != NULL; key_it = key_it->next) {
#line 830 "chess-pgn.c"
			const gchar* key = NULL;
#line 199 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			key = (const gchar*) key_it->data;
#line 834 "chess-pgn.c"
			{
				GString* _tmp4_;
				const gchar* _tmp5_;
				GHashTable* _tmp6_;
				const gchar* _tmp7_;
				gconstpointer _tmp8_;
				gchar* _tmp9_;
				gchar* _tmp10_;
				gchar* _tmp11_;
				gchar* _tmp12_;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp4_ = data;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp5_ = key;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp6_ = self->tags;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp7_ = key;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp8_ = g_hash_table_lookup (_tmp6_, _tmp7_);
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp9_ = pgn_game_escape (self, (const gchar*) _tmp8_);
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp10_ = _tmp9_;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp11_ = g_strdup_printf ("[%s \"%s\"]\n", _tmp5_, _tmp10_);
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp12_ = _tmp11_;
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				g_string_append (_tmp4_, _tmp12_);
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_g_free0 (_tmp12_);
#line 200 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_g_free0 (_tmp10_);
#line 869 "chess-pgn.c"
			}
		}
	}
#line 201 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp13_ = data;
#line 201 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_string_append (_tmp13_, "\n");
#line 203 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	i = 0;
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp14_ = self->moves;
#line 881 "chess-pgn.c"
	{
		GList* move_collection = NULL;
		GList* move_it = NULL;
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		move_collection = _tmp14_;
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		for (move_it = move_collection; move_it != NULL; move_it = move_it->next) {
#line 889 "chess-pgn.c"
			gchar* _tmp15_;
			gchar* move = NULL;
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_tmp15_ = g_strdup ((const gchar*) move_it->data);
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			move = _tmp15_;
#line 896 "chess-pgn.c"
			{
				gint _tmp16_;
				GString* _tmp21_;
				const gchar* _tmp22_;
				GString* _tmp23_;
				gint _tmp24_;
#line 206 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp16_ = i;
#line 206 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if ((_tmp16_ % 2) == 0) {
#line 907 "chess-pgn.c"
					GString* _tmp17_;
					gint _tmp18_;
					gchar* _tmp19_;
					gchar* _tmp20_;
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp17_ = data;
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp18_ = i;
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp19_ = g_strdup_printf ("%d. ", (_tmp18_ / 2) + 1);
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp20_ = _tmp19_;
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_string_append (_tmp17_, _tmp20_);
#line 207 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_g_free0 (_tmp20_);
#line 924 "chess-pgn.c"
				}
#line 208 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp21_ = data;
#line 208 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp22_ = move;
#line 208 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				g_string_append (_tmp21_, _tmp22_);
#line 209 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp23_ = data;
#line 209 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				g_string_append (_tmp23_, " ");
#line 210 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp24_ = i;
#line 210 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				i = _tmp24_ + 1;
#line 204 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_g_free0 (move);
#line 942 "chess-pgn.c"
			}
		}
	}
#line 212 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp25_ = data;
#line 212 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp26_ = pgn_game_get_result (self);
#line 212 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp27_ = _tmp26_;
#line 212 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_string_append (_tmp25_, _tmp27_);
#line 213 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp28_ = data;
#line 213 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_string_append (_tmp28_, "\n");
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp29_ = file;
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp30_ = data;
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp31_ = _tmp30_->str;
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp32_ = string_get_data (_tmp31_, &_tmp32__length1);
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp33_ = _tmp32_;
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp33__length1 = _tmp32__length1;
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_file_replace_contents (_tmp29_, _tmp33_, (gsize) _tmp33__length1, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL, &_inner_error_);
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_propagate_error (error, _inner_error_);
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_g_list_free0 (keys);
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_g_string_free0 (data);
#line 215 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return;
#line 982 "chess-pgn.c"
	}
#line 193 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_list_free0 (keys);
#line 193 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_string_free0 (data);
#line 988 "chess-pgn.c"
}


const gchar* pgn_game_get_event (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 71 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 71 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 71 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Event");
#line 71 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 71 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1006 "chess-pgn.c"
}


void pgn_game_set_event (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Event");
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 72 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_EVENT_PROPERTY]);
#line 1029 "chess-pgn.c"
}


const gchar* pgn_game_get_site (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 76 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 76 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 76 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Site");
#line 76 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 76 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1047 "chess-pgn.c"
}


void pgn_game_set_site (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Site");
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 77 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_SITE_PROPERTY]);
#line 1070 "chess-pgn.c"
}


const gchar* pgn_game_get_date (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 81 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 81 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 81 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Date");
#line 81 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 81 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1088 "chess-pgn.c"
}


void pgn_game_set_date (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Date");
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 82 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_DATE_PROPERTY]);
#line 1111 "chess-pgn.c"
}


const gchar* pgn_game_get_time (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 86 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 86 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 86 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Time");
#line 86 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 86 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1129 "chess-pgn.c"
}


void pgn_game_set_time (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Time");
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 87 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_TIME_PROPERTY]);
#line 1152 "chess-pgn.c"
}


const gchar* pgn_game_get_round (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 91 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 91 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 91 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Round");
#line 91 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 91 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1170 "chess-pgn.c"
}


void pgn_game_set_round (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Round");
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 92 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_ROUND_PROPERTY]);
#line 1193 "chess-pgn.c"
}


const gchar* pgn_game_get_white (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 96 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 96 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 96 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "White");
#line 96 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 96 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1211 "chess-pgn.c"
}


void pgn_game_set_white (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("White");
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 97 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_WHITE_PROPERTY]);
#line 1234 "chess-pgn.c"
}


const gchar* pgn_game_get_black (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 101 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 101 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 101 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Black");
#line 101 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 101 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1252 "chess-pgn.c"
}


void pgn_game_set_black (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Black");
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 102 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_BLACK_PROPERTY]);
#line 1275 "chess-pgn.c"
}


const gchar* pgn_game_get_result (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 106 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 106 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 106 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Result");
#line 106 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 106 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1293 "chess-pgn.c"
}


void pgn_game_set_result (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Result");
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 107 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_RESULT_PROPERTY]);
#line 1316 "chess-pgn.c"
}


const gchar* pgn_game_get_annotator (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 111 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 111 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 111 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Annotator");
#line 111 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 111 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1334 "chess-pgn.c"
}


void pgn_game_set_annotator (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Annotator");
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 112 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_ANNOTATOR_PROPERTY]);
#line 1357 "chess-pgn.c"
}


const gchar* pgn_game_get_time_control (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 116 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 116 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 116 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "TimeControl");
#line 116 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 116 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1375 "chess-pgn.c"
}


void pgn_game_set_time_control (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("TimeControl");
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 117 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_TIME_CONTROL_PROPERTY]);
#line 1398 "chess-pgn.c"
}


const gchar* pgn_game_get_white_time_left (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 121 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 121 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 121 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "WhiteTimeLeft");
#line 121 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 121 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1416 "chess-pgn.c"
}


void pgn_game_set_white_time_left (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("WhiteTimeLeft");
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 122 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_WHITE_TIME_LEFT_PROPERTY]);
#line 1439 "chess-pgn.c"
}


const gchar* pgn_game_get_black_time_left (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 126 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 126 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 126 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "BlackTimeLeft");
#line 126 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 126 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1457 "chess-pgn.c"
}


void pgn_game_set_black_time_left (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("BlackTimeLeft");
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 127 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_BLACK_TIME_LEFT_PROPERTY]);
#line 1480 "chess-pgn.c"
}


const gchar* pgn_game_get_clock_type (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 131 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 131 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 131 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "X-GNOME-ClockType");
#line 131 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 131 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1498 "chess-pgn.c"
}


void pgn_game_set_clock_type (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("X-GNOME-ClockType");
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 132 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_CLOCK_TYPE_PROPERTY]);
#line 1521 "chess-pgn.c"
}


const gchar* pgn_game_get_timer_increment (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 136 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 136 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 136 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "X-GNOME-TimerIncrement");
#line 136 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 136 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1539 "chess-pgn.c"
}


void pgn_game_set_timer_increment (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("X-GNOME-TimerIncrement");
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 137 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_TIMER_INCREMENT_PROPERTY]);
#line 1562 "chess-pgn.c"
}


gboolean pgn_game_get_set_up (PGNGame* self) {
	gboolean result;
	gchar* v = NULL;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
	gchar* _tmp2_;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	const gchar* _tmp5_;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "SetUp");
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = g_strdup ((const gchar*) _tmp1_);
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	v = _tmp2_;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp5_ = v;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp5_ != NULL) {
#line 1589 "chess-pgn.c"
		const gchar* _tmp6_;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp6_ = v;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp4_ = g_strcmp0 (_tmp6_, "1") == 0;
#line 1595 "chess-pgn.c"
	} else {
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp4_ = FALSE;
#line 1599 "chess-pgn.c"
	}
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp4_) {
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp3_ = TRUE;
#line 1605 "chess-pgn.c"
	} else {
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp3_ = FALSE;
#line 1609 "chess-pgn.c"
	}
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = _tmp3_;
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_free0 (v);
#line 141 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1617 "chess-pgn.c"
}


void pgn_game_set_set_up (PGNGame* self, gboolean value) {
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_;
	GHashTable* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = value;
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp1_) {
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp0_ = "1";
#line 1635 "chess-pgn.c"
	} else {
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp0_ = "0";
#line 1639 "chess-pgn.c"
	}
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = self->tags;
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup ("SetUp");
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp4_ = g_strdup (_tmp0_);
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp2_, _tmp3_, _tmp4_);
#line 142 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_SET_UP_PROPERTY]);
#line 1651 "chess-pgn.c"
}


const gchar* pgn_game_get_fen (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 146 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 146 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 146 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "FEN");
#line 146 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 146 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1669 "chess-pgn.c"
}


void pgn_game_set_fen (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("FEN");
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 147 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_FEN_PROPERTY]);
#line 1692 "chess-pgn.c"
}


const gchar* pgn_game_get_termination (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 151 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 151 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 151 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "Termination");
#line 151 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 151 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1710 "chess-pgn.c"
}


void pgn_game_set_termination (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("Termination");
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 152 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_TERMINATION_PROPERTY]);
#line 1733 "chess-pgn.c"
}


const gchar* pgn_game_get_white_ai (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 156 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 156 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 156 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "WhiteAI");
#line 156 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 156 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1751 "chess-pgn.c"
}


void pgn_game_set_white_ai (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("WhiteAI");
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 157 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_WHITE_AI_PROPERTY]);
#line 1774 "chess-pgn.c"
}


const gchar* pgn_game_get_white_level (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 161 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 161 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 161 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "WhiteLevel");
#line 161 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 161 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1792 "chess-pgn.c"
}


void pgn_game_set_white_level (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("WhiteLevel");
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 162 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_WHITE_LEVEL_PROPERTY]);
#line 1815 "chess-pgn.c"
}


const gchar* pgn_game_get_black_ai (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 166 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 166 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 166 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "BlackAI");
#line 166 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 166 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1833 "chess-pgn.c"
}


void pgn_game_set_black_ai (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("BlackAI");
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 167 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_BLACK_AI_PROPERTY]);
#line 1856 "chess-pgn.c"
}


const gchar* pgn_game_get_black_level (PGNGame* self) {
	const gchar* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 171 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 171 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 171 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, "BlackLevel");
#line 171 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	result = (const gchar*) _tmp1_;
#line 171 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return result;
#line 1874 "chess-pgn.c"
}


void pgn_game_set_black_level (PGNGame* self, const gchar* value) {
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = self->tags;
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("BlackLevel");
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = value;
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_hash_table_insert (_tmp0_, _tmp1_, _tmp3_);
#line 172 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_notify_by_pspec ((GObject *) self, pgn_game_properties[PGN_GAME_BLACK_LEVEL_PROPERTY]);
#line 1897 "chess-pgn.c"
}


static void pgn_game_class_init (PGNGameClass * klass) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_parent_class = g_type_class_peek_parent (klass);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_pgn_game_get_property;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_pgn_game_set_property;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (klass)->finalize = pgn_game_finalize;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_EVENT_PROPERTY, pgn_game_properties[PGN_GAME_EVENT_PROPERTY] = g_param_spec_string ("event", "event", "event", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_SITE_PROPERTY, pgn_game_properties[PGN_GAME_SITE_PROPERTY] = g_param_spec_string ("site", "site", "site", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_DATE_PROPERTY, pgn_game_properties[PGN_GAME_DATE_PROPERTY] = g_param_spec_string ("date", "date", "date", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_TIME_PROPERTY, pgn_game_properties[PGN_GAME_TIME_PROPERTY] = g_param_spec_string ("time", "time", "time", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_ROUND_PROPERTY, pgn_game_properties[PGN_GAME_ROUND_PROPERTY] = g_param_spec_string ("round", "round", "round", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_WHITE_PROPERTY, pgn_game_properties[PGN_GAME_WHITE_PROPERTY] = g_param_spec_string ("white", "white", "white", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_BLACK_PROPERTY, pgn_game_properties[PGN_GAME_BLACK_PROPERTY] = g_param_spec_string ("black", "black", "black", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_RESULT_PROPERTY, pgn_game_properties[PGN_GAME_RESULT_PROPERTY] = g_param_spec_string ("result", "result", "result", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_ANNOTATOR_PROPERTY, pgn_game_properties[PGN_GAME_ANNOTATOR_PROPERTY] = g_param_spec_string ("annotator", "annotator", "annotator", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_TIME_CONTROL_PROPERTY, pgn_game_properties[PGN_GAME_TIME_CONTROL_PROPERTY] = g_param_spec_string ("time-control", "time-control", "time-control", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_WHITE_TIME_LEFT_PROPERTY, pgn_game_properties[PGN_GAME_WHITE_TIME_LEFT_PROPERTY] = g_param_spec_string ("white-time-left", "white-time-left", "white-time-left", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_BLACK_TIME_LEFT_PROPERTY, pgn_game_properties[PGN_GAME_BLACK_TIME_LEFT_PROPERTY] = g_param_spec_string ("black-time-left", "black-time-left", "black-time-left", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_CLOCK_TYPE_PROPERTY, pgn_game_properties[PGN_GAME_CLOCK_TYPE_PROPERTY] = g_param_spec_string ("clock-type", "clock-type", "clock-type", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_TIMER_INCREMENT_PROPERTY, pgn_game_properties[PGN_GAME_TIMER_INCREMENT_PROPERTY] = g_param_spec_string ("timer-increment", "timer-increment", "timer-increment", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_SET_UP_PROPERTY, pgn_game_properties[PGN_GAME_SET_UP_PROPERTY] = g_param_spec_boolean ("set-up", "set-up", "set-up", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_FEN_PROPERTY, pgn_game_properties[PGN_GAME_FEN_PROPERTY] = g_param_spec_string ("fen", "fen", "fen", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_TERMINATION_PROPERTY, pgn_game_properties[PGN_GAME_TERMINATION_PROPERTY] = g_param_spec_string ("termination", "termination", "termination", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_WHITE_AI_PROPERTY, pgn_game_properties[PGN_GAME_WHITE_AI_PROPERTY] = g_param_spec_string ("white-ai", "white-ai", "white-ai", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_WHITE_LEVEL_PROPERTY, pgn_game_properties[PGN_GAME_WHITE_LEVEL_PROPERTY] = g_param_spec_string ("white-level", "white-level", "white-level", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_BLACK_AI_PROPERTY, pgn_game_properties[PGN_GAME_BLACK_AI_PROPERTY] = g_param_spec_string ("black-ai", "black-ai", "black-ai", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PGN_GAME_BLACK_LEVEL_PROPERTY, pgn_game_properties[PGN_GAME_BLACK_LEVEL_PROPERTY] = g_param_spec_string ("black-level", "black-level", "black-level", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 55 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = g_strdup ("*");
#line 55 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_RESULT_IN_PROGRESS = _tmp0_;
#line 56 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("1/2-1/2");
#line 56 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_RESULT_DRAW = _tmp1_;
#line 57 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = g_strdup ("1-0");
#line 57 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_RESULT_WHITE = _tmp2_;
#line 58 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = g_strdup ("0-1");
#line 58 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_RESULT_BLACK = _tmp3_;
#line 60 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp4_ = g_strdup ("abandoned");
#line 60 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_ABANDONED = _tmp4_;
#line 61 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp5_ = g_strdup ("adjudication");
#line 61 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_ADJUDICATION = _tmp5_;
#line 62 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp6_ = g_strdup ("death");
#line 62 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_DEATH = _tmp6_;
#line 63 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp7_ = g_strdup ("emergency");
#line 63 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_EMERGENCY = _tmp7_;
#line 64 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp8_ = g_strdup ("normal");
#line 64 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_NORMAL = _tmp8_;
#line 65 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp9_ = g_strdup ("rules infraction");
#line 65 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_RULES_INFRACTION = _tmp9_;
#line 66 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp10_ = g_strdup ("time forfeit");
#line 66 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_TIME_FORFEIT = _tmp10_;
#line 67 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp11_ = g_strdup ("unterminated");
#line 67 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_game_TERMINATE_UNTERMINATED = _tmp11_;
#line 2012 "chess-pgn.c"
}


static void pgn_game_instance_init (PGNGame * self) {
}


static void pgn_game_finalize (GObject * obj) {
	PGNGame * self;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PGN_GAME, PGNGame);
#line 52 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_hash_table_unref0 (self->tags);
#line 53 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	__g_list_free__g_free0_0 (self->moves);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (pgn_game_parent_class)->finalize (obj);
#line 2030 "chess-pgn.c"
}


GType pgn_game_get_type (void) {
	static volatile gsize pgn_game_type_id__volatile = 0;
	if (g_once_init_enter (&pgn_game_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PGNGameClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pgn_game_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PGNGame), 0, (GInstanceInitFunc) pgn_game_instance_init, NULL };
		GType pgn_game_type_id;
		pgn_game_type_id = g_type_register_static (G_TYPE_OBJECT, "PGNGame", &g_define_type_info, 0);
		g_once_init_leave (&pgn_game_type_id__volatile, pgn_game_type_id);
	}
	return pgn_game_type_id__volatile;
}


static void _vala_pgn_game_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PGNGame * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PGN_GAME, PGNGame);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	switch (property_id) {
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_EVENT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_event (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_SITE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_site (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_DATE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_date (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIME_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_time (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_ROUND_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_round (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_white (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_black (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_RESULT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_result (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_ANNOTATOR_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_annotator (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIME_CONTROL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_time_control (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_TIME_LEFT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_white_time_left (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_TIME_LEFT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_black_time_left (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_CLOCK_TYPE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_clock_type (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIMER_INCREMENT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_timer_increment (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_SET_UP_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_boolean (value, pgn_game_get_set_up (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_FEN_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_fen (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TERMINATION_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_termination (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_AI_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_white_ai (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_LEVEL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_white_level (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_AI_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_black_ai (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_LEVEL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_value_set_string (value, pgn_game_get_black_level (self));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 2177 "chess-pgn.c"
		default:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 2183 "chess-pgn.c"
	}
}


static void _vala_pgn_game_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PGNGame * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PGN_GAME, PGNGame);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	switch (property_id) {
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_EVENT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_event (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_SITE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_site (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_DATE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_date (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIME_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_time (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_ROUND_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_round (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_white (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_black (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_RESULT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_result (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_ANNOTATOR_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_annotator (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIME_CONTROL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_time_control (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_TIME_LEFT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_white_time_left (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_TIME_LEFT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_black_time_left (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_CLOCK_TYPE_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_clock_type (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TIMER_INCREMENT_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_timer_increment (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_SET_UP_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_set_up (self, g_value_get_boolean (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_FEN_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_fen (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_TERMINATION_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_termination (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_AI_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_white_ai (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_WHITE_LEVEL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_white_level (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_AI_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_black_ai (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		case PGN_GAME_BLACK_LEVEL_PROPERTY:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		pgn_game_set_black_level (self, g_value_get_string (value));
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 2319 "chess-pgn.c"
		default:
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 50 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		break;
#line 2325 "chess-pgn.c"
	}
}


GType state_get_type (void) {
	static volatile gsize state_type_id__volatile = 0;
	if (g_once_init_enter (&state_type_id__volatile)) {
		static const GEnumValue values[] = {{STATE_TAGS, "STATE_TAGS", "tags"}, {STATE_MOVE_TEXT, "STATE_MOVE_TEXT", "move-text"}, {STATE_LINE_COMMENT, "STATE_LINE_COMMENT", "line-comment"}, {STATE_BRACE_COMMENT, "STATE_BRACE_COMMENT", "brace-comment"}, {STATE_TAG_START, "STATE_TAG_START", "tag-start"}, {STATE_TAG_NAME, "STATE_TAG_NAME", "tag-name"}, {STATE_PRE_TAG_VALUE, "STATE_PRE_TAG_VALUE", "pre-tag-value"}, {STATE_TAG_VALUE, "STATE_TAG_VALUE", "tag-value"}, {STATE_POST_TAG_VALUE, "STATE_POST_TAG_VALUE", "post-tag-value"}, {STATE_SYMBOL, "STATE_SYMBOL", "symbol"}, {STATE_PERIOD, "STATE_PERIOD", "period"}, {STATE_NAG, "STATE_NAG", "nag"}, {STATE_ERROR, "STATE_ERROR", "error"}, {0, NULL, NULL}};
		GType state_type_id;
		state_type_id = g_enum_register_static ("State", values);
		g_once_init_leave (&state_type_id__volatile, state_type_id);
	}
	return state_type_id__volatile;
}


static void _g_object_unref0_ (gpointer var) {
#line 238 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 2345 "chess-pgn.c"
}


static inline void _g_list_free__g_object_unref0_ (GList* self) {
#line 238 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
#line 2352 "chess-pgn.c"
}


static gboolean int64_try_parse (const gchar* str, gint64* _result_) {
	gint64 _vala_result = 0LL;
	gboolean result = FALSE;
	gchar* endptr = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_ = NULL;
	gint64 _tmp2_;
	gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
#line 692 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (str != NULL, FALSE);
#line 694 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = str;
#line 694 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp2_ = g_ascii_strtoll (_tmp0_, &_tmp1_, (guint) 0);
#line 694 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	endptr = _tmp1_;
#line 694 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_vala_result = _tmp2_;
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp3_ = endptr;
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp4_ = str;
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp5_ = str;
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp6_ = strlen (_tmp5_);
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp7_ = _tmp6_;
#line 695 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp3_ == (((gchar*) _tmp4_) + _tmp7_)) {
#line 696 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		result = TRUE;
#line 696 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		if (_result_) {
#line 696 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			*_result_ = _vala_result;
#line 2396 "chess-pgn.c"
		}
#line 696 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		return result;
#line 2400 "chess-pgn.c"
	} else {
#line 698 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		result = FALSE;
#line 698 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		if (_result_) {
#line 698 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
			*_result_ = _vala_result;
#line 2408 "chess-pgn.c"
		}
#line 698 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		return result;
#line 2412 "chess-pgn.c"
	}
#line 692 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_result_) {
#line 692 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		*_result_ = _vala_result;
#line 2418 "chess-pgn.c"
	}
}


static void pgn_insert_tag (PGN* self, PGNGame* game, const gchar* tag_name, const gchar* tag_value) {
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GQuark _tmp3_ = 0U;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	static GQuark _tmp2_label0 = 0;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	static GQuark _tmp2_label1 = 0;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	static GQuark _tmp2_label2 = 0;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	static GQuark _tmp2_label3 = 0;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	static GQuark _tmp2_label4 = 0;
#line 239 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (self != NULL);
#line 239 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (game != NULL);
#line 239 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (tag_name != NULL);
#line 239 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_if_fail (tag_value != NULL);
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = tag_name;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = _tmp0_;
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("WhiteTimeLeft")))) {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2455 "chess-pgn.c"
			default:
			{
				const gchar* _tmp4_;
				gboolean _tmp5_;
#line 244 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp4_ = tag_value;
#line 244 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp5_ = int64_try_parse (_tmp4_, NULL);
#line 244 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp5_ == FALSE) {
#line 2466 "chess-pgn.c"
					const gchar* _tmp6_;
					const gchar* _tmp7_;
#line 245 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp6_ = tag_name;
#line 245 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp7_ = tag_value;
#line 245 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_warning (_ ("Invalid %s : %s in PGN, setting timer to infinity."), _tmp6_, _tmp7_);
#line 2475 "chess-pgn.c"
				} else {
					PGNGame* _tmp8_;
					GHashTable* _tmp9_;
					const gchar* _tmp10_;
					gchar* _tmp11_;
					const gchar* _tmp12_;
					gchar* _tmp13_;
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp8_ = game;
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp9_ = _tmp8_->tags;
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp10_ = tag_name;
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp11_ = g_strdup (_tmp10_);
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp12_ = tag_value;
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp13_ = g_strdup (_tmp12_);
#line 247 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_hash_table_insert (_tmp9_, _tmp11_, _tmp13_);
#line 2497 "chess-pgn.c"
				}
#line 248 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2501 "chess-pgn.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("BlackTimeLeft")))) {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2507 "chess-pgn.c"
			default:
			{
				const gchar* _tmp14_;
				gboolean _tmp15_;
#line 250 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp14_ = tag_value;
#line 250 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp15_ = int64_try_parse (_tmp14_, NULL);
#line 250 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp15_ == FALSE) {
#line 2518 "chess-pgn.c"
					const gchar* _tmp16_;
					const gchar* _tmp17_;
#line 251 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp16_ = tag_name;
#line 251 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp17_ = tag_value;
#line 251 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_warning (_ ("Invalid %s : %s in PGN, setting timer to infinity."), _tmp16_, _tmp17_);
#line 2527 "chess-pgn.c"
				} else {
					PGNGame* _tmp18_;
					GHashTable* _tmp19_;
					const gchar* _tmp20_;
					gchar* _tmp21_;
					const gchar* _tmp22_;
					gchar* _tmp23_;
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp18_ = game;
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp19_ = _tmp18_->tags;
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp20_ = tag_name;
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp21_ = g_strdup (_tmp20_);
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp22_ = tag_value;
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp23_ = g_strdup (_tmp22_);
#line 253 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_hash_table_insert (_tmp19_, _tmp21_, _tmp23_);
#line 2549 "chess-pgn.c"
				}
#line 254 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2553 "chess-pgn.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("TimeControl")))) {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2559 "chess-pgn.c"
			default:
			{
				const gchar* _tmp24_;
				gboolean _tmp25_;
#line 256 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp24_ = tag_value;
#line 256 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp25_ = int64_try_parse (_tmp24_, NULL);
#line 256 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp25_ == TRUE) {
#line 2570 "chess-pgn.c"
					gboolean _tmp26_ = FALSE;
					PGNGame* _tmp27_;
					GHashTable* _tmp28_;
					gconstpointer _tmp29_;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp27_ = game;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp28_ = _tmp27_->tags;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp29_ = g_hash_table_lookup (_tmp28_, "WhiteTimeLeft");
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					if (((const gchar*) _tmp29_) != NULL) {
#line 2583 "chess-pgn.c"
						PGNGame* _tmp30_;
						GHashTable* _tmp31_;
						gconstpointer _tmp32_;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp30_ = game;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp31_ = _tmp30_->tags;
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp32_ = g_hash_table_lookup (_tmp31_, "BlackTimeLeft");
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp26_ = ((const gchar*) _tmp32_) != NULL;
#line 2595 "chess-pgn.c"
					} else {
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp26_ = FALSE;
#line 2599 "chess-pgn.c"
					}
#line 258 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					if (_tmp26_) {
#line 2603 "chess-pgn.c"
						PGNGame* _tmp33_;
						GHashTable* _tmp34_;
						const gchar* _tmp35_;
						gchar* _tmp36_;
						const gchar* _tmp37_;
						gchar* _tmp38_;
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp33_ = game;
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp34_ = _tmp33_->tags;
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp35_ = tag_name;
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp36_ = g_strdup (_tmp35_);
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp37_ = tag_value;
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp38_ = g_strdup (_tmp37_);
#line 259 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						g_hash_table_insert (_tmp34_, _tmp36_, _tmp38_);
#line 2624 "chess-pgn.c"
					}
				} else {
					const gchar* _tmp39_;
					const gchar* _tmp40_;
#line 262 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp39_ = tag_name;
#line 262 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp40_ = tag_value;
#line 262 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_warning (_ ("Invalid %s : %s in PGN, setting timer to infinity."), _tmp39_, _tmp40_);
#line 2635 "chess-pgn.c"
				}
#line 263 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2639 "chess-pgn.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("X-GNOME-ClockType")))) {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2645 "chess-pgn.c"
			default:
			{
				const gchar* _tmp41_;
				ClockType _tmp42_;
#line 265 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp41_ = tag_value;
#line 265 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp42_ = clock_type_string_to_enum (_tmp41_);
#line 265 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp42_ == CLOCK_TYPE_INVALID) {
#line 2656 "chess-pgn.c"
					const gchar* _tmp43_;
					PGNGame* _tmp44_;
					GHashTable* _tmp45_;
					const gchar* _tmp46_;
					gchar* _tmp47_;
					gchar* _tmp48_;
#line 267 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp43_ = tag_value;
#line 267 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_warning (_ ("Invalid clock type in PGN: %s, using a simple clock."), _tmp43_);
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp44_ = game;
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp45_ = _tmp44_->tags;
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp46_ = tag_name;
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp47_ = g_strdup (_tmp46_);
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp48_ = g_strdup ("simple");
#line 268 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_hash_table_insert (_tmp45_, _tmp47_, _tmp48_);
#line 2679 "chess-pgn.c"
				}
#line 270 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2683 "chess-pgn.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("X-GNOME-TimerIncrement")))) {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2689 "chess-pgn.c"
			default:
			{
				const gchar* _tmp49_;
				gboolean _tmp50_;
#line 272 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp49_ = tag_value;
#line 272 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp50_ = int64_try_parse (_tmp49_, NULL);
#line 272 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp50_ == FALSE) {
#line 2700 "chess-pgn.c"
					const gchar* _tmp51_;
					PGNGame* _tmp52_;
					GHashTable* _tmp53_;
					gchar* _tmp54_;
					gchar* _tmp55_;
					PGNGame* _tmp56_;
					GHashTable* _tmp57_;
					const gchar* _tmp58_;
					gchar* _tmp59_;
					gchar* _tmp60_;
#line 274 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp51_ = tag_value;
#line 274 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_warning (_ ("Invalid timer increment in PGN: %s, using a simple clock."), _tmp51_);
#line 275 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp52_ = game;
#line 275 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp53_ = _tmp52_->tags;
#line 275 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp54_ = g_strdup ("X-GNOME-ClockType");
#line 275 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp55_ = g_strdup ("simple");
#line 275 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_hash_table_insert (_tmp53_, _tmp54_, _tmp55_);
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp56_ = game;
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp57_ = _tmp56_->tags;
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp58_ = tag_name;
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp59_ = g_strdup (_tmp58_);
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp60_ = g_strdup ("0");
#line 276 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					g_hash_table_insert (_tmp57_, _tmp59_, _tmp60_);
#line 2737 "chess-pgn.c"
				}
#line 278 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2741 "chess-pgn.c"
			}
		}
	} else {
#line 241 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		switch (0) {
#line 2747 "chess-pgn.c"
			default:
			{
				PGNGame* _tmp61_;
				GHashTable* _tmp62_;
				const gchar* _tmp63_;
				gchar* _tmp64_;
				const gchar* _tmp65_;
				gchar* _tmp66_;
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp61_ = game;
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp62_ = _tmp61_->tags;
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp63_ = tag_name;
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp64_ = g_strdup (_tmp63_);
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp65_ = tag_value;
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp66_ = g_strdup (_tmp65_);
#line 280 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				g_hash_table_insert (_tmp62_, _tmp64_, _tmp66_);
#line 281 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				break;
#line 2772 "chess-pgn.c"
			}
		}
	}
}


static gchar string_get (const gchar* self, glong index) {
	gchar result = '\0';
	glong _tmp0_;
	gchar _tmp1_;
#line 1118 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, '\0');
#line 1119 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = index;
#line 1119 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp1_ = ((gchar*) self)[_tmp0_];
#line 1119 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	result = _tmp1_;
#line 1119 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	return result;
#line 2793 "chess-pgn.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 336 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return self ? g_object_ref (self) : NULL;
#line 2800 "chess-pgn.c"
}


static gchar* string_slice (const gchar* self, glong start, glong end) {
	gchar* result = NULL;
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	glong _tmp2_;
	glong _tmp5_;
	gboolean _tmp8_ = FALSE;
	glong _tmp9_;
	gboolean _tmp12_ = FALSE;
	glong _tmp13_;
	glong _tmp16_;
	glong _tmp17_;
	glong _tmp18_;
	glong _tmp19_;
	glong _tmp20_;
	gchar* _tmp21_;
#line 1363 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1364 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1364 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1364 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	string_length = (glong) _tmp1_;
#line 1365 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp2_ = start;
#line 1365 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp2_ < ((glong) 0)) {
#line 2833 "chess-pgn.c"
		glong _tmp3_;
		glong _tmp4_;
#line 1366 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1366 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp4_ = start;
#line 1366 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		start = _tmp3_ + _tmp4_;
#line 2842 "chess-pgn.c"
	}
#line 1368 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp5_ = end;
#line 1368 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp5_ < ((glong) 0)) {
#line 2848 "chess-pgn.c"
		glong _tmp6_;
		glong _tmp7_;
#line 1369 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp6_ = string_length;
#line 1369 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp7_ = end;
#line 1369 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		end = _tmp6_ + _tmp7_;
#line 2857 "chess-pgn.c"
	}
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp9_ = start;
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp9_ >= ((glong) 0)) {
#line 2863 "chess-pgn.c"
		glong _tmp10_;
		glong _tmp11_;
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp10_ = start;
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp11_ = string_length;
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp8_ = _tmp10_ <= _tmp11_;
#line 2872 "chess-pgn.c"
	} else {
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp8_ = FALSE;
#line 2876 "chess-pgn.c"
	}
#line 1371 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp8_, NULL);
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp13_ = end;
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	if (_tmp13_ >= ((glong) 0)) {
#line 2884 "chess-pgn.c"
		glong _tmp14_;
		glong _tmp15_;
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp14_ = end;
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp12_ = _tmp14_ <= _tmp15_;
#line 2893 "chess-pgn.c"
	} else {
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
		_tmp12_ = FALSE;
#line 2897 "chess-pgn.c"
	}
#line 1372 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp12_, NULL);
#line 1373 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp16_ = start;
#line 1373 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp17_ = end;
#line 1373 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL);
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp18_ = start;
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp19_ = end;
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp20_ = start;
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_));
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	result = _tmp21_;
#line 1374 "/home/mcatanzaro/Projects/GNOME/install/share/vala-0.38/vapi/glib-2.0.vapi"
	return result;
#line 2919 "chess-pgn.c"
}


PGN* pgn_construct_from_string (GType object_type, const gchar* data, GError** error) {
	PGN * self = NULL;
	State state = 0;
	State home_state = 0;
	PGNGame* game = NULL;
	PGNGame* _tmp0_;
	gboolean in_escape = FALSE;
	gsize token_start = 0UL;
	gsize line_offset = 0UL;
	gchar* tag_name = NULL;
	gchar* _tmp1_;
	GString* tag_value = NULL;
	GString* _tmp2_;
	gint line = 0;
	gint rav_level = 0;
	gboolean _tmp165_ = FALSE;
	PGNGame* _tmp166_;
	GList* _tmp167_;
	guint _tmp168_;
	GList* _tmp174_;
	GError * _inner_error_ = NULL;
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (data != NULL, NULL);
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = (PGN*) g_object_new (object_type, NULL);
#line 289 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	state = STATE_TAGS;
#line 289 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	home_state = STATE_TAGS;
#line 290 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = pgn_game_new ();
#line 290 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	game = _tmp0_;
#line 291 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	in_escape = FALSE;
#line 292 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	token_start = (gsize) 0;
#line 292 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	line_offset = (gsize) 0;
#line 293 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp1_ = g_strdup ("");
#line 293 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	tag_name = _tmp1_;
#line 294 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp2_ = g_string_new ("");
#line 294 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	tag_value = _tmp2_;
#line 295 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	line = 1;
#line 296 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	rav_level = 0;
#line 2974 "chess-pgn.c"
	{
		gsize offset = 0UL;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		offset = (gsize) 0;
#line 2979 "chess-pgn.c"
		{
			gboolean _tmp3_ = FALSE;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_tmp3_ = TRUE;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			while (TRUE) {
#line 2986 "chess-pgn.c"
				gsize _tmp5_;
				const gchar* _tmp6_;
				gint _tmp7_;
				gint _tmp8_;
				gunichar c = 0U;
				const gchar* _tmp9_;
				gsize _tmp10_;
				gchar _tmp11_;
				gunichar _tmp12_;
				State _tmp15_;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (!_tmp3_) {
#line 2999 "chess-pgn.c"
					gsize _tmp4_;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp4_ = offset;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					offset = _tmp4_ + 1;
#line 3005 "chess-pgn.c"
				}
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp3_ = FALSE;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp5_ = offset;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp6_ = data;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp7_ = strlen (_tmp6_);
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp8_ = _tmp7_;
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (!(_tmp5_ <= ((gsize) _tmp8_))) {
#line 297 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					break;
#line 3021 "chess-pgn.c"
				}
#line 299 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp9_ = data;
#line 299 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp10_ = offset;
#line 299 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp11_ = string_get (_tmp9_, (glong) _tmp10_);
#line 299 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				c = (gunichar) _tmp11_;
#line 301 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp12_ = c;
#line 301 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				if (_tmp12_ == ((gunichar) '\n')) {
#line 3035 "chess-pgn.c"
					gint _tmp13_;
					gsize _tmp14_;
#line 303 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp13_ = line;
#line 303 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					line = _tmp13_ + 1;
#line 304 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					_tmp14_ = offset;
#line 304 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					line_offset = _tmp14_ + 1;
#line 3046 "chess-pgn.c"
				}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				_tmp15_ = state;
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
				switch (_tmp15_) {
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_TAGS:
#line 3054 "chess-pgn.c"
					{
						gunichar _tmp16_;
#line 310 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						home_state = STATE_TAGS;
#line 311 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp16_ = c;
#line 311 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp16_ == ((gunichar) ';')) {
#line 312 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = STATE_LINE_COMMENT;
#line 3065 "chess-pgn.c"
						} else {
							gunichar _tmp17_;
#line 313 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp17_ = c;
#line 313 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp17_ == ((gunichar) '{')) {
#line 314 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_BRACE_COMMENT;
#line 3074 "chess-pgn.c"
							} else {
								gunichar _tmp18_;
#line 315 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp18_ = c;
#line 315 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								if (_tmp18_ == ((gunichar) '[')) {
#line 316 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									state = STATE_TAG_START;
#line 3083 "chess-pgn.c"
								} else {
									gunichar _tmp19_;
									gboolean _tmp20_;
#line 317 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp19_ = c;
#line 317 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp20_ = g_unichar_isspace (_tmp19_);
#line 317 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (!_tmp20_) {
#line 3093 "chess-pgn.c"
										gsize _tmp21_;
#line 319 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp21_ = offset;
#line 319 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										offset = _tmp21_ - 1;
#line 320 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										state = STATE_MOVE_TEXT;
#line 321 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										continue;
#line 3103 "chess-pgn.c"
									}
								}
							}
						}
#line 323 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3110 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_MOVE_TEXT:
#line 3114 "chess-pgn.c"
					{
						gunichar _tmp22_;
#line 326 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						home_state = STATE_MOVE_TEXT;
#line 327 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp22_ = c;
#line 327 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp22_ == ((gunichar) ';')) {
#line 328 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = STATE_LINE_COMMENT;
#line 3125 "chess-pgn.c"
						} else {
							gunichar _tmp23_;
#line 329 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp23_ = c;
#line 329 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp23_ == ((gunichar) '{')) {
#line 330 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_BRACE_COMMENT;
#line 3134 "chess-pgn.c"
							} else {
								gunichar _tmp24_;
#line 331 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp24_ = c;
#line 331 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								if (_tmp24_ == ((gunichar) '*')) {
#line 3141 "chess-pgn.c"
									gint _tmp25_;
#line 333 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp25_ = rav_level;
#line 333 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (_tmp25_ == 0) {
#line 3147 "chess-pgn.c"
										PGNGame* _tmp26_;
										const gchar* _tmp27_;
										PGNGame* _tmp28_;
										PGNGame* _tmp29_;
										PGNGame* _tmp30_;
#line 335 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp26_ = game;
#line 335 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp27_ = pgn_game_RESULT_IN_PROGRESS;
#line 335 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										pgn_game_set_result (_tmp26_, _tmp27_);
#line 336 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp28_ = game;
#line 336 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp29_ = _g_object_ref0 (_tmp28_);
#line 336 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										self->games = g_list_append (self->games, _tmp29_);
#line 337 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp30_ = pgn_game_new ();
#line 337 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_g_object_unref0 (game);
#line 337 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										game = _tmp30_;
#line 338 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										state = STATE_TAGS;
#line 3173 "chess-pgn.c"
									}
								} else {
									gunichar _tmp31_;
#line 341 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp31_ = c;
#line 341 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (_tmp31_ == ((gunichar) '.')) {
#line 3181 "chess-pgn.c"
										gsize _tmp32_;
#line 343 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp32_ = offset;
#line 343 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										offset = _tmp32_ - 1;
#line 344 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										state = STATE_PERIOD;
#line 3189 "chess-pgn.c"
									} else {
										gunichar _tmp33_;
										gboolean _tmp34_;
#line 346 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp33_ = c;
#line 346 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp34_ = g_unichar_isalnum (_tmp33_);
#line 346 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										if (_tmp34_) {
#line 3199 "chess-pgn.c"
											gsize _tmp35_;
#line 348 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											_tmp35_ = offset;
#line 348 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											token_start = _tmp35_;
#line 349 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											state = STATE_SYMBOL;
#line 3207 "chess-pgn.c"
										} else {
											gunichar _tmp36_;
#line 351 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											_tmp36_ = c;
#line 351 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											if (_tmp36_ == ((gunichar) '$')) {
#line 3214 "chess-pgn.c"
												gsize _tmp37_;
#line 353 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
												_tmp37_ = offset;
#line 353 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
												token_start = _tmp37_ + 1;
#line 354 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
												state = STATE_NAG;
#line 3222 "chess-pgn.c"
											} else {
												gunichar _tmp38_;
#line 356 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
												_tmp38_ = c;
#line 356 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
												if (_tmp38_ == ((gunichar) '(')) {
#line 3229 "chess-pgn.c"
													gint _tmp39_;
#line 358 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
													_tmp39_ = rav_level;
#line 358 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
													rav_level = _tmp39_ + 1;
#line 359 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
													continue;
#line 3237 "chess-pgn.c"
												} else {
													gunichar _tmp40_;
#line 361 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
													_tmp40_ = c;
#line 361 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
													if (_tmp40_ == ((gunichar) ')')) {
#line 3244 "chess-pgn.c"
														gint _tmp41_;
#line 363 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
														_tmp41_ = rav_level;
#line 363 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
														if (_tmp41_ == 0) {
#line 364 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
															state = STATE_ERROR;
#line 3252 "chess-pgn.c"
														} else {
															gint _tmp42_;
#line 366 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
															_tmp42_ = rav_level;
#line 366 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
															rav_level = _tmp42_ - 1;
#line 3259 "chess-pgn.c"
														}
													} else {
														gunichar _tmp43_;
														gboolean _tmp44_;
#line 368 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
														_tmp43_ = c;
#line 368 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
														_tmp44_ = g_unichar_isspace (_tmp43_);
#line 368 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
														if (!_tmp44_) {
#line 369 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
															state = STATE_ERROR;
#line 3272 "chess-pgn.c"
														}
													}
												}
											}
										}
									}
								}
							}
						}
#line 370 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3284 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_LINE_COMMENT:
#line 3288 "chess-pgn.c"
					{
						gunichar _tmp45_;
#line 373 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp45_ = c;
#line 373 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp45_ == ((gunichar) '\n')) {
#line 3295 "chess-pgn.c"
							State _tmp46_;
#line 374 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp46_ = home_state;
#line 374 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = _tmp46_;
#line 3301 "chess-pgn.c"
						}
#line 375 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3305 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_BRACE_COMMENT:
#line 3309 "chess-pgn.c"
					{
						gunichar _tmp47_;
#line 378 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp47_ = c;
#line 378 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp47_ == ((gunichar) '}')) {
#line 3316 "chess-pgn.c"
							State _tmp48_;
#line 379 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp48_ = home_state;
#line 379 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = _tmp48_;
#line 3322 "chess-pgn.c"
						}
#line 380 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3326 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_TAG_START:
#line 3330 "chess-pgn.c"
					{
						gunichar _tmp49_;
						gboolean _tmp50_;
#line 383 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp49_ = c;
#line 383 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp50_ = g_unichar_isspace (_tmp49_);
#line 383 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp50_) {
#line 384 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							continue;
#line 3342 "chess-pgn.c"
						} else {
							gunichar _tmp51_;
							gboolean _tmp52_;
#line 385 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp51_ = c;
#line 385 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp52_ = g_unichar_isalnum (_tmp51_);
#line 385 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp52_) {
#line 3352 "chess-pgn.c"
								gsize _tmp53_;
#line 387 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp53_ = offset;
#line 387 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								token_start = _tmp53_;
#line 388 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_TAG_NAME;
#line 3360 "chess-pgn.c"
							} else {
#line 391 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_ERROR;
#line 3364 "chess-pgn.c"
							}
						}
#line 392 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3369 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_TAG_NAME:
#line 3373 "chess-pgn.c"
					{
						gunichar _tmp54_;
						gboolean _tmp55_;
#line 395 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp54_ = c;
#line 395 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp55_ = g_unichar_isspace (_tmp54_);
#line 395 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp55_) {
#line 3383 "chess-pgn.c"
							const gchar* _tmp56_;
							gsize _tmp57_;
							gsize _tmp58_;
							gchar* _tmp59_;
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp56_ = data;
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp57_ = token_start;
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp58_ = offset;
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp59_ = string_slice (_tmp56_, (glong) _tmp57_, (glong) _tmp58_);
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_g_free0 (tag_name);
#line 397 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							tag_name = _tmp59_;
#line 398 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = STATE_PRE_TAG_VALUE;
#line 3402 "chess-pgn.c"
						} else {
							gboolean _tmp60_ = FALSE;
							gboolean _tmp61_ = FALSE;
							gboolean _tmp62_ = FALSE;
							gboolean _tmp63_ = FALSE;
							gboolean _tmp64_ = FALSE;
							gboolean _tmp65_ = FALSE;
							gunichar _tmp66_;
							gboolean _tmp67_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp66_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp67_ = g_unichar_isalnum (_tmp66_);
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp67_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp65_ = TRUE;
#line 3420 "chess-pgn.c"
							} else {
								gunichar _tmp68_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp68_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp65_ = _tmp68_ == ((gunichar) '_');
#line 3427 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp65_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp64_ = TRUE;
#line 3433 "chess-pgn.c"
							} else {
								gunichar _tmp69_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp69_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp64_ = _tmp69_ == ((gunichar) '+');
#line 3440 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp64_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp63_ = TRUE;
#line 3446 "chess-pgn.c"
							} else {
								gunichar _tmp70_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp70_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp63_ = _tmp70_ == ((gunichar) '#');
#line 3453 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp63_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp62_ = TRUE;
#line 3459 "chess-pgn.c"
							} else {
								gunichar _tmp71_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp71_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp62_ = _tmp71_ == ((gunichar) '=');
#line 3466 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp62_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp61_ = TRUE;
#line 3472 "chess-pgn.c"
							} else {
								gunichar _tmp72_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp72_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp61_ = _tmp72_ == ((gunichar) ':');
#line 3479 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp61_) {
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp60_ = TRUE;
#line 3485 "chess-pgn.c"
							} else {
								gunichar _tmp73_;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp73_ = c;
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp60_ = _tmp73_ == ((gunichar) '-');
#line 3492 "chess-pgn.c"
							}
#line 400 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp60_) {
#line 401 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								continue;
#line 3498 "chess-pgn.c"
							} else {
#line 403 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_ERROR;
#line 3502 "chess-pgn.c"
							}
						}
#line 404 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3507 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_PRE_TAG_VALUE:
#line 3511 "chess-pgn.c"
					{
						gunichar _tmp74_;
						gboolean _tmp75_;
#line 407 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp74_ = c;
#line 407 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp75_ = g_unichar_isspace (_tmp74_);
#line 407 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp75_) {
#line 408 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							continue;
#line 3523 "chess-pgn.c"
						} else {
							gunichar _tmp76_;
#line 409 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp76_ = c;
#line 409 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp76_ == ((gunichar) '"')) {
#line 3530 "chess-pgn.c"
								GString* _tmp77_;
#line 411 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_TAG_VALUE;
#line 412 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp77_ = tag_value;
#line 412 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								g_string_erase (_tmp77_, (gssize) 0, (gssize) -1);
#line 413 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								in_escape = FALSE;
#line 3540 "chess-pgn.c"
							} else {
#line 416 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_ERROR;
#line 3544 "chess-pgn.c"
							}
						}
#line 417 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3549 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_TAG_VALUE:
#line 3553 "chess-pgn.c"
					{
						gboolean _tmp78_ = FALSE;
						gunichar _tmp79_;
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp79_ = c;
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp79_ == ((gunichar) '\\')) {
#line 3561 "chess-pgn.c"
							gboolean _tmp80_;
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp80_ = in_escape;
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp78_ = !_tmp80_;
#line 3567 "chess-pgn.c"
						} else {
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp78_ = FALSE;
#line 3571 "chess-pgn.c"
						}
#line 420 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp78_) {
#line 421 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							in_escape = TRUE;
#line 3577 "chess-pgn.c"
						} else {
							gboolean _tmp81_ = FALSE;
							gunichar _tmp82_;
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp82_ = c;
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp82_ == ((gunichar) '"')) {
#line 3585 "chess-pgn.c"
								gboolean _tmp83_;
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp83_ = in_escape;
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp81_ = !_tmp83_;
#line 3591 "chess-pgn.c"
							} else {
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp81_ = FALSE;
#line 3595 "chess-pgn.c"
							}
#line 422 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp81_) {
#line 423 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_POST_TAG_VALUE;
#line 3601 "chess-pgn.c"
							} else {
								gunichar _tmp84_;
								gboolean _tmp85_;
#line 424 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp84_ = c;
#line 424 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp85_ = g_unichar_isprint (_tmp84_);
#line 424 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								if (_tmp85_) {
#line 3611 "chess-pgn.c"
									GString* _tmp86_;
									gunichar _tmp87_;
#line 426 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp86_ = tag_value;
#line 426 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp87_ = c;
#line 426 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									g_string_append_unichar (_tmp86_, _tmp87_);
#line 427 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									in_escape = FALSE;
#line 3622 "chess-pgn.c"
								} else {
#line 430 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									state = STATE_ERROR;
#line 3626 "chess-pgn.c"
								}
							}
						}
#line 431 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3632 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_POST_TAG_VALUE:
#line 3636 "chess-pgn.c"
					{
						gunichar _tmp88_;
						gboolean _tmp89_;
#line 434 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp88_ = c;
#line 434 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp89_ = g_unichar_isspace (_tmp88_);
#line 434 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp89_) {
#line 435 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							continue;
#line 3648 "chess-pgn.c"
						} else {
							gunichar _tmp90_;
#line 436 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp90_ = c;
#line 436 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp90_ == ((gunichar) ']')) {
#line 3655 "chess-pgn.c"
								PGNGame* _tmp91_;
								const gchar* _tmp92_;
								GString* _tmp93_;
								const gchar* _tmp94_;
#line 438 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp91_ = game;
#line 438 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp92_ = tag_name;
#line 438 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp93_ = tag_value;
#line 438 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp94_ = _tmp93_->str;
#line 438 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								pgn_insert_tag (self, _tmp91_, _tmp92_, _tmp94_);
#line 439 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_TAGS;
#line 3672 "chess-pgn.c"
							} else {
#line 442 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								state = STATE_ERROR;
#line 3676 "chess-pgn.c"
							}
						}
#line 443 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3681 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_SYMBOL:
#line 3685 "chess-pgn.c"
					{
						gboolean _tmp95_ = FALSE;
						gboolean _tmp96_ = FALSE;
						gboolean _tmp97_ = FALSE;
						gboolean _tmp98_ = FALSE;
						gboolean _tmp99_ = FALSE;
						gboolean _tmp100_ = FALSE;
						gboolean _tmp101_ = FALSE;
						gunichar _tmp102_;
						gboolean _tmp103_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp102_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp103_ = g_unichar_isalnum (_tmp102_);
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp103_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp101_ = TRUE;
#line 3704 "chess-pgn.c"
						} else {
							gunichar _tmp104_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp104_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp101_ = _tmp104_ == ((gunichar) '_');
#line 3711 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp101_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp100_ = TRUE;
#line 3717 "chess-pgn.c"
						} else {
							gunichar _tmp105_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp105_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp100_ = _tmp105_ == ((gunichar) '+');
#line 3724 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp100_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp99_ = TRUE;
#line 3730 "chess-pgn.c"
						} else {
							gunichar _tmp106_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp106_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp99_ = _tmp106_ == ((gunichar) '#');
#line 3737 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp99_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp98_ = TRUE;
#line 3743 "chess-pgn.c"
						} else {
							gunichar _tmp107_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp107_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp98_ = _tmp107_ == ((gunichar) '=');
#line 3750 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp98_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp97_ = TRUE;
#line 3756 "chess-pgn.c"
						} else {
							gunichar _tmp108_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp108_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp97_ = _tmp108_ == ((gunichar) ':');
#line 3763 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp97_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp96_ = TRUE;
#line 3769 "chess-pgn.c"
						} else {
							gunichar _tmp109_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp109_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp96_ = _tmp109_ == ((gunichar) '-');
#line 3776 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp96_) {
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp95_ = TRUE;
#line 3782 "chess-pgn.c"
						} else {
							gunichar _tmp110_;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp110_ = c;
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp95_ = _tmp110_ == ((gunichar) '/');
#line 3789 "chess-pgn.c"
						}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp95_) {
#line 448 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							continue;
#line 3795 "chess-pgn.c"
						} else {
							gchar* symbol = NULL;
							const gchar* _tmp111_;
							gsize _tmp112_;
							gsize _tmp113_;
							gchar* _tmp114_;
							gboolean is_number = FALSE;
							gsize _tmp125_;
							gboolean _tmp126_ = FALSE;
							gboolean _tmp127_ = FALSE;
							const gchar* _tmp128_;
							const gchar* _tmp129_;
#line 451 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp111_ = data;
#line 451 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp112_ = token_start;
#line 451 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp113_ = offset;
#line 451 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp114_ = string_slice (_tmp111_, (glong) _tmp112_, (glong) _tmp113_);
#line 451 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							symbol = _tmp114_;
#line 453 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							is_number = TRUE;
#line 3820 "chess-pgn.c"
							{
								gint i = 0;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								i = 0;
#line 3825 "chess-pgn.c"
								{
									gboolean _tmp115_ = FALSE;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp115_ = TRUE;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									while (TRUE) {
#line 3832 "chess-pgn.c"
										gint _tmp117_;
										const gchar* _tmp118_;
										gint _tmp119_;
										gint _tmp120_;
										const gchar* _tmp121_;
										gint _tmp122_;
										gchar _tmp123_;
										gboolean _tmp124_;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										if (!_tmp115_) {
#line 3843 "chess-pgn.c"
											gint _tmp116_;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											_tmp116_ = i;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											i = _tmp116_ + 1;
#line 3849 "chess-pgn.c"
										}
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp115_ = FALSE;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp117_ = i;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp118_ = symbol;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp119_ = strlen (_tmp118_);
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp120_ = _tmp119_;
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										if (!(_tmp117_ < _tmp120_)) {
#line 454 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											break;
#line 3865 "chess-pgn.c"
										}
#line 455 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp121_ = symbol;
#line 455 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp122_ = i;
#line 455 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp123_ = string_get (_tmp121_, (glong) _tmp122_);
#line 455 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp124_ = g_ascii_isdigit (_tmp123_);
#line 455 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										if (!_tmp124_) {
#line 456 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
											is_number = FALSE;
#line 3879 "chess-pgn.c"
										}
									}
								}
							}
#line 458 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = STATE_MOVE_TEXT;
#line 459 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp125_ = offset;
#line 459 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							offset = _tmp125_ - 1;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp128_ = symbol;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp129_ = pgn_game_RESULT_DRAW;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (g_strcmp0 (_tmp128_, _tmp129_) == 0) {
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp127_ = TRUE;
#line 3898 "chess-pgn.c"
							} else {
								const gchar* _tmp130_;
								const gchar* _tmp131_;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp130_ = symbol;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp131_ = pgn_game_RESULT_WHITE;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp127_ = g_strcmp0 (_tmp130_, _tmp131_) == 0;
#line 3908 "chess-pgn.c"
							}
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp127_) {
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp126_ = TRUE;
#line 3914 "chess-pgn.c"
							} else {
								const gchar* _tmp132_;
								const gchar* _tmp133_;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp132_ = symbol;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp133_ = pgn_game_RESULT_BLACK;
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp126_ = g_strcmp0 (_tmp132_, _tmp133_) == 0;
#line 3924 "chess-pgn.c"
							}
#line 462 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							if (_tmp126_) {
#line 3928 "chess-pgn.c"
								gint _tmp134_;
#line 464 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp134_ = rav_level;
#line 464 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								if (_tmp134_ == 0) {
#line 3934 "chess-pgn.c"
									PGNGame* _tmp135_;
									const gchar* _tmp136_;
									PGNGame* _tmp137_;
									PGNGame* _tmp138_;
									PGNGame* _tmp139_;
#line 466 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp135_ = game;
#line 466 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp136_ = symbol;
#line 466 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									pgn_game_set_result (_tmp135_, _tmp136_);
#line 467 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp137_ = game;
#line 467 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp138_ = _g_object_ref0 (_tmp137_);
#line 467 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									self->games = g_list_append (self->games, _tmp138_);
#line 468 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp139_ = pgn_game_new ();
#line 468 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_g_object_unref0 (game);
#line 468 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									game = _tmp139_;
#line 469 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									state = STATE_TAGS;
#line 3960 "chess-pgn.c"
								}
							} else {
								gboolean _tmp140_;
#line 472 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp140_ = is_number;
#line 472 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								if (!_tmp140_) {
#line 3968 "chess-pgn.c"
									gint _tmp141_;
#line 474 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp141_ = rav_level;
#line 474 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (_tmp141_ == 0) {
#line 3974 "chess-pgn.c"
										PGNGame* _tmp142_;
										const gchar* _tmp143_;
										gchar* _tmp144_;
#line 475 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp142_ = game;
#line 475 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp143_ = symbol;
#line 475 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp144_ = g_strdup (_tmp143_);
#line 475 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp142_->moves = g_list_append (_tmp142_->moves, _tmp144_);
#line 3986 "chess-pgn.c"
									}
								}
							}
#line 447 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_g_free0 (symbol);
#line 3992 "chess-pgn.c"
						}
#line 478 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 3996 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_PERIOD:
#line 4000 "chess-pgn.c"
					{
#line 482 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						state = STATE_MOVE_TEXT;
#line 483 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 4006 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_NAG:
#line 4010 "chess-pgn.c"
					{
						gunichar _tmp145_;
						gboolean _tmp146_;
#line 486 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp145_ = c;
#line 486 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp146_ = g_unichar_isdigit (_tmp145_);
#line 486 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						if (_tmp146_) {
#line 487 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							continue;
#line 4022 "chess-pgn.c"
						} else {
							gsize _tmp147_;
#line 490 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							state = STATE_MOVE_TEXT;
#line 491 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							_tmp147_ = offset;
#line 491 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							offset = _tmp147_ - 1;
#line 4031 "chess-pgn.c"
						}
#line 493 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						break;
#line 4035 "chess-pgn.c"
					}
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					case STATE_ERROR:
#line 4039 "chess-pgn.c"
					{
						gsize char_offset = 0UL;
						gsize _tmp148_;
						gsize _tmp149_;
						FILE* _tmp150_;
						gint _tmp151_;
						gsize _tmp152_;
						FILE* _tmp153_;
						const gchar* _tmp154_;
						gsize _tmp155_;
						gsize _tmp156_;
						gchar* _tmp157_;
						gchar* _tmp158_;
						FILE* _tmp164_;
#line 496 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp148_ = offset;
#line 496 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp149_ = line_offset;
#line 496 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						char_offset = (_tmp148_ - _tmp149_) - 1;
#line 497 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp150_ = stderr;
#line 497 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp151_ = line;
#line 497 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp152_ = char_offset;
#line 497 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						fprintf (_tmp150_, "%d.%d: error: Unexpected character\n", _tmp151_, (gint) (_tmp152_ + 1));
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp153_ = stderr;
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp154_ = data;
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp155_ = line_offset;
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp156_ = offset;
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp157_ = string_slice (_tmp154_, (glong) _tmp155_, (glong) _tmp156_);
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp158_ = _tmp157_;
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						fprintf (_tmp153_, "%s\n", _tmp158_);
#line 498 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_g_free0 (_tmp158_);
#line 4084 "chess-pgn.c"
						{
							gint i = 0;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
							i = 0;
#line 4089 "chess-pgn.c"
							{
								gboolean _tmp159_ = FALSE;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								_tmp159_ = TRUE;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
								while (TRUE) {
#line 4096 "chess-pgn.c"
									gint _tmp161_;
									gsize _tmp162_;
									FILE* _tmp163_;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (!_tmp159_) {
#line 4102 "chess-pgn.c"
										gint _tmp160_;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										_tmp160_ = i;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										i = _tmp160_ + 1;
#line 4108 "chess-pgn.c"
									}
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp159_ = FALSE;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp161_ = i;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp162_ = char_offset;
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									if (!(((gsize) _tmp161_) < _tmp162_)) {
#line 499 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
										break;
#line 4120 "chess-pgn.c"
									}
#line 500 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									_tmp163_ = stderr;
#line 500 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
									fprintf (_tmp163_, " ");
#line 4126 "chess-pgn.c"
								}
							}
						}
#line 501 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_tmp164_ = stderr;
#line 501 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						fprintf (_tmp164_, "^\n");
#line 502 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_g_string_free0 (tag_value);
#line 502 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_g_free0 (tag_name);
#line 502 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						_g_object_unref0 (game);
#line 502 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
						return self;
#line 4142 "chess-pgn.c"
					}
					default:
#line 307 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
					break;
#line 4147 "chess-pgn.c"
				}
			}
		}
	}
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp166_ = game;
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp167_ = _tmp166_->moves;
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp168_ = g_list_length (_tmp167_);
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp168_ > ((guint) 0)) {
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp165_ = TRUE;
#line 4162 "chess-pgn.c"
	} else {
		PGNGame* _tmp169_;
		GHashTable* _tmp170_;
		guint _tmp171_;
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp169_ = game;
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp170_ = _tmp169_->tags;
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp171_ = g_hash_table_size (_tmp170_);
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp165_ = _tmp171_ > ((guint) 0);
#line 4175 "chess-pgn.c"
	}
#line 506 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp165_) {
#line 4179 "chess-pgn.c"
		PGNGame* _tmp172_;
		PGNGame* _tmp173_;
#line 507 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp172_ = game;
#line 507 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp173_ = _g_object_ref0 (_tmp172_);
#line 507 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		self->games = g_list_append (self->games, _tmp173_);
#line 4188 "chess-pgn.c"
	}
#line 510 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp174_ = self->games;
#line 510 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (_tmp174_ == NULL) {
#line 4194 "chess-pgn.c"
		GError* _tmp175_;
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_tmp175_ = g_error_new_literal (PGN_ERROR, PGN_ERROR_LOAD_ERROR, "No games in PGN file");
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_inner_error_ = _tmp175_;
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		if (_inner_error_->domain == PGN_ERROR) {
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			g_propagate_error (error, _inner_error_);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_string_free0 (tag_value);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_free0 (tag_name);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_object_unref0 (game);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_object_unref0 (self);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			return NULL;
#line 4214 "chess-pgn.c"
		} else {
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_string_free0 (tag_value);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_free0 (tag_name);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			_g_object_unref0 (game);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.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 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			g_clear_error (&_inner_error_);
#line 511 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
			return NULL;
#line 4228 "chess-pgn.c"
		}
	}
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_string_free0 (tag_value);
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_free0 (tag_name);
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_g_object_unref0 (game);
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return self;
#line 4239 "chess-pgn.c"
}


PGN* pgn_new_from_string (const gchar* data, GError** error) {
#line 285 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return pgn_construct_from_string (TYPE_PGN, data, error);
#line 4246 "chess-pgn.c"
}


PGN* pgn_construct_from_file (GType object_type, GFile* file, GError** error) {
	PGN * self = NULL;
	guint8* contents = NULL;
	gint contents_length1 = 0;
	gint _contents_size_ = 0;
	GFile* _tmp0_;
	guint8* _tmp1_ = NULL;
	gsize _tmp2_;
	guint8* _tmp3_;
	gint _tmp3__length1;
	GError * _inner_error_ = NULL;
#line 514 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_return_val_if_fail (file != NULL, NULL);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp0_ = file;
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	g_file_load_contents (_tmp0_, NULL, &_tmp1_, &_tmp2_, NULL, &_inner_error_);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	contents = (g_free (contents), NULL);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	contents = _tmp1_;
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	contents_length1 = _tmp2_;
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_contents_size_ = contents_length1;
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_propagate_error (error, _inner_error_);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		contents = (g_free (contents), NULL);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_g_object_unref0 (self);
#line 517 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return NULL;
#line 4285 "chess-pgn.c"
	}
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3_ = contents;
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	_tmp3__length1 = contents_length1;
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = (PGN*) pgn_construct_from_string (object_type, (const gchar*) _tmp3_, &_inner_error_);
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		g_propagate_error (error, _inner_error_);
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		contents = (g_free (contents), NULL);
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		_g_object_unref0 (self);
#line 518 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
		return NULL;
#line 4303 "chess-pgn.c"
	}
#line 514 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	contents = (g_free (contents), NULL);
#line 514 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return self;
#line 4309 "chess-pgn.c"
}


PGN* pgn_new_from_file (GFile* file, GError** error) {
#line 514 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return pgn_construct_from_file (TYPE_PGN, file, error);
#line 4316 "chess-pgn.c"
}


PGN* pgn_construct (GType object_type) {
	PGN * self = NULL;
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = (PGN*) g_object_new (object_type, NULL);
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return self;
#line 4326 "chess-pgn.c"
}


PGN* pgn_new (void) {
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	return pgn_construct (TYPE_PGN);
#line 4333 "chess-pgn.c"
}


static void pgn_class_init (PGNClass * klass) {
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	pgn_parent_class = g_type_class_peek_parent (klass);
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (klass)->finalize = pgn_finalize;
#line 4342 "chess-pgn.c"
}


static void pgn_instance_init (PGN * self) {
}


static void pgn_finalize (GObject * obj) {
	PGN * self;
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PGN, PGN);
#line 238 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	__g_list_free__g_object_unref0_0 (self->games);
#line 236 "/home/mcatanzaro/Projects/GNOME/gnome-chess/lib/chess-pgn.vala"
	G_OBJECT_CLASS (pgn_parent_class)->finalize (obj);
#line 4358 "chess-pgn.c"
}


GType pgn_get_type (void) {
	static volatile gsize pgn_type_id__volatile = 0;
	if (g_once_init_enter (&pgn_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PGNClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pgn_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PGN), 0, (GInstanceInitFunc) pgn_instance_init, NULL };
		GType pgn_type_id;
		pgn_type_id = g_type_register_static (G_TYPE_OBJECT, "PGN", &g_define_type_info, 0);
		g_once_init_leave (&pgn_type_id__volatile, pgn_type_id);
	}
	return pgn_type_id__volatile;
}



