[Goodies-commits] r3703 - in xfce4-dict-plugin/trunk: . panel-plugin

Enrico Troeger enrico at xfce.org
Fri Dec 14 15:20:25 CET 2007


Author: enrico
Date: 2007-12-14 14:20:25 +0000 (Fri, 14 Dec 2007)
New Revision: 3703

Added:
   xfce4-dict-plugin/trunk/panel-plugin/aspell.c
   xfce4-dict-plugin/trunk/panel-plugin/dict.h
Modified:
   xfce4-dict-plugin/trunk/ChangeLog
   xfce4-dict-plugin/trunk/panel-plugin/Makefile.am
   xfce4-dict-plugin/trunk/panel-plugin/dict.c
   xfce4-dict-plugin/trunk/panel-plugin/inline-icon.h
Log:
Fix small memory leak.
Always store all settings from the properties dialog.
Remove search mode selection from properties dialog.
Add aspell support (should also work with ispell).		


Modified: xfce4-dict-plugin/trunk/ChangeLog
===================================================================
--- xfce4-dict-plugin/trunk/ChangeLog	2007-12-14 02:13:10 UTC (rev 3702)
+++ xfce4-dict-plugin/trunk/ChangeLog	2007-12-14 14:20:25 UTC (rev 3703)
@@ -1,37 +1,45 @@
-2007-12-10  enrico
+2007-12-14  Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
+	* Fix small memory leak.
+	* Always store all settings from the properties dialog.
+	* Remove search mode selection from properties dialog.
+	* Add aspell support (should also work with ispell).
+
+
+2007-12-10  Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
 	* Added search method radio buttons.
 
 
-2007-10-22  enrico
+2007-10-22  Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Fixed missing application icon in taskbar and window frame.
 	* Added missing include of stdlib to avoid compiler warnings.
 
 
-2007-01-20 enrico
+2007-01-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Fixed possible crashes when showing the main window after it was closed.
 
 
-2007-01-16 enrico
+2007-01-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* New release: 0.2.1
 
 
-2006-12-05 enrico
+2006-12-05 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Fixed possible segfault after retrieving the dictionary list from a server.
 
 
-2006-12-04 enrico
+2006-12-04 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Fixed wrong display of panel text entry when panel orientation changed.
 	* Panel text entry grows and shrinks now according to the given size.
 	* Removed dependency on libexo, use exo-open(and some other fallbacks) instead.
 
 
-2006-11-25 enrico
+2006-11-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Enabled website link to goodies.xfce.org in the about dialog.
 	* Added missing includes to fix compilation on FreeBSD.
@@ -39,7 +47,7 @@
 	  for reporting).
 
 
-2006-11-16 enrico
+2006-11-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Added dependency of libexo.
 	* Added alternative search mode via a web site dictionary and provide three
@@ -48,12 +56,12 @@
 	* Added UTF8_STRING as drop target. Might be it helps.
 
 
-2006-11-07 enrico
+2006-11-07 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Prefixed all functions with dict.
 
 
-2006-10-15 enrico
+2006-10-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Improved the threading code to do GTK-related stuff in the main thread.
 	* Fixed some compiler warnings.
@@ -61,19 +69,19 @@
 	* Handle non-UTF8 input better, try to convert it, otherwise stop query.
 
 
-2006-10-14 enrico
+2006-10-14 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Implemented threading to not freeze the GUI while searching on a slow server
 	  (needs testing).
 
 
-2006-10-02 enrico
+2006-10-02 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Again fixed display of panel text field when panel has no horizontal
 	  orientation.
 
 
-2006-10-01 enrico
+2006-10-01 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Fixed display of panel text field when panel has no horizontal orientation.
 	* Fixed some minor GUI issues to improve usability
@@ -86,18 +94,18 @@
 	* Added "Clear" button to the main window(suggested by Joe Klemmer).
 
 
-2006-09-26 enrico
+2006-09-26 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Added optional text field in the panel.
 
 
-2006-09-25 enrico
+2006-09-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Changed application icon
 	* Added Cancel button to the properties dialog to cancel current changes.
 
 
-2006-09-20 enrico
+2006-09-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* New Release: 0.1.1
 	* Set icon for the main window
@@ -107,6 +115,6 @@
 	  (thanks Remco den Breeje for reporting).
 
 
-2006-09-20 enrico
+2006-09-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
 	* Initial release 0.1.0.

Modified: xfce4-dict-plugin/trunk/panel-plugin/Makefile.am
===================================================================
--- xfce4-dict-plugin/trunk/panel-plugin/Makefile.am	2007-12-14 02:13:10 UTC (rev 3702)
+++ xfce4-dict-plugin/trunk/panel-plugin/Makefile.am	2007-12-14 14:20:25 UTC (rev 3703)
@@ -3,6 +3,8 @@
 
 xfce4_dict_plugin_SOURCES =						\
 	inline-icon.h								\
+	aspell.c									\
+	dict.h										\
 	dict.c
 
 xfce4_dict_plugin_CFLAGS =						\
@@ -40,6 +42,4 @@
 	$(desktop_DATA)
 
 hicolor48dir = $(datadir)/icons/hicolor/scalable/apps
-
-hicolor48_DATA = \
-	dict-icon.svg
+hicolor48_DATA = dict-icon.svg


Property changes on: xfce4-dict-plugin/trunk/panel-plugin/Makefile.am
___________________________________________________________________
Name: svn:keywords
   + Id

Added: xfce4-dict-plugin/trunk/panel-plugin/aspell.c
===================================================================
--- xfce4-dict-plugin/trunk/panel-plugin/aspell.c	                        (rev 0)
+++ xfce4-dict-plugin/trunk/panel-plugin/aspell.c	2007-12-14 14:20:25 UTC (rev 3703)
@@ -0,0 +1,180 @@
+/*  $Id$
+ *
+ *  Copyright © 2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ *  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 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <string.h>
+
+#include <gtk/gtk.h>
+
+#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4panel/xfce-panel-plugin.h>
+
+#include "dict.h"
+
+
+
+static GIOChannel *set_up_io_channel(gint fd, GIOCondition cond, GIOFunc func, gpointer data)
+{
+	GIOChannel *ioc;
+
+	ioc = g_io_channel_unix_new(fd);
+
+	g_io_channel_set_flags(ioc, G_IO_FLAG_NONBLOCK, NULL);
+	g_io_channel_set_encoding(ioc, NULL, NULL);
+	// "auto-close" ;-)
+	g_io_channel_set_close_on_unref(ioc, TRUE);
+
+	g_io_add_watch(ioc, cond, func, data);
+	g_io_channel_unref(ioc);
+
+	return ioc;
+}
+
+
+static gboolean iofunc_read(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	if (cond & (G_IO_IN | G_IO_PRI))
+	{
+		gchar *msg, *tmp;
+		GtkTextIter iter;
+		DictData *dd = data;
+
+		gtk_text_buffer_get_start_iter(dd->main_textbuffer, &iter);
+		while (g_io_channel_read_line(ioc, &msg, NULL, NULL, NULL) && msg != NULL)
+		{
+			if (msg[0] == '&')
+			{	// & cmd 17 7: ...
+				tmp = strchr(msg + 2, ' ') + 1;
+				dict_status_add(dd, _("%d suggestion(s) found."), atoi(tmp));
+
+				tmp = g_strdup_printf(_("Suggestions for \"%s\":\n"), dd->searched_word);
+				gtk_text_buffer_insert_with_tags(dd->main_textbuffer, &iter, tmp, -1,
+					dd->main_boldtag, NULL);
+				g_free(tmp);
+
+				tmp = strchr(msg, ':') + 2;
+				gtk_text_buffer_insert(dd->main_textbuffer, &iter, g_strchomp(tmp), -1);
+			}
+			else if (msg[0] == '*')
+			{
+				tmp = g_strdup_printf(_("\"%s\" is spelled correctly.\n"), dd->searched_word);
+				gtk_text_buffer_insert(dd->main_textbuffer, &iter, tmp, -1);
+				g_free(tmp);
+			}
+			else if (msg[0] == '#')
+			{
+				tmp = g_strdup_printf(_("No suggestions could be found for \"%s\".\n"),
+					dd->searched_word);
+				gtk_text_buffer_insert(dd->main_textbuffer, &iter, tmp, -1);
+				g_free(tmp);
+			}
+			g_free(msg);
+		}
+	}
+	if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL))
+		return FALSE;
+
+	return TRUE;
+}
+
+
+static gboolean iofunc_read_err(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	if (cond & (G_IO_IN | G_IO_PRI))
+	{
+		gchar *msg;
+		DictData *dd = data;
+
+		while (g_io_channel_read_line(ioc, &msg, NULL, NULL, NULL) && msg != NULL)
+		{
+			dict_status_add(dd, _("%s"), g_strstrip(msg));
+			g_free(msg);
+		}
+	}
+	if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL))
+		return FALSE;
+
+	return TRUE;
+}
+
+
+static gboolean iofunc_write(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	gsize written;
+
+	if (NZV((const gchar *) data))
+		g_io_channel_write_chars(ioc, (const gchar *) data, -1, &written, NULL);
+
+	return FALSE;
+}
+
+
+void dict_start_aspell_query(DictData *dd, const gchar *word)
+{
+	GError  *error = NULL;
+	gchar  **argv;
+	gchar	*locale_cmd;
+	gint     stdout_fd;
+	gint     stderr_fd;
+	gint     stdin_fd;
+
+	if (! NZV(dd->spell_bin))
+	{
+		dict_status_add(dd, _("Please set an appropriate aspell command."));
+		return;
+	}
+	if (! NZV(word))
+	{
+		dict_status_add(dd, _("Invalid input."));
+		return;
+	}
+	locale_cmd = g_locale_from_utf8(dd->spell_bin, -1, NULL, NULL, NULL);
+	if (locale_cmd == NULL)
+		locale_cmd = g_strdup(dd->spell_bin);
+
+	argv = g_new0(gchar*, 5);
+	argv[0] = locale_cmd;
+	argv[1] = g_strdup("-a");
+	argv[2] = g_strdup("-l");
+	argv[3] = g_strdup(dd->spell_dictionary);
+	argv[4] = NULL;
+
+	dict_clear_text_buffer(dd);
+
+	if (g_spawn_async_with_pipes(NULL, argv, NULL,
+			G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, NULL,
+			&stdin_fd, &stdout_fd, &stderr_fd, &error))
+	{
+		set_up_io_channel(stdin_fd, G_IO_OUT, iofunc_write, (const gpointer) word);
+		set_up_io_channel(stdout_fd, G_IO_IN|G_IO_PRI|G_IO_HUP|G_IO_ERR|G_IO_NVAL, iofunc_read, dd);
+		set_up_io_channel(stderr_fd, G_IO_IN|G_IO_PRI|G_IO_HUP|G_IO_ERR|G_IO_NVAL, iofunc_read_err, dd);
+		dict_status_add(dd, _("Ready."));
+	}
+	else
+	{
+		dict_status_add(dd, _("Process failed (%s)"), error->message);
+		g_error_free(error);
+		error = NULL;
+	}
+
+	g_strfreev(argv);
+}


Property changes on: xfce4-dict-plugin/trunk/panel-plugin/aspell.c
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: xfce4-dict-plugin/trunk/panel-plugin/dict.c
===================================================================
--- xfce4-dict-plugin/trunk/panel-plugin/dict.c	2007-12-14 02:13:10 UTC (rev 3702)
+++ xfce4-dict-plugin/trunk/panel-plugin/dict.c	2007-12-14 14:20:25 UTC (rev 3703)
@@ -1,6 +1,6 @@
 /*  $Id$
  *
- *  Copyright © 2006-2007 Enrico Tröger <enrico.troeger at uvena.de>
+ *  Copyright © 2006-2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
  *
  *  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
@@ -39,97 +39,19 @@
 #include <signal.h>
 #include <string.h>
 
+#include "dict.h"
 #include "inline-icon.h"
 
 #define BUF_SIZE 256
 
-typedef enum
-{
-	DICTMODE_DICT,
-	DICTMODE_WEB,
-	DICTMODE_SPELL
-} _dict_mode;
 
-typedef enum
-{
-	WEBMODE_OTHER,
-	WEBMODE_LEO_GERENG,
-	WEBMODE_LEO_GERFRE,
-	WEBMODE_LEO_GERSPA
-} _web_mode;
-
-
-enum
-{
-	NO_CONNECTION,
-	NO_ERROR
-};
-
-
-typedef struct
-{
-    XfcePanelPlugin *plugin;
-
-    _dict_mode mode;
-    _web_mode web_mode;
-
-    GtkWidget *window;
-    GtkWidget *statusbar;
-    GtkWidget *main_entry;
-	GtkWidget *panel_entry;
-	GtkWidget *main_textview;
-	GtkTextBuffer *main_textbuffer;
-	GtkTextTag *main_boldtag;
-	//GtkWidget *main_dict_combo;
-
-    GtkWidget *server_entry;
-    GtkWidget *dict_combo;
-    GtkWidget *port_spinner;
-    GtkWidget *panel_entry_size_label;
-    GtkWidget *panel_entry_size_spinner;
-	GtkWidget *check_panel_entry;
-
-    GtkWidget *panel_button;
-    GtkWidget *panel_button_image;
-    GtkTooltips *tooltips;
-
-    gboolean show_panel_entry;
-    gint panel_entry_size;
-    gint port;
-    gchar *server;
-    gchar *dictionary;
-
-	gchar *searched_word;  // word to query the server
-	gboolean query_is_running;
-	gint query_status;
-	gchar *query_buffer;
-
-	GtkWidget *radio_dict;
-	GtkWidget *radio_web;
-
-	GtkWidget *web_entry_label;
-	GtkWidget *web_entry;
-	GtkWidget *web_radio_leo_gereng;
-	GtkWidget *web_radio_leo_gerfre;
-	GtkWidget *web_radio_leo_gerspa;
-	GtkWidget *web_radio_other;
-	gchar *web_url;
-
-	GtkWidget *frame_dict;
-	GtkWidget *frame_web;
-
-    GdkPixbuf *icon;
-} DictData;
-
-
 /* Panel Plugin Interface */
 
 static void dict_properties_dialog(XfcePanelPlugin *plugin, DictData *dd);
 static void dict_construct(XfcePanelPlugin *plugin);
+static void dict_write_rc_file(XfcePanelPlugin *plugin, DictData *dd);
 
-XFCE_PANEL_PLUGIN_REGISTER_INTERNAL(dict_construct);
 
-
 /* internal functions */
 
 
@@ -169,8 +91,8 @@
 }
 
 
-/* replaces all occurrences of needle in haystack with replacement
- * all strings have to NULL-terminated and needle and replacement have to be different,
+/* Replaces all occurrences of needle in haystack with replacement.
+ * All strings have to be NULL-terminated and needle and replacement have to be different,
  * e.g. needle "%" and replacement "%%" causes an endless loop */
 static gchar *dict_str_replace(gchar *haystack, const gchar *needle, const gchar *replacement)
 {
@@ -180,12 +102,20 @@
 	gchar *result;
 	GString *str;
 
-	if (haystack == NULL) return NULL;
+	if (haystack == NULL)
+		return NULL;
 
+	if (needle == NULL || replacement == NULL)
+		return haystack;
+
+	if (strcmp(needle, replacement) == 0)
+		return haystack;
+
 	start = strstr(haystack, needle);
 	lt_pos = dict_str_pos(haystack, needle);
 
-	if (start == NULL || lt_pos == -1) return haystack;
+	if (start == NULL || lt_pos == -1)
+		return haystack;
 
 	// substitute by copying
 	str = g_string_sized_new(strlen(haystack));
@@ -324,24 +254,6 @@
 }
 
 
-/* old code, never worked correctly with big results
-static void get_answer(gint fd, gchar *buf)
-{
-	gint len;
-
-	len = recv(fd, buf, BUF_SIZE - 1, 0);
-
-	if (len <= 0) return;
-
-	while (len > 1 && (buf[len - 1] == '\n' || buf[len - 1] == '\r'))
-	{
-		buf[len - 1] = '\0';
-		len--;
-	}
-}
-*/
-
-
 static void dict_show_main_window(DictData *dd)
 {
 	gtk_widget_show(dd->window);
@@ -350,7 +262,7 @@
 }
 
 
-static void dict_status_add(DictData *dd, const gchar *format, ...)
+void dict_status_add(DictData *dd, const gchar *format, ...)
 {
 	static gchar string[512];
 	va_list args;
@@ -365,7 +277,7 @@
 }
 
 
-static void dict_clear_text_buffer(DictData *dd)
+void dict_clear_text_buffer(DictData *dd)
 {
 	GtkTextIter start_iter, end_iter;
 
@@ -376,7 +288,7 @@
 }
 
 
-static gboolean dict_process_server_response(DictData *dd)
+gboolean dict_process_server_response(DictData *dd)
 {
 	gint max_lines, i;
 	gint defs_found = 0;
@@ -590,7 +502,7 @@
 	gboolean show = TRUE;
 
 	// sanity checks
-	if (word == NULL || strlen(word) == 0 || strlen(word) > (BUF_SIZE - 11))
+	if (! NZV(word) || strlen(word) > (BUF_SIZE - 11))
 	{
 		dict_status_add(dd, _("Invalid input."));
 		return;
@@ -612,62 +524,82 @@
 	}
 	else
 	{
-		dd->searched_word = g_strdup(word); // copy the string because it will be freed by the caller
+		dd->searched_word = g_strdup(word);
 	}
 
-
-	if (dd->mode == DICTMODE_DICT)
+	switch (dd->mode)
 	{
-		dict_start_server_query(dd, dd->searched_word);
-	}
-	else if (dd->mode == DICTMODE_WEB)
-	{
-		gboolean use_leo = FALSE;
-		gchar *uri, *base;
+		case DICTMODE_DICT:
+		{
+			dict_start_server_query(dd, dd->searched_word);
+			break;
+		}
+		case DICTMODE_WEB:
+		{
+			gboolean use_leo = FALSE;
+			gchar *uri, *base;
 
-		switch (dd->web_mode)
-		{
-			case WEBMODE_LEO_GERENG:
+			switch (dd->web_mode)
 			{
-				base = "http://dict.leo.org/ende?search={word}";
-				use_leo = TRUE;
-				break;
+				case WEBMODE_LEO_GERENG:
+				{
+					base = "http://dict.leo.org/ende?search={word}";
+					use_leo = TRUE;
+					break;
+				}
+				case WEBMODE_LEO_GERFRE:
+				{
+					base = "http://dict.leo.org/frde?search={word}";
+					use_leo = TRUE;
+					break;
+				}
+				case WEBMODE_LEO_GERSPA:
+				{
+					base = "http://dict.leo.org/esde?search={word}";
+					use_leo = TRUE;
+					break;
+				}
+				default: base = dd->web_url;
 			}
-			case WEBMODE_LEO_GERFRE:
+
+			if (use_leo)
 			{
-				base = "http://dict.leo.org/frde?search={word}";
-				use_leo = TRUE;
-				break;
+				// convert the text into ISO-8869-15 because dict.leo.org expects it ;-(
+				gchar *tmp = g_convert(dd->searched_word, -1,
+										"ISO-8859-15", "UTF-8", NULL, NULL, NULL);
+				if (tmp != NULL)
+				{
+					g_free(dd->searched_word);
+					dd->searched_word = tmp;
+				}
 			}
-			case WEBMODE_LEO_GERSPA:
+			uri = dict_str_replace(g_strdup(base), "{word}", dd->searched_word);
+			if (! dict_open_browser(dd, uri))
 			{
-				base = "http://dict.leo.org/esde?search={word}";
-				use_leo = TRUE;
-				break;
+				xfce_err(_("Browser could not be opened. Please check your preferences."));
 			}
-			default: base = dd->web_url;
+			g_free(uri);
+
+			show = FALSE; // don't display main window
+			break;
 		}
-
-		if (use_leo)
+		case DICTMODE_SPELL:
 		{
-			// convert the text into ISO-8869-15 because dict.leo.org expects it ;-(
-			gchar *tmp = g_convert(dd->searched_word, -1,
-									"ISO-8859-15", "UTF-8", NULL, NULL, NULL);
-			if (tmp != NULL)
+			/// TODO search only for the first word when working on a sentence,
+			/// workout a better solution
+			gchar *first_word_end = dd->searched_word;
+			if ((first_word_end = strchr(dd->searched_word, ' ')) ||
+				(first_word_end = strchr(dd->searched_word, '-')) ||
+				(first_word_end = strchr(dd->searched_word, '_')) ||
+				(first_word_end = strchr(dd->searched_word, '.')) ||
+				(first_word_end = strchr(dd->searched_word, ',')))
 			{
-				g_free(dd->searched_word);
-				dd->searched_word = tmp;
+				*first_word_end = '\0';
 			}
-		}
 
-		uri = dict_str_replace(g_strdup(base), "{word}", dd->searched_word);
-		if (! dict_open_browser(dd, uri))
-		{
-			xfce_err(_("Browser could not be opened. Please check your preferences."));
+			dict_start_aspell_query(dd, dd->searched_word);
+			break;
 		}
-		g_free(uri);
-
-		show = FALSE; // don't display main window
 	}
 
 	if (show)
@@ -684,10 +616,12 @@
 
 static void dict_free_data(XfcePanelPlugin *plugin, DictData *dd)
 {
+    dict_write_rc_file(plugin, dd);
     g_free(dd->searched_word);
     g_free(dd->dictionary);
     g_free(dd->server);
     g_free(dd->web_url);
+    g_free(dd->spell_bin);
     g_object_unref(dd->icon);
     gtk_object_sink(GTK_OBJECT(dd->tooltips));
     g_free(dd);
@@ -747,6 +681,8 @@
     const gchar *server = "dict.org";
     const gchar *dict = "*";
     const gchar *weburl = NULL;
+    const gchar *spell_bin = "aspell";
+    const gchar *spell_dictionary = "en";
 
     if ((file = xfce_panel_plugin_lookup_rc_file(plugin)) != NULL)
     {
@@ -762,6 +698,8 @@
             port = xfce_rc_read_int_entry(rc, "port", port);
             server = xfce_rc_read_entry(rc, "server", server);
             dict = xfce_rc_read_entry(rc, "dict", dict);
+            spell_bin = xfce_rc_read_entry(rc, "spell_bin", spell_bin);
+            spell_dictionary = xfce_rc_read_entry(rc, "spell_dictionary", spell_dictionary);
 
             xfce_rc_close(rc);
         }
@@ -775,6 +713,8 @@
     dd->port = port;
     dd->server = g_strdup(server);
     dd->dictionary = g_strdup(dict);
+    dd->spell_bin = g_strdup(spell_bin);
+    dd->spell_dictionary = g_strdup(spell_dictionary);
 }
 
 
@@ -799,6 +739,8 @@
     xfce_rc_write_int_entry(rc, "port", dd->port);
     xfce_rc_write_entry(rc, "server", dd->server);
     xfce_rc_write_entry(rc, "dict", dd->dictionary);
+    xfce_rc_write_entry(rc, "spell_bin", dd->spell_bin);
+    xfce_rc_write_entry(rc, "spell_dictionary", dd->spell_dictionary);
 
     xfce_rc_close(rc);
 }
@@ -886,48 +828,50 @@
 
     if (response == GTK_RESPONSE_OK)
     {
+		gchar *tmp;
 		// MODE DICT
-		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->radio_dict)))
+		tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->dict_combo));
+		if (tmp == NULL || tmp[0] == '0' || tmp[0] == '-')
 		{
-			gchar *tmp;
+			xfce_err(_("You have chosen an invalid dictionary entry."));
+			g_free(tmp);
+			return;
+		}
 
-			dd->mode = DICTMODE_DICT;
+		dd->port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(dd->port_spinner));
 
-			tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->dict_combo));
-			if (tmp == NULL || tmp[0] == '-')
-			{
-				xfce_err(_("You have chosen an invalid dictionary entry."));
-				return;
-			}
+		g_free(dd->server);
+		dd->server = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->server_entry)));
 
-			dd->port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(dd->port_spinner));
+		g_free(dd->dictionary);
+		dd->dictionary = tmp;
 
-			g_free(dd->server);
-			dd->server = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->server_entry)));
-
-			g_free(dd->dictionary);
-			dd->dictionary = g_strdup(tmp);
-		}
 		// MODE WEB
-		else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->radio_web)))
+		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gereng)))
+			dd->web_mode = WEBMODE_LEO_GERENG;
+		else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerfre)))
+			dd->web_mode = WEBMODE_LEO_GERFRE;
+		else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerspa)))
+			dd->web_mode = WEBMODE_LEO_GERSPA;
+		else
 		{
-			dd->mode = DICTMODE_WEB;
+			dd->web_mode = WEBMODE_OTHER;
 
-			if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gereng)))
-				dd->web_mode = WEBMODE_LEO_GERENG;
-			else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerfre)))
-				dd->web_mode = WEBMODE_LEO_GERFRE;
-			else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerspa)))
-				dd->web_mode = WEBMODE_LEO_GERSPA;
-			else
-			{
-				dd->web_mode = WEBMODE_OTHER;
+			g_free(dd->web_url);
+			dd->web_url = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->web_entry)));
+		}
 
-				g_free(dd->web_url);
-				dd->web_url = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->web_entry)));
-			}
+		// MODE SPELL
+		tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->spell_combo));
+		if (NZV(tmp))
+		{
+			g_free(dd->spell_dictionary);
+			dd->spell_dictionary = tmp;
 		}
 
+		g_free(dd->spell_bin);
+		dd->spell_bin = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->spell_entry)));
+
 		// general settings
 		dd->show_panel_entry = gtk_toggle_button_get_active(
 								GTK_TOGGLE_BUTTON(dd->check_panel_entry));
@@ -942,7 +886,6 @@
 		else
 			gtk_widget_hide(dd->panel_entry);
 
-
 		// save settings
 		dict_set_size(dd->plugin, xfce_panel_plugin_get_size(dd->plugin), dd);
 		dict_write_rc_file(dd->plugin, dd);
@@ -966,10 +909,42 @@
 }
 
 
+static void dict_get_spell_dictionaries(DictData *dd)
+{
+	if (NZV(dd->spell_bin))
+	{
+		gchar *tmp = NULL, *cmd, *locale_cmd;
+
+		cmd = g_strconcat(dd->spell_bin, " dump dicts", NULL);
+		locale_cmd = g_locale_from_utf8(cmd, -1, NULL, NULL, NULL);
+		if (locale_cmd == NULL)
+			locale_cmd = g_strdup(cmd);
+		g_spawn_command_line_sync(locale_cmd, &tmp, NULL, NULL, NULL);
+		if (NZV(tmp))
+		{
+			gchar **list = g_strsplit_set(tmp, "\n\r", -1);
+			gchar *item;
+			guint i, len = g_strv_length(list);
+			for (i = 0; i < len; i++)
+			{
+				item = g_strstrip(list[i]);
+				gtk_combo_box_append_text(GTK_COMBO_BOX(dd->spell_combo), item);
+				if (strcmp(dd->spell_dictionary, item) == 0)
+					gtk_combo_box_set_active(GTK_COMBO_BOX(dd->spell_combo), i);
+			}
+			g_strfreev(list);
+		}
+
+		g_free(cmd);
+		g_free(locale_cmd);
+		g_free(tmp);
+	}
+}
+
+
 static void dict_properties_dialog(XfcePanelPlugin *plugin, DictData *dd)
 {
     GtkWidget *dlg, *header, *vbox, *label3;
-    GSList *radio_group;
 
     xfce_panel_plugin_block_menu(plugin);
 
@@ -1003,7 +978,7 @@
      * Mode: DICT
      */
      {
-		GtkWidget *label1, *label2, *table, *button_get_list;
+		GtkWidget *label1, *label2, *table, *button_get_list, *frame1;
 
 		/* server address */
 		label1 = gtk_label_new_with_mnemonic(_("Server :"));
@@ -1092,27 +1067,19 @@
 						(GtkAttachOptions) (0), 5, 5);
 
 
-		dd->radio_dict = gtk_radio_button_new_with_label(NULL, _("Use a DICT server"));
-		radio_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(dd->radio_dict));
-		if (dd->mode == DICTMODE_DICT)
-			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->radio_dict), TRUE);
-
-		gtk_widget_show(dd->radio_dict);
-		gtk_box_pack_start(GTK_BOX(vbox), dd->radio_dict, FALSE, FALSE, 0);
-
-		dd->frame_dict = gtk_frame_new(NULL);
-		gtk_frame_set_shadow_type(GTK_FRAME(dd->frame_dict), GTK_SHADOW_ETCHED_OUT);
-		gtk_widget_show(dd->frame_dict);
-		gtk_container_set_border_width(GTK_CONTAINER(dd->frame_dict), 5);
-		gtk_container_add(GTK_CONTAINER(dd->frame_dict), table);
-		gtk_box_pack_start(GTK_BOX(vbox), dd->frame_dict, FALSE, FALSE, 0);
+		frame1 = gtk_frame_new(_("Use a DICT server"));
+		gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_ETCHED_OUT);
+		gtk_widget_show(frame1);
+		gtk_container_set_border_width(GTK_CONTAINER(frame1), 3);
+		gtk_container_add(GTK_CONTAINER(frame1), table);
+		gtk_box_pack_start(GTK_BOX(vbox), frame1, FALSE, FALSE, 0);
      }
 
 	/*
      * Mode: WEB
      */
 	{
-		GtkWidget  *web_vbox, *entry_hbox, *help_label;
+		GtkWidget  *web_vbox, *entry_hbox, *help_label, *frame2;
 		GSList *web_type;
 
 		web_vbox = gtk_vbox_new(FALSE, 5);
@@ -1167,25 +1134,73 @@
 		gtk_label_set_line_wrap(GTK_LABEL(help_label), TRUE);
 		gtk_misc_set_alignment(GTK_MISC(help_label), 0, 0);
 		gtk_widget_show(help_label);
-		gtk_box_pack_start(GTK_BOX(web_vbox), help_label, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(web_vbox), help_label, TRUE, TRUE, 0);
 
-		dd->radio_web = gtk_radio_button_new_with_label(radio_group, _("Use a web site"));
-		gtk_widget_show(dd->radio_web);
-		if (dd->mode == DICTMODE_WEB)
-			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->radio_web), TRUE);
-		gtk_box_pack_start(GTK_BOX(vbox), dd->radio_web, FALSE, FALSE, 0);
-
-		dd->frame_web = gtk_frame_new(NULL);
-		gtk_frame_set_shadow_type(GTK_FRAME(dd->frame_web), GTK_SHADOW_ETCHED_OUT);
-		gtk_widget_show(dd->frame_web);
-		gtk_container_set_border_width(GTK_CONTAINER(dd->frame_web), 5);
-		gtk_container_add(GTK_CONTAINER(dd->frame_web), web_vbox);
-		gtk_box_pack_start(GTK_BOX(vbox), dd->frame_web, FALSE, FALSE, 0);
+		frame2 = gtk_frame_new(_("Use a web site"));
+		gtk_frame_set_shadow_type(GTK_FRAME(frame2), GTK_SHADOW_ETCHED_OUT);
+		gtk_widget_show(frame2);
+		gtk_container_set_border_width(GTK_CONTAINER(frame2), 3);
+		gtk_container_add(GTK_CONTAINER(frame2), web_vbox);
+		gtk_box_pack_start(GTK_BOX(vbox), frame2, TRUE, TRUE, 0);
 	}
 
+	/*
+	 * Mode: ASPELL
+	 */
+	{
+		GtkWidget *label4, *label5, *table, *frame3;
 
-    /* Display text entry in the panel */
-    {
+		label4 = gtk_label_new_with_mnemonic(_("Aspell program :"));
+		gtk_widget_show(label4);
+
+		dd->spell_entry = gtk_entry_new();
+		gtk_entry_set_max_length(GTK_ENTRY(dd->spell_entry), 256);
+		if (dd->spell_bin != NULL)
+		{
+			gtk_entry_set_text(GTK_ENTRY(dd->spell_entry), dd->spell_bin);
+		}
+		gtk_widget_show(dd->spell_entry);
+
+		label5 = gtk_label_new_with_mnemonic(_("Dictionary :"));
+		gtk_widget_show(label5);
+
+		dd->spell_combo = gtk_combo_box_new_text();
+		dict_get_spell_dictionaries(dd);
+		gtk_widget_show(dd->spell_combo);
+
+		table = gtk_table_new(2, 2, FALSE);
+		gtk_widget_show(table);
+		gtk_table_set_row_spacings(GTK_TABLE(table), 5);
+		gtk_table_set_col_spacings(GTK_TABLE(table), 5);
+
+		gtk_table_attach(GTK_TABLE(table), label4, 0, 1, 0, 1,
+						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (0), 5, 5);
+		gtk_misc_set_alignment(GTK_MISC(label4), 1, 0);
+
+		gtk_table_attach(GTK_TABLE(table), dd->spell_entry, 1, 2, 0, 1,
+						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+						(GtkAttachOptions) (0), 5, 5);
+
+		gtk_table_attach(GTK_TABLE(table), label5, 0, 1, 1, 2,
+						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (0), 5, 0);
+		gtk_misc_set_alignment(GTK_MISC(label5), 1, 0);
+
+		gtk_table_attach(GTK_TABLE(table), dd->spell_combo, 1, 2, 1, 2,
+						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+						(GtkAttachOptions) (0), 5, 5);
+
+		frame3 = gtk_frame_new(_("Use Aspell"));
+		gtk_frame_set_shadow_type(GTK_FRAME(frame3), GTK_SHADOW_ETCHED_OUT);
+		gtk_widget_show(frame3);
+		gtk_container_set_border_width(GTK_CONTAINER(frame3), 3);
+		gtk_container_add(GTK_CONTAINER(frame3), table);
+		gtk_box_pack_start(GTK_BOX(vbox), frame3, TRUE, FALSE, 0);
+     }
+
+	/* Display text entry in the panel */
+	{
 		GtkWidget *pe_hbox, *label;
 
 		/* show panel entry check box */
@@ -1271,19 +1286,22 @@
 
 static void dict_search_mode_dict_toggled(GtkToggleButton *togglebutton, DictData *dd)
 {
-	dd->mode = DICTMODE_DICT;
+	if (gtk_toggle_button_get_active(togglebutton))
+		dd->mode = DICTMODE_DICT;
 }
 
 
 static void dict_search_mode_web_toggled(GtkToggleButton *togglebutton, DictData *dd)
 {
-	dd->mode = DICTMODE_WEB;
+	if (gtk_toggle_button_get_active(togglebutton))
+		dd->mode = DICTMODE_WEB;
 }
 
 
 static void dict_search_mode_spell_toggled(GtkToggleButton *togglebutton, DictData *dd)
 {
-	dd->mode = DICTMODE_SPELL;
+	if (gtk_toggle_button_get_active(togglebutton))
+		dd->mode = DICTMODE_SPELL;
 }
 
 
@@ -1367,7 +1385,7 @@
 	gtk_widget_show(method_chooser);
 	gtk_box_pack_start(GTK_BOX(main_box), method_chooser, FALSE, FALSE, 0);
 
-	label = gtk_label_new(_("Search in:"));
+	label = gtk_label_new(_("Search with:"));
 	gtk_widget_show(label);
 	gtk_box_pack_start(GTK_BOX(method_chooser), label, FALSE, FALSE, 6);
 
@@ -1382,13 +1400,13 @@
 	g_signal_connect(radio, "toggled", G_CALLBACK(dict_search_mode_web_toggled), dd);
 	gtk_widget_show(radio);
 	gtk_box_pack_start(GTK_BOX(method_chooser), radio, FALSE, FALSE, 6);
-/*
+
 	radio = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(radio), _("Spellcheck"));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), (dd->mode == DICTMODE_SPELL));
 	g_signal_connect(radio, "toggled", G_CALLBACK(dict_search_mode_spell_toggled), dd);
 	gtk_widget_show(radio);
 	gtk_box_pack_start(GTK_BOX(method_chooser), radio, FALSE, FALSE, 6);
-*/
+
 	// results area
 	scrolledwindow_results = gtk_scrolled_window_new(NULL, NULL);
 	gtk_widget_show(scrolledwindow_results);
@@ -1404,6 +1422,7 @@
 	gtk_text_view_set_editable(GTK_TEXT_VIEW(dd->main_textview), FALSE);
 	gtk_text_view_set_left_margin(GTK_TEXT_VIEW(dd->main_textview), 5);
 	gtk_text_view_set_right_margin(GTK_TEXT_VIEW(dd->main_textview), 5);
+	gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(dd->main_textview), GTK_WRAP_WORD);
 	dd->main_textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(dd->main_textview));
 	dd->main_boldtag = gtk_text_buffer_create_tag(dd->main_textbuffer,
 			"bold", "weight", PANGO_WEIGHT_BOLD, NULL);
@@ -1511,8 +1530,6 @@
 	dd->query_is_running = FALSE;
 	dd->query_status = NO_ERROR;
 
-	//dd->icon = load_and_scale(dict_icon_data, 24, -1);
-
     dict_read_rc_file(plugin, dd);
 
     dd->panel_button = xfce_create_panel_button();


Property changes on: xfce4-dict-plugin/trunk/panel-plugin/dict.c
___________________________________________________________________
Name: Keywords
   - Id

Added: xfce4-dict-plugin/trunk/panel-plugin/dict.h
===================================================================
--- xfce4-dict-plugin/trunk/panel-plugin/dict.h	                        (rev 0)
+++ xfce4-dict-plugin/trunk/panel-plugin/dict.h	2007-12-14 14:20:25 UTC (rev 3703)
@@ -0,0 +1,112 @@
+/*  $Id$
+ *
+ *  Copyright © 2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ *  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 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef DICT_H
+#define DICT_H 1
+
+
+// Returns: TRUE if ptr points to a non-zero value.
+#define NZV(ptr) \
+	((ptr) && (ptr)[0])
+
+
+typedef enum
+{
+	DICTMODE_DICT = 0,
+	DICTMODE_WEB,
+	DICTMODE_SPELL
+} _dict_mode;
+
+typedef enum
+{
+	WEBMODE_OTHER,
+	WEBMODE_LEO_GERENG,
+	WEBMODE_LEO_GERFRE,
+	WEBMODE_LEO_GERSPA
+} _web_mode;
+
+
+enum
+{
+	NO_CONNECTION,
+	NO_ERROR
+};
+
+
+typedef struct
+{
+    XfcePanelPlugin *plugin;
+
+    _dict_mode mode;
+    _web_mode web_mode;
+
+    GtkWidget *window;
+    GtkWidget *statusbar;
+    GtkWidget *main_entry;
+	GtkWidget *panel_entry;
+	GtkWidget *main_textview;
+	GtkTextBuffer *main_textbuffer;
+	GtkTextTag *main_boldtag;
+
+    GtkWidget *server_entry;
+    GtkWidget *dict_combo;
+    GtkWidget *port_spinner;
+    GtkWidget *panel_entry_size_label;
+    GtkWidget *panel_entry_size_spinner;
+	GtkWidget *check_panel_entry;
+
+    GtkWidget *panel_button;
+    GtkWidget *panel_button_image;
+    GtkTooltips *tooltips;
+
+    gboolean show_panel_entry;
+    gint panel_entry_size;
+    gint port;
+    gchar *server;
+    gchar *dictionary;
+
+	gchar *searched_word;  // word to query the server
+	gboolean query_is_running;
+	gint query_status;
+	gchar *query_buffer;
+
+	GtkWidget *web_entry_label;
+	GtkWidget *web_entry;
+	GtkWidget *web_radio_leo_gereng;
+	GtkWidget *web_radio_leo_gerfre;
+	GtkWidget *web_radio_leo_gerspa;
+	GtkWidget *web_radio_other;
+	gchar *web_url;
+
+	GtkWidget *spell_entry;
+    GtkWidget *spell_combo;
+	gchar *spell_bin;
+	gchar *spell_dictionary;
+
+    GdkPixbuf *icon;
+} DictData;
+
+
+
+void dict_status_add(DictData *dd, const gchar *format, ...);
+void dict_clear_text_buffer(DictData *dd);
+void dict_start_aspell_query(DictData *dd, const gchar *word);
+
+#endif


Property changes on: xfce4-dict-plugin/trunk/panel-plugin/dict.h
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: xfce4-dict-plugin/trunk/panel-plugin/inline-icon.h
===================================================================
--- xfce4-dict-plugin/trunk/panel-plugin/inline-icon.h	2007-12-14 02:13:10 UTC (rev 3702)
+++ xfce4-dict-plugin/trunk/panel-plugin/inline-icon.h	2007-12-14 14:20:25 UTC (rev 3703)
@@ -62,330 +62,330 @@
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\314"
-  "\314\314#\314\314\314Z\315\315\315\223\320\320\320\327\320\320\320\342"
-  "\322\322\322\346\321\321\321\350\320\320\320\353\316\316\316\350\315"
-  "\315\315\240\314\314\314\\\314\314\314\1\314\314\314\2\314\314\314`\316"
-  "\316\316\255\316\316\316\351\316\316\316\353\320\320\320\350\321\321"
-  "\321\346\320\320\320\342\315\315\315\333\312\312\312\240\311\311\311"
-  "h\307\307\3072\306\306\306\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\252\252"
+  "\3\312\312\3125\313\313\313l\317\317\317\243\320\320\320\324\320\320"
+  "\320\351\322\322\322\367\324\324\324\367\323\323\323\361\321\321\321"
+  "\337\317\317\317\241\313\313\313S\377\377\377\2\306\306\306\11\315\315"
+  "\315\\\320\320\320\251\321\321\321\341\323\323\323\356\324\324\324\364"
+  "\322\322\322\366\317\317\317\351\313\313\313\330\311\311\311\257\306"
+  "\306\306y\306\306\306G\304\304\304\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\314\314\314\13\314\314\314"
-  "`\320\320\320\277\314\314\314\373\320\320\320\364\342\342\342\365\360"
-  "\360\360\376\371\371\371\377\374\374\374\377\371\371\371\377\366\366"
-  "\366\377\364\364\363\377\361\362\361\377\347\350\346\377\325\325\323"
-  "\367\314\312\312\336\233RR\372\315\314\314\372\337\340\337\377\353\354"
-  "\353\377\370\370\370\377\367\367\367\377\366\366\366\377\366\366\366"
-  "\377\363\363\363\377\353\353\353\377\336\336\336\370\321\321\321\363"
-  "\303\303\303\374\304\304\304\312\300\300\300{\277\277\277\26\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\314\314\314\17\314\314\314]\317\317\317"
-  "\301\315\315\315\371\333\333\333\364\362\362\362\377\376\376\376\377"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\317\317\317\20\315"
+  "\315\315`\317\317\317\300\315\315\315\366\326\326\326\362\350\350\350"
+  "\371\363\363\363\377\372\372\372\377\374\374\374\377\373\373\372\377"
+  "\367\370\367\377\364\365\363\377\361\362\360\377\351\352\350\377\333"
+  "\333\332\370\312\307\307\360y\0\0\377\330\331\327\370\352\353\352\377"
+  "\366\366\366\377\370\370\370\377\367\367\367\377\367\367\367\377\366"
+  "\366\366\377\364\364\364\377\355\355\355\377\341\341\341\374\320\320"
+  "\320\361\300\300\300\370\300\300\300\330\276\276\276\205\274\274\274"
+  ".\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\310\310\310\16\313\313\313]\317"
+  "\317\317\300\316\316\316\370\333\333\333\364\362\362\362\377\375\375"
+  "\375\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\375\375\375\377\366\366\365\377\357\360\355\377\346\347\344\377"
+  "\335\337\333\377\334\335\331\377\345\346\344\377\344\345\343\377y\0\0"
+  "\377\326\315\314\377\337\340\336\377\352\353\352\377\360\360\360\377"
+  "\356\356\356\377\355\355\355\377\354\354\354\377\353\353\353\377\355"
+  "\355\355\377\360\360\360\377\364\364\364\377\363\363\363\377\345\345"
+  "\345\377\320\320\320\371\274\274\274\363\271\271\271\343\266\266\266"
+  "t\270\270\270\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\314\314\314\5\314\314\314\377\326\326\326\365\352"
+  "\352\352\377\375\375\375\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\367\370\367\377\356\360\356\377\347\350\346\377\337\341"
-  "\336\377\342\344\341\377\352\353\351\377\343\344\342\377|\10\7\377\307"
-  "\266\265\377\305\305\304\377\311\311\310\377\361\361\360\377\360\360"
-  "\360\377\357\357\357\377\356\356\356\377\357\357\357\377\360\360\360"
-  "\377\362\362\362\377\365\365\365\377\364\364\364\377\346\346\346\377"
-  "\320\320\320\370\275\275\275\371\275\275\275\317\271\271\271e\270\270"
-  "\270\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\314\314\314\4\314\314\314\367\332\332\332\370\355\355\355"
-  "\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\375\375\375\377\366\366\365\377\356\357\354\377\346\347\344\377"
+  "\335\337\333\377\324\326\321\377\311\314\306\377\313\315\307\377z\1\1"
+  "\377\256\223\220\377\331\332\327\377\352\353\352\377\357\357\357\377"
+  "\356\356\356\377\355\355\355\377\353\353\353\377\352\352\352\377\351"
+  "\351\351\377\350\350\350\377\346\346\346\377\351\351\351\377\357\357"
+  "\357\377\365\365\365\377\356\356\356\377\330\330\330\377\303\303\303"
+  "\365\261\261\261\377\231\231\231\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0""333\5Q<N\377\311\310\311\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\370\370\367\377\357\360\356\377\350\350\346\377\337\340"
-  "\335\377\327\331\325\377\320\322\315\377\321\323\316\377\200\27\27\377"
-  "\225sq\377\264\265\262\377\310\311\307\377\360\360\357\377\360\360\360"
-  "\377\357\357\357\377\356\356\356\377\355\355\355\377\353\353\353\377"
-  "\352\352\352\377\351\351\351\377\353\353\353\377\360\360\360\377\365"
-  "\365\365\377\353\353\353\377\326\326\326\377\304\304\304\371\264\264"
-  "\264\367\263\263\263\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0>&;\3R=P\356\312\310\311\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\375\375\374\377\366\366\365\377\356\357\354\377\346\347\344"
+  "\377\335\337\333\377\324\326\321\377\311\314\306\377\277\302\273\377"
+  "}\4\4\377\230SR\377\331\333\330\377\353\353\352\377\357\357\357\377\356"
+  "\356\356\377\355\355\355\377\353\353\353\377\352\352\352\377\351\351"
+  "\351\377\347\347\347\377\346\346\346\377\345\345\345\377\343\343\343"
+  "\377\346\346\346\377\363\363\363\377\343\343\343\377\343\343\343\377"
+  "\254\253\254\377M8J\377333\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0;';'iZh\365\320\316\320\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\367\367\366\377\356\357\355\377\346\347\344\377\336\337\334"
-  "\377\327\330\324\377\320\322\315\377\310\313\305\377\204&%\377\221^["
-  "\377\265\266\263\377\310\311\307\377\356\356\356\377\360\360\360\377"
-  "\356\356\356\377\355\355\355\377\354\354\354\377\353\353\353\377\351"
-  "\351\351\377\350\350\350\377\347\347\347\377\346\346\346\377\347\347"
-  "\347\377\363\363\363\377\343\343\343\377\343\343\343\377\260\257\260"
-  "\377N9L\356>&;\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>&;'"
-  "iXg\365\320\316\320\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\375\375\374"
+  "\377\364\365\364\377\355\357\354\377\345\347\344\377\334\336\332\377"
+  "\324\326\321\377\311\314\306\377\277\302\273\377\201\14\14\377\200\7"
+  "\7\377\332\333\330\377\352\352\351\377\357\357\357\377\356\356\356\377"
+  "\354\354\354\377\353\353\353\377\352\352\352\377\350\350\350\377\347"
+  "\347\347\377\346\346\346\377\344\344\344\377\343\343\343\377\343\343"
+  "\343\377\364\364\364\377\344\344\344\377\343\343\343\377\261\257\261"
+  "\377`O_\365;';'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<%<L\201"
+  "r\200\366\330\327\330\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\366\366"
-  "\366\377\355\356\355\377\346\347\345\377\335\336\334\377\326\327\324"
-  "\377\320\322\315\377\310\313\305\377\20676\377\213++\377\265\266\263"
-  "\377\311\311\307\377\355\355\355\377\357\357\357\377\356\356\356\377"
-  "\355\355\355\377\354\354\354\377\352\352\352\377\351\351\351\377\350"
-  "\350\350\377\347\347\347\377\345\345\345\377\344\344\344\377\364\364"
-  "\364\377\344\344\344\377\343\343\343\377\263\262\263\377`O^\365>&;'\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>&;M\177q\177\366\330\327"
-  "\331\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\374\374\373\377\364"
+  "\365\364\377\355\357\354\377\344\346\343\377\334\336\332\377\324\326"
+  "\321\377\311\314\306\377\277\302\273\377\221ea\377\202\11\11\377\321"
+  "\307\305\377\352\352\351\377\357\357\357\377\355\355\355\377\354\354"
+  "\354\377\353\353\353\377\352\352\352\377\350\350\350\377\347\347\347"
+  "\377\346\346\346\377\344\344\344\377\343\343\343\377\343\343\343\377"
+  "\360\360\360\377\350\350\350\377\343\343\343\377\266\265\267\377qbp\366"
+  "<%<L\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77&:r\224\212\224"
+  "\374\345\345\345\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\366\367\366\377\355"
-  "\357\355\377\346\347\345\377\335\337\334\377\326\330\324\377\320\322"
-  "\315\377\310\313\305\377\205^[\377\201\10\10\377\252\222\217\377\310"
-  "\311\307\377\353\353\353\377\357\357\357\377\356\356\356\377\355\355"
-  "\355\377\353\353\353\377\352\352\352\377\351\351\351\377\350\350\350"
-  "\377\346\346\346\377\345\345\345\377\343\343\343\377\360\360\360\377"
-  "\350\350\350\377\343\343\343\377\271\270\271\377qcp\366>&;M\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>&;s\223\211\223\374\345\345\345"
+  "\377\377\377\377\377\377\377\377\377\377\377\373\374\373\377\364\365"
+  "\363\377\354\355\353\377\344\346\343\377\334\335\331\377\323\325\320"
+  "\377\310\313\305\377\277\301\273\377\232\225\221\377\205\14\14\377\245"
+  "TS\377\352\353\352\377\356\356\356\377\355\355\355\377\354\354\354\377"
+  "\352\352\352\377\351\351\351\377\350\350\350\377\347\347\347\377\345"
+  "\345\345\377\344\344\344\377\343\343\343\377\343\343\343\377\355\355"
+  "\355\377\354\354\354\377\343\343\343\377\302\302\302\377|q{\374\77&:"
+  "r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77'<\242\252\244\253"
+  "\377\354\354\354\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\373\374\373\377\364\365"
+  "\363\377\354\355\353\377\344\346\343\377\334\335\331\377\322\324\317"
+  "\377\310\313\305\377\277\301\273\377\234\235\231\377\240SR\377\210\17"
+  "\17\377\314\247\247\377\356\356\356\377\355\355\355\377\354\354\354\377"
+  "\352\352\352\377\351\351\351\377\350\350\350\377\346\346\346\377\345"
+  "\345\345\377\344\344\344\377\343\343\343\377\343\343\343\377\351\351"
+  "\351\377\360\360\360\377\343\343\343\377\312\312\312\377\213\204\213"
+  "\377\77'<\242\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@'<\317"
+  "\275\271\275\377\362\362\362\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\366\366\365\377\355\356"
-  "\354\377\346\346\344\377\335\336\333\377\325\327\323\377\317\321\314"
-  "\377\310\312\304\377\210\206\201\377\207\23\23\377\227BA\377\311\312"
-  "\310\377\352\352\352\377\357\357\357\377\356\356\356\377\355\355\355"
-  "\377\353\353\353\377\352\352\352\377\351\351\351\377\350\350\350\377"
-  "\346\346\346\377\345\345\345\377\343\343\343\377\355\355\355\377\354"
-  "\354\354\377\343\343\343\377\304\303\304\377~t~\374>&;s\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77'=\242\253\244\254\377\354\354\354"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\373\374\373"
+  "\377\364\365\363\377\354\355\353\377\344\346\343\377\334\335\331\377"
+  "\322\324\317\377\310\313\305\377\277\301\273\377\234\235\231\377\273"
+  "\262\256\377\213\21\21\377\215\26\26\377\342\323\323\377\355\355\355"
+  "\377\353\353\353\377\352\352\352\377\351\351\351\377\347\347\347\377"
+  "\346\346\346\377\345\345\345\377\344\344\344\377\343\343\343\377\343"
+  "\343\343\377\345\345\345\377\364\364\364\377\343\343\343\377\322\322"
+  "\322\377\226\222\226\377@'<\317\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0>'<\356\304\302\304\377\371\371\371\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\366\366\365\377\355\356"
-  "\354\377\346\347\344\377\335\336\333\377\326\327\323\377\320\322\315"
-  "\377\310\313\305\377\210\212\205\377\224GE\377\207\15\15\377\262\207"
-  "\206\377\351\351\351\377\357\357\357\377\356\356\356\377\355\355\355"
-  "\377\353\353\353\377\352\352\352\377\351\351\351\377\350\350\350\377"
-  "\346\346\346\377\345\345\345\377\343\343\343\377\351\351\351\377\360"
-  "\360\360\377\343\343\343\377\313\313\313\377\216\207\217\377\77'=\242"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77'=\316\275\271\275"
-  "\377\363\363\363\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\372\373\372\377\364\365\363\377\354\355\353\377\344\345\342\377"
+  "\333\335\331\377\321\324\317\377\310\313\305\377\276\301\273\377\234"
+  "\237\231\377\300\302\276\377\275\216\214\377\216\24\24\377\24077\377"
+  "\344\333\333\377\353\353\353\377\352\352\352\377\351\351\351\377\347"
+  "\347\347\377\346\346\346\377\345\345\345\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\343\343\343\377\363\363\363\377\345\345\345"
+  "\377\333\333\333\377\232\231\233\377>'<\356\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0 at +@\14E.B\372\303\303\303\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\366\367"
-  "\366\377\355\357\355\377\345\346\344\377\335\337\334\377\326\330\324"
-  "\377\316\320\313\377\307\312\304\377\210\212\205\377\237\222\216\377"
-  "\215\27\27\377\216\31\31\377\333\310\307\377\356\356\356\377\355\355"
-  "\355\377\354\354\354\377\353\353\353\377\351\351\351\377\350\350\350"
-  "\377\347\347\347\377\346\346\346\377\344\344\344\377\343\343\343\377"
-  "\345\345\345\377\364\364\364\377\343\343\343\377\323\323\323\377\227"
-  "\223\227\377\77'=\316\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\77'<\357\306\304\306\377\371\371\371\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376"
+  "\376\376\377\372\373\372\377\364\365\363\377\354\355\353\377\344\345"
+  "\342\377\333\335\331\377\321\324\317\377\310\313\305\377\276\301\273"
+  "\377\235\237\232\377\300\302\276\377\332\332\330\377\251NN\377\227!!"
+  "\377\247BB\377\347\341\341\377\352\352\352\377\350\350\350\377\347\347"
+  "\347\377\346\346\346\377\344\344\344\377\343\343\343\377\343\343\343"
+  "\377\343\343\343\377\343\343\343\377\360\360\360\377\351\351\351\377"
+  "\342\342\342\377\234\233\234\377D-A\372 at +@\14\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0@%:0\\HZ\363\300\277\300\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376"
+  "\376\377\372\373\372\377\364\365\363\377\354\355\353\377\344\345\342"
+  "\377\333\335\331\377\321\324\317\377\310\313\305\377\276\301\273\377"
+  "\234\236\231\377\300\302\276\377\333\334\331\377\345\335\334\377\242"
+  "66\377\24522\377\254NN\377\350\345\345\377\350\350\350\377\347\347\347"
+  "\377\345\345\345\377\344\344\344\377\343\343\343\377\343\343\343\377"
+  "\343\343\343\377\343\343\343\377\354\354\354\377\355\355\355\377\343"
+  "\343\343\377\237\236\237\377VBT\363@%:0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0>&;Wn^n\366\304\302\304\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\365\366\365\377\354\356\354\377\344\345\343\377\334\336"
-  "\333\377\325\327\323\377\316\320\313\377\307\312\304\377\210\212\205"
-  "\377\242\243\240\377\244lk\377\214\23\23\377\23300\377\346\334\334\377"
-  "\355\355\355\377\354\354\354\377\353\353\353\377\351\351\351\377\350"
-  "\350\350\377\347\347\347\377\346\346\346\377\344\344\344\377\343\343"
-  "\343\377\343\343\343\377\363\363\363\377\345\345\345\377\333\333\333"
-  "\377\233\231\233\377\77'<\357\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  ">&;\14E.B\372\305\305\306\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376\377"
+  "\372\372\372\377\363\364\362\377\354\355\352\377\343\345\342\377\333"
+  "\335\330\377\321\324\316\377\310\312\305\377\276\301\272\377\235\237"
+  "\232\377\301\303\277\377\333\334\331\377\351\352\351\377\340\316\316"
+  "\377\240--\377\255<<\377\265``\377\347\345\345\377\346\346\346\377\345"
+  "\345\345\377\344\344\344\377\343\343\343\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\350\350\350\377\361\361\361\377\343\343\343"
+  "\377\246\244\246\377dTd\366>&;W\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77';"
+  "}\177q\177\375\317\316\317\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376\377"
+  "\371\371\371\377\363\364\362\377\354\355\352\377\342\344\341\377\333"
+  "\335\330\377\321\324\316\377\310\312\305\377\276\301\272\377\235\237"
+  "\233\377\301\303\277\377\332\333\331\377\351\352\351\377\355\355\355"
+  "\377\326\266\266\377\24411\377\260@@\377\275uu\377\346\346\346\377\345"
+  "\345\345\377\344\344\344\377\343\343\343\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\344\344\344\377\364\364\364\377\343\343\343"
+  "\377\263\262\263\377ses\375\77';}\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77"
+  "(<\256\217\205\220\377\334\334\334\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\376\376\376\377\365\365\364\377\355\356\354\377\345\345\343\377\335"
-  "\336\333\377\325\327\323\377\316\320\313\377\310\312\304\377\210\212"
-  "\205\377\242\244\240\377\264\265\262\377\236==\377\221\27\27\377\244"
-  "==\377\350\340\340\377\353\353\353\377\352\352\352\377\351\351\351\377"
-  "\350\350\350\377\346\346\346\377\345\345\345\377\343\343\343\377\343"
-  "\343\343\377\343\343\343\377\360\360\360\377\351\351\351\377\342\342"
-  "\342\377\233\233\233\377D,A\372>&;\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  ">&;1\\GY\363\303\302\303\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\376\376\376\377\364\364\363\377\354\355\353\377\344\345\342\377\334"
-  "\335\332\377\325\326\322\377\316\320\313\377\307\312\304\377\210\212"
-  "\205\377\243\245\241\377\265\267\264\377\301\267\265\377\23711\377\236"
-  "((\377\247EE\377\351\346\346\377\352\352\352\377\351\351\351\377\350"
-  "\350\350\377\346\346\346\377\345\345\345\377\343\343\343\377\343\343"
-  "\343\377\343\343\343\377\354\354\354\377\355\355\355\377\343\343\343"
-  "\377\237\236\237\377UAS\363>&;1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>&;Vo"
-  "_n\366\307\305\307\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376"
-  "\376\377\365\366\365\377\356\356\355\377\345\346\344\377\336\337\334"
-  "\377\327\330\324\377\317\321\314\377\311\312\305\377\210\212\205\377"
-  "\234\236\232\377\260\261\256\377\303\304\302\377\340\313\313\377\234"
-  "&&\377\24511\377\262ZZ\377\351\347\347\377\351\351\351\377\350\350\350"
-  "\377\346\346\346\377\345\345\345\377\343\343\343\377\343\343\343\377"
-  "\343\343\343\377\350\350\350\377\360\360\360\377\343\343\343\377\247"
-  "\245\247\377dTc\366>&;V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>&;~~q\177\375"
-  "\320\317\320\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\376\377\371\371\371\377\363\364\362\377\354\355\352\377\342\344\341"
+  "\377\333\335\330\377\321\324\316\377\310\312\305\377\276\301\272\377"
+  "\235\237\233\377\301\302\277\377\332\334\331\377\352\352\351\377\355"
+  "\355\355\377\353\353\353\377\311\222\222\377\271KK\377\260@@\377\316"
+  "\244\244\377\345\345\345\377\343\343\343\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\343\343\343\377\343\343\343\377\363\363\363"
+  "\377\346\346\346\377\301\301\301\377\177u\200\377\77(<\256\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\77)=\326\237\231\240\377\344\344\344\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376"
-  "\377\365\366\365\377\355\356\354\377\345\346\344\377\336\337\334\377"
-  "\327\331\325\377\317\322\315\377\311\313\306\377\210\212\205\377\235"
-  "\236\232\377\260\261\256\377\303\303\301\377\357\357\357\377\324\260"
-  "\260\377\236**\377\25399\377\273pp\377\351\351\351\377\350\350\350\377"
-  "\346\346\346\377\345\345\345\377\343\343\343\377\343\343\343\377\343"
-  "\343\343\377\344\344\344\377\364\364\364\377\343\343\343\377\263\262"
-  "\263\377qcq\375>&;~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77'=\256\220\205"
-  "\221\377\334\334\334\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376"
-  "\376\376\377\364\365\364\377\355\355\354\377\345\346\344\377\335\337"
-  "\334\377\325\327\323\377\317\321\314\377\310\312\305\377\211\213\206"
-  "\377\235\236\232\377\261\262\257\377\304\304\302\377\356\356\356\377"
-  "\355\355\355\377\305\211\211\377\263CC\377\25055\377\320\250\250\377"
-  "\347\347\347\377\346\346\346\377\344\344\344\377\343\343\343\377\343"
-  "\343\343\377\343\343\343\377\343\343\343\377\363\363\363\377\346\346"
-  "\346\377\300\300\300\377\200u\201\377\77'=\256\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\77'=\327\241\233\242\377\345\345\345\377\377\377\377\377\377"
+  "\377\377\377\377\375\375\375\377\371\371\371\377\363\363\362\377\352"
+  "\353\351\377\342\344\340\377\332\335\330\377\321\323\316\377\310\312"
+  "\304\377\276\301\272\377\236\240\233\377\301\303\277\377\333\334\331"
+  "\377\352\352\351\377\354\354\354\377\353\353\353\377\352\351\351\377"
+  "\262QQ\377\316aa\377\253<<\377\337\325\325\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343"
+  "\377\357\357\357\377\352\352\352\377\312\312\312\377\216\210\217\377"
+  "\77)=\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77(<\365\250\245\251\377\355"
+  "\355\355\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\376\376\376\377\375\375\375\377\371\371\371\377"
+  "\362\362\361\377\352\353\351\377\342\344\340\377\332\335\330\377\321"
+  "\323\316\377\310\312\304\377\276\301\272\377\237\241\234\377\302\303"
+  "\277\377\333\334\331\377\351\351\351\377\354\354\354\377\353\353\353"
+  "\377\351\351\351\377\335\312\312\377\255<<\377\310XX\377\300tt\377\343"
+  "\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343"
+  "\343\377\343\343\343\377\353\353\353\377\355\355\355\377\323\323\323"
+  "\377\227\224\230\377\77(<\365\0\0\0\0\0\0\0\0\0\0\0\0=$=\25D+A\370\252"
+  "\250\252\377\367\367\367\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\376\376\376\377\375\375\375\377\364\365\364\377\354\354\353\377"
-  "\344\345\343\377\335\336\333\377\326\327\323\377\317\321\314\377\310"
-  "\311\304\377\211\213\206\377\234\236\232\377\261\262\257\377\304\305"
-  "\303\377\356\356\356\377\355\355\355\377\353\351\351\377\255FF\377\304"
-  "TT\377\24655\377\340\324\324\377\345\345\345\377\344\344\344\377\343"
-  "\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\357\357"
-  "\357\377\352\352\352\377\312\312\312\377\217\210\217\377\77'=\327\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\77&<\365\253\247\253\377\356\356\356\377"
+  "\377\377\377\377\377\377\377\377\377\376\376\376\377\375\375\375\377"
+  "\370\370\367\377\361\362\361\377\352\353\351\377\342\344\340\377\331"
+  "\334\327\377\321\323\316\377\310\312\304\377\276\301\272\377\237\241"
+  "\235\377\302\303\277\377\332\333\331\377\351\352\351\377\354\354\354"
+  "\377\352\352\352\377\351\351\351\377\350\350\350\377\270\\\\\377\313"
+  "UU\377\255;;\377\335\323\323\377\343\343\343\377\343\343\343\377\343"
+  "\343\343\377\343\343\343\377\343\343\343\377\347\347\347\377\361\361"
+  "\361\377\335\335\335\377\233\231\233\377D+A\370=$=\25\0\0\0\0\0\0\0\0"
+  "='=;N9N\361\250\247\250\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376\377\375"
+  "\375\375\377\370\370\367\377\361\362\361\377\352\353\351\377\342\344"
+  "\340\377\331\334\327\377\321\323\316\377\307\312\304\377\275\300\272"
+  "\377\237\241\235\377\302\304\300\377\333\334\331\377\351\352\351\377"
+  "\354\354\354\377\352\352\352\377\351\351\351\377\350\350\350\377\316"
+  "\236\236\377\274FF\377\274EE\377\313\227\227\377\343\343\343\377\343"
+  "\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\344\344"
+  "\344\377\364\364\364\377\343\343\343\377\233\233\233\377M8M\361='=;\0"
+  "\0\0\0\0\0\0\0=%:`_M_\366\252\251\252\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\376\376\376\377\375\375\375\377\364\365\364"
-  "\377\354\354\353\377\344\345\343\377\335\336\333\377\325\326\322\377"
-  "\316\320\313\377\307\310\303\377\211\213\206\377\235\236\232\377\260"
-  "\261\256\377\304\304\302\377\356\356\356\377\355\355\355\377\353\353"
-  "\353\377\334\305\305\377\25255\377\305TT\377\276rr\377\345\345\345\377"
-  "\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343"
-  "\343\343\377\353\353\353\377\355\355\355\377\323\323\323\377\227\224"
-  "\230\377\77&<\365\0\0\0\0\0\0\0\0\0\0\0\0>&;\24C+@\370\254\253\255\377"
-  "\370\370\370\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\376\376\376\377\374\374\374"
-  "\377\363\364\363\377\353\354\352\377\343\344\342\377\334\335\332\377"
-  "\325\327\323\377\316\321\314\377\307\311\304\377\212\214\207\377\235"
-  "\237\233\377\261\262\257\377\304\305\303\377\356\356\356\377\355\355"
-  "\355\377\353\353\353\377\352\352\352\377\261HH\377\316ZZ\377\25144\377"
-  "\342\334\334\377\343\343\343\377\343\343\343\377\343\343\343\377\343"
-  "\343\343\377\343\343\343\377\347\347\347\377\361\361\361\377\335\335"
-  "\335\377\233\232\233\377C+@\370>&;\24\0\0\0\0\0\0\0\0>&;:N8L\362\253"
-  "\252\253\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376\377"
-  "\375\375\375\377\364\365\364\377\354\354\353\377\344\345\343\377\334"
-  "\336\333\377\325\327\323\377\317\321\314\377\307\311\304\377\213\214"
-  "\210\377\236\237\234\377\262\263\260\377\305\306\303\377\356\356\356"
-  "\377\355\355\355\377\353\353\353\377\352\352\352\377\313\221\221\377"
-  "\275HH\377\270EE\377\316\236\236\377\343\343\343\377\343\343\343\377"
-  "\343\343\343\377\343\343\343\377\343\343\343\377\344\344\344\377\364"
-  "\364\364\377\343\343\343\377\234\233\234\377M7K\362>&;:\0\0\0\0\0\0\0"
-  "\0>&;``M_\366\255\253\255\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\376\376\376\377\373\373\373\377\362\363\362\377\353\353\352\377\343"
-  "\344\342\377\334\335\332\377\325\326\322\377\316\320\313\377\310\311"
-  "\304\377\212\214\207\377\236\237\233\377\261\262\257\377\304\304\302"
-  "\377\355\355\355\377\354\354\354\377\353\353\353\377\351\351\351\377"
-  "\332\301\301\377\263AA\377\304GG\377\273aa\377\343\343\343\377\343\343"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376"
+  "\376\376\377\374\374\374\377\370\370\367\377\361\362\361\377\351\352"
+  "\350\377\342\344\340\377\331\334\327\377\321\323\316\377\307\312\304"
+  "\377\275\300\272\377\240\242\235\377\303\304\301\377\333\334\331\377"
+  "\351\352\351\377\353\353\353\377\352\352\352\377\351\351\351\377\347"
+  "\347\347\377\334\306\306\377\262\77\77\377\302BB\377\273__\377\343\343"
   "\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343"
-  "\377\362\362\362\377\347\347\347\377\240\236\240\377]K]\366>&;`\0\0\0"
-  "\0\0\0\0\0>&<\211n^n\376\264\263\265\377\377\377\377\377\377\377\377"
+  "\377\343\343\343\377\362\362\362\377\347\347\347\377\240\237\240\377"
+  "]K]\366=%:`\0\0\0\0\0\0\0\0\77%<\211m\\m\376\261\260\262\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\376\376\376\377\373\373\373\377\362\363\362\377\353\354"
-  "\352\377\343\344\342\377\334\335\332\377\325\327\322\377\316\321\313"
-  "\377\310\312\304\377\213\215\210\377\236\240\234\377\262\263\260\377"
-  "\304\305\303\377\355\355\355\377\354\354\354\377\353\353\353\377\351"
-  "\351\351\377\337\316\316\377\262==\377\303@@\377\267PP\377\343\343\343"
-  "\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377"
-  "\343\343\343\377\356\356\356\377\352\352\352\377\250\247\250\377k[k\376"
-  ">&<\211\0\0\0\0\0\0\0\0\77'=\271zmz\377\302\302\302\377\377\377\377\377"
+  "\377\377\377\377\375\375\375\377\374\374\374\377\370\370\367\377\360"
+  "\361\357\377\351\352\347\377\342\344\340\377\331\333\327\377\320\323"
+  "\316\377\307\312\304\377\275\300\271\377\241\243\236\377\303\304\301"
+  "\377\333\334\332\377\351\351\350\377\353\353\353\377\352\352\352\377"
+  "\351\351\351\377\347\347\347\377\343\336\336\377\25788\377\30299\377"
+  "\264CC\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343"
+  "\377\343\343\343\377\343\343\343\377\356\356\356\377\352\352\352\377"
+  "\250\246\250\377kZk\376\77%<\211\0\0\0\0\0\0\0\0A'>\271xly\377\301\300"
+  "\301\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\376\376\376\377\376\376\376\377\375\375\375\377\372"
+  "\372\372\377\367\367\366\377\362\362\361\377\353\355\352\377\343\344"
+  "\341\377\323\326\321\377\307\312\304\377\275\300\271\377\241\243\236"
+  "\377\303\305\301\377\334\335\334\377\357\357\357\377\362\362\362\377"
+  "\362\362\362\377\362\362\362\377\361\361\361\377\360\360\360\377\260"
+  "66\377\272++\377\26199\377\344\344\344\377\343\343\343\377\343\343\343"
+  "\377\343\343\343\377\343\343\343\377\343\343\343\377\352\352\352\377"
+  "\356\356\356\377\265\264\265\377wkx\377A'>\271\0\0\0\0\0\0\0\0@'<\340"
+  "\206|\207\377\322\322\322\377\377\377\377\377\377\377\377\377\377\377"
   "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\376\376\376\377\376\376\376\377\375\375\375\377\370\370\370"
-  "\377\362\363\362\377\353\354\353\377\344\345\343\377\326\330\324\377"
-  "\315\320\313\377\307\311\304\377\213\215\210\377\237\240\234\377\264"
-  "\265\262\377\323\323\321\377\363\363\363\377\363\363\363\377\363\363"
-  "\363\377\362\362\362\377\354\344\344\377\262;;\377\27755\377\265DD\377"
-  "\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343"
-  "\343\343\377\343\343\343\377\352\352\352\377\356\356\356\377\265\264"
-  "\265\377xkx\377\77'=\271\0\0\0\0\0\0\0\0\77'=\340\207~\210\377\322\322"
-  "\322\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\371\371\371\377\356\356\356\377\341\341\341\377\331\331\331\377\321"
-  "\321\321\377\313\313\313\377\327\327\327\377\340\340\340\377\350\350"
-  "\350\377\357\360\357\377\343\344\342\377\312\314\307\377\223\225\220"
-  "\377\312\312\310\377\344\344\343\377\340\340\340\377\335\335\335\377"
-  "\322\322\322\377\306\306\306\377\313\313\313\377\320\312\312\377\260"
-  "77\377\271''\377\262::\377\365\365\365\377\361\361\361\377\355\355\355"
-  "\377\350\350\350\377\343\343\343\377\343\343\343\377\347\347\347\377"
-  "\362\362\362\377\303\303\303\377\205|\206\377\77'=\340\0\0\0\0>&;\2\77"
-  "'<\371\223\215\224\377\340\340\340\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\372\372\372\377\354\354\354\377\325\325\325\377\272"
-  "\272\272\377\237\237\237\377\236\236\236\377\241\241\237\377\240\242"
-  "\237\377\240\242\236\377\242\245\240\377\242\244\237\377\237\241\235"
-  "\377\241\242\240\377\236\236\236\377\234\234\234\377\313\314\312\377"
-  "\352\352\351\377\322\322\321\377\272\272\271\377\233\233\233\377\236"
-  "\236\235\377\241\242\237\377\240\242\237\377\244\246\242\377\245\247"
-  "\242\377\246\207\204\377\26077\377\261\31\31\377\25788\377\237\237\237"
-  "\377\266\266\265\377\315\314\315\377\343\343\343\377\361\361\361\377"
-  "\357\357\357\377\351\351\351\377\365\365\365\377\315\315\315\377\222"
-  "\214\222\377\77'<\371>&;\2>&;\36D,B\365\232\227\232\377\356\356\356\377"
-  "\371\371\371\377\344\344\344\377\276\276\276\377\242\242\242\377\240"
-  "\241\240\377\235\237\232\377\244\247\241\377\257\263\252\377\256\261"
-  "\251\377\251\254\244\377\245\250\237\377\243\250\236\377\242\247\234"
-  "\377\245\250\237\377\247\252\241\377\251\255\244\377\257\263\253\377"
-  "\254\257\250\377\233\234\232\377\243\243\243\377\247\247\246\377\233"
-  "\234\233\377\256\260\252\377\262\265\256\377\260\263\253\377\260\264"
-  "\253\377\260\264\253\377\260\264\255\377\261rn\377\255$$\377\252\21\21"
-  "\377\260DC\377\265\271\262\377\253\255\247\377\241\243\240\377\237\240"
-  "\237\377\241\242\241\377\273\273\273\377\335\335\335\377\360\360\360"
-  "\377\334\334\334\377\230\225\231\377D,B\365>&;\36>&;DK4I\361\234\234"
-  "\234\377\251\251\251\377\237\237\236\377\233\233\230\377\240\243\235"
-  "\377\257\262\252\377\255\261\250\377\245\252\240\377\237\244\232\377"
-  "\231\236\223\377\232\236\223\377\233\237\225\377\234\240\226\377\235"
-  "\242\227\377\236\243\230\377\240\244\232\377\241\245\233\377\242\246"
-  "\234\377\244\250\240\377\256\262\252\377\264\267\257\377\250\254\244"
-  "\377\243\246\241\377\264\270\260\377\261\265\254\377\255\260\250\377"
-  "\255\260\250\377\256\262\251\377\257\263\252\377\260\264\254\377\260"
-  "IH\377\252\34\34\377\253\36\36\377\261SR\377\266\272\262\377\271\274"
-  "\264\377\272\275\266\377\272\275\266\377\272\275\266\377\252\254\250"
-  "\377\236\236\234\377\236\236\236\377\247\247\247\377\233\233\233\377"
-  "K4I\361>&;D>&;iZGY\367\221\222\220\377\232\235\225\377\260\263\253\377"
-  "\262\265\256\377\255\260\247\377\243\247\235\377\242\246\234\377\244"
-  "\250\237\377\246\252\241\377\251\254\243\377\252\255\245\377\252\256"
-  "\245\377\253\257\246\377\253\260\246\377\251\255\244\377\246\252\241"
-  "\377\244\250\236\377\253\257\247\377\262\265\255\377\244\247\241\377"
-  "\227\231\224\377\214\215\212\377\214\214\211\377\227\231\224\377\245"
-  "\247\241\377\264\267\260\377\262\265\255\377\257\263\252\377\261\265"
-  "\255\377\264\262\252\377\26099\377\261[Y\377\26077\377\263jg\377\271"
-  "\274\264\377\271\274\265\377\273\276\267\377\272\275\266\377\272\275"
-  "\266\377\272\275\266\377\272\275\266\377\272\275\266\377\254\256\251"
-  "\377\222\223\221\377ZGY\367>&;i\77'<\225gXg\377\207\210\204\377\244\250"
-  "\237\377\253\256\245\377\251\254\245\377\250\252\243\377\245\250\240"
-  "\377\242\245\235\377\237\243\234\377\235\240\231\377\231\233\224\377"
-  "\227\231\224\377\226\230\223\377\226\227\222\377\224\226\221\377\237"
-  "\242\233\377\247\253\243\377\260\264\253\377\244\247\241\377\212\213"
-  "\207\377vnv\377hYi\377^Ja\377^Ja\377hYi\377wov\377\211\212\206\377\245"
-  "\251\242\377\263\267\257\377\252\254\246\377\242\236\231\377\226\226"
-  "\222\377\227\230\224\377\236\201}\377\243sp\377\233\235\231\377\241\243"
-  "\235\377\244\247\241\377\247\252\244\377\251\254\246\377\254\257\251"
-  "\377\257\262\254\377\262\265\257\377\265\270\261\377\220\221\215\377"
-  "gXg\377\77'<\226\77'=\304sjs\377\210\211\205\377\205\206\203\377\203"
-  "\203\201\377\201\177\177\377~z|\377zuy\377vov\377rhq\377mam\377j\\k\377"
-  "i[j\377hYi\377gXh\377fVg\377nbn\377}x{\377\207\210\204\377\201\177\200"
-  "\377lZm\377ZA^\377R8V\377R8V\377R8V\377R8V\377ZA^\377lZm\377\202\177"
-  "\200\377\207\211\205\377~z}\377nco\377fWh\377gXh\377hYi\377iZj\377j\\"
-  "k\377l`m\377rgq\377wov\377|v{\377\200|~\377\203\201\201\377\205\205\203"
-  "\377\207\207\204\377\210\212\205\377sjs\377\77'=\305\77'<\347cLe\377"
-  "gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377"
-  "gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377hQk\377M6L\374G1E\365_G`\377"
-  "hQj\377eNi\377eNi\377hQj\377_G`\377H1F\371M6L\371hQk\377gPj\377gPj\377"
-  "gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377gPj\377"
-  "gPj\377gPj\377gPj\377gPj\377cLe\377\77'<\350\77'<\340\77'<\377@(=\377"
+  "\377\376\376\376\377\366\366\366\377\353\353\353\377\341\341\341\377"
+  "\332\332\332\377\322\322\322\377\321\321\321\377\333\333\332\377\341"
+  "\342\341\377\350\350\347\377\355\356\354\377\342\343\340\377\304\307"
+  "\300\377\254\255\251\377\340\341\337\377\360\361\360\377\350\350\350"
+  "\377\336\336\336\377\325\325\325\377\313\313\313\377\314\314\314\377"
+  "\320\313\313\377\26177\377\263\34\34\377\26066\377\364\364\364\377\362"
+  "\362\362\377\356\356\356\377\351\351\351\377\344\344\344\377\343\343"
+  "\343\377\347\347\347\377\362\362\362\377\303\303\303\377\206|\206\377"
+  "@'<\340\0\0\0\0\0\0\0\1@)>\372\223\215\224\377\340\340\340\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\372\372\372\377\353\353\353"
+  "\377\317\317\317\377\261\261\260\377\236\236\236\377\240\240\240\377"
+  "\241\242\240\377\240\242\237\377\240\242\236\377\242\244\240\377\242"
+  "\244\237\377\241\243\237\377\241\242\237\377\237\237\236\377\241\241"
+  "\241\377\315\315\313\377\351\352\350\377\337\337\335\377\306\307\306"
+  "\377\241\241\241\377\237\237\236\377\242\242\240\377\243\245\241\377"
+  "\245\247\243\377\245\247\243\377\247\206\204\377\25755\377\254\20\20"
+  "\377\26098\377\235\236\235\377\256\256\255\377\310\310\310\377\342\342"
+  "\342\377\360\360\360\377\360\360\360\377\352\352\352\377\365\365\365"
+  "\377\316\316\316\377\222\214\222\377@)>\372\0\0\0\1>#>\35D-C\365\231"
+  "\227\232\377\356\356\356\377\367\367\367\377\336\336\336\377\270\270"
+  "\270\377\241\241\241\377\235\235\233\377\237\240\233\377\250\254\244"
+  "\377\260\264\253\377\255\260\247\377\251\254\244\377\245\251\240\377"
+  "\244\251\237\377\244\250\237\377\245\251\240\377\247\253\242\377\252"
+  "\256\246\377\257\264\253\377\255\261\250\377\234\235\232\377\251\251"
+  "\250\377\243\243\242\377\234\235\233\377\257\261\253\377\263\267\256"
+  "\377\261\265\255\377\262\264\255\377\262\264\255\377\263\265\257\377"
+  "\261ro\377\252\37\37\377\246\12\12\377\261DC\377\270\273\264\377\262"
+  "\264\256\377\245\246\242\377\236\236\235\377\240\240\240\377\266\266"
+  "\266\377\330\330\330\377\357\357\357\377\333\333\333\377\230\225\230"
+  "\377D-C\365>#>\35@&<DK5I\361\233\233\233\377\246\246\246\377\242\243"
+  "\242\377\231\231\226\377\241\244\236\377\257\263\252\377\255\261\250"
+  "\377\245\251\237\377\237\243\230\377\232\236\224\377\232\237\224\377"
+  "\233\240\225\377\235\241\227\377\236\242\230\377\237\243\231\377\240"
+  "\245\233\377\242\246\234\377\243\247\235\377\245\251\241\377\256\261"
+  "\251\377\264\267\257\377\246\250\243\377\246\250\242\377\264\270\260"
+  "\377\262\264\255\377\256\261\251\377\256\261\251\377\257\263\253\377"
+  "\260\264\254\377\262\265\255\377\260EC\377\253\"\"\377\252\36\36\377"
+  "\260TR\377\270\273\264\377\271\274\265\377\272\275\266\377\272\275\266"
+  "\377\272\275\266\377\253\257\251\377\235\236\233\377\241\242\241\377"
+  "\245\245\245\377\233\233\233\377K5I\361@&<D\77&<jZGZ\367\222\223\221"
+  "\377\233\240\230\377\262\266\255\377\263\266\256\377\254\260\250\377"
+  "\245\251\237\377\242\247\234\377\245\251\240\377\247\253\241\377\251"
+  "\254\243\377\252\256\245\377\253\257\246\377\254\260\246\377\255\260"
+  "\250\377\253\257\246\377\251\255\244\377\247\253\242\377\255\262\251"
+  "\377\261\264\254\377\243\246\237\377\223\223\220\377\216\216\213\377"
+  "\215\215\213\377\223\223\220\377\243\246\240\377\262\266\257\377\264"
+  "\267\257\377\262\265\255\377\264\267\260\377\265\264\254\377\26066\377"
+  "\261DC\377\26066\377\262[Y\377\271\275\265\377\273\276\267\377\272\275"
+  "\266\377\272\275\266\377\272\275\266\377\272\275\266\377\272\275\266"
+  "\377\272\275\266\377\254\256\251\377\222\223\221\377ZGZ\367\77&<j>%;"
+  "\227gYg\377\207\210\204\377\246\252\241\377\262\266\255\377\252\255\245"
+  "\377\250\253\243\377\245\251\242\377\242\246\236\377\240\244\234\377"
+  "\236\241\232\377\232\234\226\377\227\231\224\377\227\231\223\377\225"
+  "\226\222\377\226\226\222\377\232\234\226\377\242\245\236\377\257\262"
+  "\253\377\237\243\235\377\210\211\206\377wov\377bQd\377YB\\\377YB\\\377"
+  "bQd\377wov\377\207\211\205\377\240\244\236\377\260\263\255\377\244\247"
+  "\240\377\235\232\224\377\231\222\217\377\227\230\224\377\236\202~\377"
+  "\243sp\377\233\235\230\377\241\243\236\377\244\247\241\377\250\252\245"
+  "\377\253\256\247\377\256\262\253\377\261\264\256\377\264\267\257\377"
+  "\267\271\263\377\220\221\216\377gYg\377>%;\227@'=\304sis\377\210\212"
+  "\205\377\206\207\203\377\204\204\202\377\203\202\200\377\201\177\177"
+  "\377~y{\377ysx\377tks\377nbo\377j]k\377gYi\377gYi\377gYi\377gYi\377i"
+  "\\k\377sjs\377\207\210\204\377\203\202\201\377hSk\377ZA^\377S9W\377R"
+  "8V\377R8V\377S9W\377ZA^\377hSk\377\203\202\202\377\210\211\205\377tk"
+  "t\377j\\k\377gYi\377gYi\377gYi\377gYi\377i\\k\377mam\377tjs\377ysx\377"
+  "\177y}\377\203\200\200\377\205\203\202\377\206\206\204\377\207\210\204"
+  "\377\210\212\205\377sis\377@'=\304\77(<\350fPi\377iSm\377hQk\377hQk\377"
+  "hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377"
+  "hQk\377hQk\377hQk\377iTm\377O9M\372G1E\373^G_\377hQk\377fOi\377fOi\377"
+  "hQk\377^G_\377G1E\373N8M\372iTm\377hQk\377hQk\377hQk\377hQk\377hQk\377"
+  "hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377hQk\377"
+  "iSm\377fPi\377\77(<\350>&;\377\77'<\377@(=\377@(=\377@(=\377@(=\377@"
+  "(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377"
+  "@(=\377@(=\377@(=\377B-\77\316F8D\226A,\77\334A)=\365D,A\370D,A\370A"
+  ")=\365A,\77\334F8D\226B,A\315@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377"
   "@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377"
-  "@(=\377@(=\377@(=\377@(=\377@(=\377\77(<\377A,>\326J at H\201A+>\337>&;"
-  "\376C+@\377D,A\373>&;\376A+\77\337JAH\204A,>\321\77(<\377@(=\377@(=\377"
-  "@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377@(=\377"
-  "@(=\377@(=\377@(=\377@(=\377\77'<\377\77'<\340\0\0\0\0\0\0\0\0\177\177"
-  "\0\0]]]\5UUU\13RRR\20SYS\24SXS\31VVR\36VVR\"VVS'VVS+TWT/UWR3VXS7TVR;"
-  "VXT\77UWSBUWSEVWTHTXSJVWRLUWRNNHLbNILcUWSNUWRNVWRLTXSJVWTHUWSEUWSBVX"
-  "T\77TVR;VXS7UWR3TWT/VVS+VVS'VVR\"VVR\36SXS\31SYS\24RRR\20UUU\11]]]\2"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\202\202\202\0]]]\3Y"
-  "YM\11R[R\16UUU\22UUU\27WWR\33UYU\36VVR\"UUR&UXR)TWT,TWQ/UXR2VVS4UWS6"
-  "UWS8UWS9VXS:UWS;TVR;UWS;VXS:UWS9UWS8UWS6VVS4UXR2TWQ/TWT,UXR)UUR&VVR\""
-  "UYU\36WWR\33UUU\27UUU\22R[R\15YYL\6]]]\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\177\177"
-  "\177\0MMM\2ZZZ\5UUU\11R[R\16SZS\23SYS\26SXS\31UZU\33VVR\36UYU\40TXT\""
-  "VVS$TWT%TWT&VVS'UXR'UXU'UXR'VVS'TWT&TWT%VVS$TXT\"UYU\40VVR\36UZU\33S"
-  "XS\31SYS\26SZS\21RZR\13UUU\7ZZZ\3LLL\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "@(=\377\77'<\377>&;\377\0\0\0\0\0\0\0\0\0\0\0\0UUU\3```\10NNN\15UUU\22"
+  "Q]Q\26XXN\32RZR\37WWP#UUU'SYS+WWQ/WWR2UUU6UUU9UUU<VVR>TXT at UYQBTXTCVV"
+  "SDRRNKRRNKVVSDTXTCUYQBTXT at VVR>UUU<UUU9UUU6WWR2WWQ/SYS+UUU'WWP#RZR\37"
+  "XXN\32Q]Q\26UUU\22NNN\15```\10UUU\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1fff\5MMM\12[[[\16UUU\22U"
+  "UU\25R\\R\31R[R\34RZR\37SZS\"SZS%SYS(UUU*WWQ,SYS.WWQ/UUU0SXS1SXS1SXS"
+  "1SXS1UUU0WWQ/SYS.WWQ,UUU*SYS(SZS%SZS\"RZR\37R[R\34R\\R\31UUU\25UUU\22"
+  "[[[\16MMM\12fff\5\377\377\377\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0AAA\0LLL\1[[[\3"
-  "PPP\5YYY\7UUU\11UUU\12UUU\14WWP\16SZS\20WWP\21UUU\23UUU\23UUU\22WWQ\20"
-  "SZS\17WWP\15UUU\14UUU\12UUU\10YYY\6PPP\4[[[\2LLL\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\200\200\200\2fff\5UUU\11UUU\14UUU\17ZZZ\21YYY\24Q]Q\26UUU\30R"
+  "\\R\31UUU\33R[R\34XXO\35XXO\35UUU\36UUU\36XXO\35XXO\35R[R\34UUU\33R\\"
+  "R\31UUU\30Q]Q\26YYY\24ZZZ\21UUU\17UUU\14UUU\11fff\5\200\200\200\2\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\200\200"
+  "\200\2@@@\4fff\5UUU\6mmm\7```\10UUU\11MMM\12MMM\12UUU\11```\10mmm\7U"
+  "UU\6fff\5@@@\4\200\200\200\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
@@ -413,6 +413,8 @@
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0"};
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
 
 


Property changes on: xfce4-dict-plugin/trunk/panel-plugin/inline-icon.h
___________________________________________________________________
Name: svn:keywords
   + Id




More information about the Goodies-commits mailing list